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)

A & "_" & B & "_" & C
  • Format: Text
  • 1,000 cells

Fine (three joins)

A & "_" & B & C
  • 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.

Check your model