-
2.02-16 Use conditionals to stop unnecessary calculations
In multiple conditional statements, try and include a conditional to prevent further referencing in the formula if the condition is satisfied
-
2.02-09 Aggregation rules (ANY, ALL, FIRSTNONBLANK, LASTNONBLANK)
Utilize these summary methods to minimize the use of additional line items and IF statements
-
2.02-07 Use Booleans instead of 1s & 0s
Booleans take up 1/8th of the space as a number, so unless a numeric value is needed use TRUE or FALSE
-
2.02-06 Comparing numbers
It is faster to check A=B rather than A-B=0
-
2.02-02 < 12 expressions in a formula
If it takes you longer than one simple sentence to describe what the formula is doing, it is probably too long. Try not to mix expressions
-
2.02-01 Nested IFs
Avoid using multiple IFs. It is better to split the formula into more line items, use LOOKUPs or alternative constructs Best Practices article: Line Item Subsets Demystified Decreasing the Length of Your Formulas
-
2.01-12 Group formulas with like dimensionality
Create Calculation modules to house sets of line items that use the same dimensionality. Avoid using Subsidiary views Related to Rule: 2.01-06 Avoid using Subsidiary Views Best Practices article: Line Item Subsets Demystified Decreasing the Length of Your Formulas
-
2.01-10 Calculation Modules
Turn off summary options by default. It is better to use SUM for any downstream aggregation if not all levels are needed Exception: 2.01-10a All aggregation levels are needed: If all aggregation levels are needed, then it is faster to use the native aggregation than use SUM formula Related to Rule: 2.03-01 Turn Summary…
-
2.01-08 Each major hierarchy should have a System module
Create a System module to support all standing data and attributes about the hierarchy (all levels). At a minimum have the code and parent as line items Exception: * 2.01-08a: If the hierarchy is not referenced in a formula, as a filter or a selector module on a dashboard then it is not needed Best Practice article: * Best…
-
2.01-07 Time Settings Module
Create all functions and filters relating only to time in separate modules. They will only re-calculate on model opening and when the time settings change It is best practice to use a separate module for each time granularity (e.g. by week, month, quarter, year etc.)
-
2.01-04 Use the DISCO Methodology for Module Design
Within functional areas, group "like" modules together. Design for the type of module and use the appropriate structures Best Practices articles: Best Practices for Module Design Reduce Calculations for Better Performance Formula-Structure-for-Performance
-
1.05-13 Use Flat lists to store Metadata (in a system module)
Avoid having hierarchies in Data Hub; these should only be applicable to the main planning models Related Rule: 5.07-01 No Hierarchies
-
1.02-04 Always move switchover dates forward
Using switchover means the historic periods are effectively cleared out. This does have the benefit of reducing model size as the historic cells are cleared, but switchover should be moved forward only. Moving it backwards will blank out the respective period removing any values that were previously held
-
Improving Model Performance Training Courses
* Introduction to Sparsity (309) * Eliminating Sparsity (310) This set of training classes includes information on improving model performance by understanding and eliminating sparsity. Classes include: Introduction to Sparsity (309) Unnecessary model size has a large impact on your Anaplan environment from using valuable…