Performance
Long text join
Every & join builds a new text value in every cell, so build a long join once, in the smallest module that has the lists it needs.
What MaxCheck detects
A concatenation chain with 4 or more & joins, in a line item of 1,000 cells or more. Joins in different IF branches are counted per branch, an IF inside a chain adds its longest branch, and joins inside function arguments count as their own chain.
Why it hurts
Every join builds a new text value in every cell, and text is the most expensive format in memory and calculation.
Example
Taken from the rule's own test cases: formulas it must flag, and formulas it must not.
WarningFlags this(four joins)
- Format: Text
- 1,000 cells
Fine (three joins)
- Format: Text
- 5,000 cells
How to fix
Build the join once, in the smallest module that has the lists it needs (a code by Company in a Company module, not by Company, Product and Month), and reference it. Split a long join into a few steps.
- Severity
- WarningCounts toward the area score.
- Area
- Performance
- Runs in
- Basic and full check
- Rule ID
- P_TEXTJOIN
- Version
- Rule 1.0.0, rule set 1.4.0
- Planual
- 2.02-04 Concatenate text strings with cautionon Anaplan's Formulas page
Does your model do this?
Upload the line-items blueprint. This rule runs in the basic check, in your browser, with no email.