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 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/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).


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

JavaScript errors detected

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

If this problem persists, please contact our support.