Performance

FINDITEM without a blank check

FINDITEM still searches the list when the text is blank, so guard it with IF ISBLANK(Code) THEN BLANK ELSE FINDITEM(List, Code).

What MaxCheck detects

FINDITEM in a line item of 1,000,000 cells or more, with no IF around it that tests the searched text for blank (ISBLANK, ISNOTBLANK, = "" or a test on the same name), and no earlier ISBLANK or ISNOTBLANK of that text in an AND or OR. Text that can't be blank (a literal, CODE or NAME of ITEM) is skipped.

Why it hurts

FINDITEM on a blank value still searches the list before it returns blank. When most cells are blank, most of that work is wasted.

Example

Taken from the rule's own test cases: formulas it must flag, and formulas it must not.

HintFlags this(unguarded)

FINDITEM(Products, Product Code)
  • Format: List: Products
  • 2,000,000 cells

Fine (ISBLANK guard)

IF ISBLANK(Product Code) THEN BLANK ELSE FINDITEM(Products, Product Code)
  • Format: List: Products
  • 2,000,000 cells

How to fix

Guard it: IF ISBLANK(Code) THEN BLANK ELSE FINDITEM(List, Code).

Severity
HintShown in the report. Hints never count toward a score.
Area
Performance
Runs in
Basic and full check
Rule ID
P_FINDITEMBLANK
Version
Rule 1.0.0, rule set 1.4.0
Planual
2.02-15 Avoid using FINDITEM on blank valueson 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