Skip to main content
Skip table of contents

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 + 1 or - 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 level values

  • If you used FILTER(...) with explicit level values like ["EMEA", "APAC"], confirm:

    • labels match exactly (spelling/case)

    • the referenced dimension/level is correct

  • Test with a single level value 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/NONSIM behavior 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).


Still in trouble?

Contact Valsight Customer Support
support@valsight.com


Related sections

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.