Learn more about list issues that might impact your model performance and the actions you can take to fix them.
Does the list use Time as part of the key?
When is this a problem?
This is most often seen in a transactional list when creating a unique value for an item to import to a list.
Why is this a problem?
Thinking about this from a list creation point of view, do you really want to create a new list item for every date, or do you want to create the list item once? If you include Time as part of the key, your list will be unnecessarily large.
How to correct
Dates are data and shouldn't be part of a code. Remove the dates and use time references outside the list.
Related content
- Planual rule: 1.05-11
- OEG best practice: Check out the "Transactional" section of Data Hub Best Practices
Does the list use a combination of properties as a code?
When is this a problem?
Always.
Why is this a problem?
This practice taxes the system and leaves you without a code, making it much harder to map data when importing it to the list.
How to correct
Exception: If there is no code in the source, you'll have to use a combination of properties. This is rare and should always be a last resort. Work with the IT department to have the source system create a unique code.
Related content
- See the exception to Planual rule 1.05-04
Does the list have a code?
When is this a problem?
All lists should have a code.
Why is this a problem?
A code makes loading and using a list more efficient, so it's best practice to include a code, especially for numbered lists.
How to correct
Check source system availability for creating a source code, as this is often possible. If not, you can use Anaplan to create a code.
Related content
Does the list use Properties?
When is this a problem?
This is a problem when the properties don't meet the following use case needs:
- Display Name for numbered lists
- Creating actions using numbered lists
- Export labels
- Facilitating navigation to different dashboards (classic dashboards)
- Creating driver and dependent lists
Why is this a problem?
List properties are the same as line items but have many limitations. List properties add to the overall size of the list upon load. It's easier to write formulas in modules using line items than it is to write formulas using list properties. There isn't an easy way to control the summary of properties. It's best to keep it simple. When possible, include these as line items rather than properties. This keeps the calculations in one place in the module.
How to correct
A systems module that includes properties allows you to store the data in a central location that other model builders can use. A list is the same, but keeping them in a module makes it easier to write formulas and control how they're summarized. To create the systems module, first, create a new list that includes the properties. Then, create a module that includes the list to which the properties should be applied. Format the line items using the list format and selecting the property list.
Related content
- Planual rule: 1.05-03
Are there subsets on larger lists?
When is this a problem?
This is a problem when large lists include subsets.
Why is this a problem?
Large lists that include subsets can cause performance problems. They add aggregations and add to the overall size of the model.
How to correct
Instead of a subset, create a separate list.
Related content
- Planual rule: 1.06-02
Does the subset list follow proper naming conventions?
When is this a problem?
Naming conventions should be used for all subset lists.
Why is this a problem?
Subset lists that don't use naming conventions can cause confusion. Without proper naming conventions, it can be difficult to determine which list the subset belongs to. This becomes more important when using the subset during the creation of a module.
How to correct
Use these guidelines when developing a naming convention for subsets:
- Add a prefix to indicate that a list is a subset of a larger list.
- Include the name of the list where the subset is defined.
- Use a colon followed by a brief description of the subset.
Related content
- Planual rule: 1.06-01
- Anapedia: Name conventions
Does the list include a top level when it's not necessary?
When is this a problem?
When you have an unnecessary top level on a list that doesn't need to be summarized. Examples include a transaction list, currency list, or any other list you are using for an indicator where you don't need to see a top level or summary.
Why is this a problem?
When you have an unnecessary top level on a list, the engine runs calculations and recalculations that can cause a decrease in performance. This happens when summary settings are left on. Any change in a value will cause a recalculation for the summary on the top level.
How to correct
Remove the parent of all from the list.
Related content
- Planual rules: 1.05-05; 1.05-06; and 1.05-07
- Training: Understanding Top Level
- Best practice: Top Level Item and Parent Hierarchy