Troubleshooting guide
Outcome
By the end of this guide, you can identify why a node formula returns unexpected results (empty values, wrong granularity, or wrong numbers) and fix the issue with a structured checklist.
Prerequisites
You have access to the Model Editor
You can edit the node’s formula in the Function Editor
Steps
1. Fix syntax and validation issues first
If the editor shows a validation or syntax error, resolve that before troubleshooting logic.
Re-check the Data preview after the error is resolved.
2. Define what “correct” looks like (before editing)
Have two things ready:
One spot-check value: a specific intersection you expect to be correct.
Expected output shape: which dimensions/levels should be present.
3. Confirm the symptom in Data preview
Classify the issue as one of the following:
Symptom: Empty output (values missing where you expect data) → Go to: Step 8, then Step 9
Symptom: Wrong shape (too aggregated or too granular) → Go to: Step 5, then Step 6
Symptom: Wrong numbers (shape looks right, values don’t) → Go to: Step 4, then Step 7
4. Isolate where the issue starts
Temporarily simplify the formula:
start with a single node reference (e.g.,
'Sales')then add parts back one by one
If the formula is large, move parts into helper nodes to inspect intermediate results or wrap and comment them out via
#
5. Fix “wrong shape” first (dimensions and levels)
First check whether the connected data sources have the dimensionality you expect.
If the result is too aggregated:
make aggregation explicit (for example with
ROLLUP) instead of relying on implicit behavior.
If the result is too granular:
check for reshaping functions (
EXPAND,EXPANDSINGLE)check whether
*or/introduced expansion when inputs have different dimensionality.
6. Check operator alignment when combining nodes
+and-typically align to shared dimensions (rolling up).*and/typically apply across the combined dimension set (expanding).If the output shape changes right after adding an operator, the operator is the likely cause.
7. Check constants (0-dimensional numbers)
If you add/subtract constants like
+ 1or- 100000, verify whether the result becomes unexpectedly aggregated.If you intended an element-wise adjustment, use
ADDEACH(...)instead of relying on raw constants.
8. If the output is empty, check filters and member labels
If you used
FILTER(...)with explicit members like["EMEA", "APAC"], confirm:labels match exactly (spelling/case)
the referenced dimension/level is correct
Test with a single member first, then expand the list.
9. Check missing vs zero
If values disappear after comparisons, filtering, or join-like logic:
check whether one input is missing where the other has values at the same intersections.
If results differ from what you expect due to assumptions/scenarios:
verify whether assumptions are applied upstream and whether you need
BASELINE/NONSIMbehavior for validation.
10. Re-validate with two spot checks
Pick two representative intersections (e.g., one Product and one Month).
Confirm:
the shape is correct
the numbers match expectation
11. Harden the final formula
Split complex logic into helper nodes if it improves readability.
Add short
#comments that capture intent (why this is done, not what the syntax is).
Result
Your node produces expected values at the intended dimensionality, and you can explain where alignment, reshaping, filtering, or constants affect the output.
Still in trouble?
Contact Valsight Customer Support
support@valsight.com
Related sections
Formula basics syntax rules, constants, and how formulas evaluate
Operators arithmetic, comparisons, and alignment behavior
Function catalog A–Z index and categories for detailed behavior
Browse by category choose the right function family by intent