Did you know that that way you write your rule could impact the performance of the model in IBM Planning Analytics?
There are three parts to a rule. The area definition describes the section of the cube to which the rule will apply. The qualifier allows formulas to be restricted to base level numbers, consolidated, numbers or string values. And the formula defines how the components will be calculated.
Sometimes I am asked about the best approach to use when creating a rule for a single intersection. For example, assume that I want to create a rule that populates January’s Actual value for account 40000 to the number 99. One approach that will perform this calculation is:
[‘Actual’, ‘40000’] = N: IF (Month = ‘January’, 99, CONTINUE)
This rule defines the Actual scenario and account within the area definition and then uses an IF statement to check the month. While functional, this rule requires the model to look at every month to determine when to populate the number 99 into the cube. This means that the rule is checking at least 12 values to simply populate one of them.
Another way to write the same rule is:
[‘Actual’, ‘40000’, ‘January’] = N: 99
This approach performs the same calculation but doesn’t require the system to look at all of the months since January is defined in the area definition. This is a more efficient way to perform the same calculation.
Proper use of the area definition can make your rules more efficient and can therefore optimize your existing models and calculations.
IBM Planning Analytics is full of new features and functionality. Not sure where to start? Our team here at Revelwood can help. Contact us for more information at info@revelwood.com. And stay tuned for more Planning Analytics Tips & Tricks weekly in our Knowledge Center and in upcoming newsletters!
Read more IBM Planning Analytics Tips & Tricks:
IBM Planning Analytics Tips & Tricks: Cleaning up Your TM1 Environment
IBM Planning Analytics Tips & Tricks: Regions with Planning Analytics Rules
IBM Planning Analytics Tips & Tricks: False Options within an IF Statement