Sustainable

Hard-coded time period

A formula that names a period such as TIME.'Dec 24' silently reads the wrong period when the model rolls forward.

What MaxCheck detects

A formula that names a specific period, such as TIME.'Dec 24' or TIME.FY24, in a SELECT or anywhere else. One finding per line item, naming the periods. TIME.'All Periods' is allowed.

Why it hurts

The formula is tied to one point in the calendar. When the model rolls forward it silently reads the wrong period, or breaks when the period leaves the timeline.

Example

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

WarningFlags this(SELECT a month)

Revenue[SELECT: TIME.'Dec 24']

Fine (All Periods)

Revenue[SELECT: TIME.'All Periods']

How to fix

Hold the period in a time-formatted line item in a settings module and use LOOKUP: with it, or use a relative function such as PREVIOUS, OFFSET or CURRENTPERIODSTART().

Severity
WarningCounts toward the area score.
Area
Sustainable
Runs in
Basic and full check
Rule ID
S_HARDCODEDTIME
Version
Rule 1.0.0, rule set 1.4.0

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