Skip to content

Troubleshooting ​

Start with the editor's Problems tab and the One row view: it shows the formula with the row's actual values filled in, which explains most surprises.

Problems tab

Error messages ​

MessageUsual causeFix
Missing operator between {[A]} and {[B]}Two fields next to each other, e.g. clicked one after the other in the Fields listPut an operator or comma between them: {[A]} + {[B]}
Unexpected field, an operator or comma is probably missing before itA value right before a field, e.g. 5 {[A]}Add the missing operator: 5 * {[A]}
Unexpected token / missing ) after argument listUnbalanced brackets or quotesUse Format, or check that every (, [, { and ' is closed
... is not definedA misspelt function or variable (sum instead of Sum, row.Hours outside a function)Check the spelling. Names are case-sensitive
Cannot read properties of null (reading 'x')A value is empty: a missing lookup, an empty dateUse ?. and ??: Rows.find(...)?.Rate ?? 0
Invalid DateTime / empty date resultDateTime.fromISO received an empty value or a non-ISO textGuard it: {[Date]} ? DateTime.fromISO({[Date]}) : null
Cannot assign to read only property / sort failsSorting or changing reference dataCopy first: [...{[Tasks_MergedData_]}].sort(...)
Circular reference detectedFields that use each other in a loopBreak the loop. The dialog won't save a field that refers to itself
Warning: field not foundA token for a field that was renamed or deleted, or a snippet placeholder like {[Value]}Replace the token by clicking the right field

Wrong results without an error ​

SymptomCauseFix
Result is 0 or empty although matching child rows existKey types differ: number 1 vs text "1"Rows.filter(ref, 'ProjectNo', Number({[ProjectNo]})) or String(...)
Sum gives 0 / too littleNumbers stored as text are skippedSum({[Amount]}.map(Number))
Aggregated value differs between the editor and the dashboardThe editor uses the top 10 preview rowsSwitch on Disable data preview limit in the designer, see Preview uses sample rows
KPI doesn't change when a dashboard filter is appliedAggregated fields are calculated before dashboard filters, by designFilter in the data source, or put the condition in the formula with SumIf
Conditional total looks randomSumIf given lists from different sources ({[Tasks_Hours]} with {[Status]})Use lists from the same source: {[Tasks_Hours]} with {[Tasks_Status]}
Number shows as text, or doesn't sort numericallyColumn type is Single Line of TextSet the type to Number
Child dynamic column is missing in the reference rowsIts property name is internal (column_...), not the display nameInsert it from the expanded All rows (reference) list

Performance ​

If a data source with Reference only children loads slowly:

  1. Replace .filter(...), .find(...) and SumIf over reference data with Rows.filter / Rows.find / Rows.sum (why).
  2. Limit the child data source with a filter or a smaller row limit. It's always loaded in full.
  3. Avoid sorting a copy of the whole reference list in every row. Rows.max / Rows.min are calculated once.

Still stuck? ​

Send the Sintel BI team the formula, the column type and a screenshot of the One row view of a failing row.