Learn more about module issues that might impact your model performance and the actions you can take to fix them.
What dimensions are used in the module? Are they all necessary?
When is this a problem?
This is a problem when you have unnecessary dimensions—meaning that the logic or data in the module doesn't apply to the dimension.
Why is this a problem?
Unnecessary dimensions in a module could cause poor performance from a formula having to perform unnecessary calculations and increasing the size of the model. It can also hinder the end-user experience by causing them to have to use unnecessary context selectors, which can lead to confusion or cause extra difficulty trying to get to their desired view.
How to correct
Remove the unnecessary dimensions. This could cause your formulas to become invalid and cause an error. If this is the case, set your format to No Data, remove the dimension, update your formula, and then reset the format. You may have to modify downstream line items if they use the current line item as a mapping or variable.
Related content
- Training: Model Size and Dimensionality
- Community blog: The Truth About Sparsity: Part 1
What time dimensions are being used in the module? Can a Time Range be used?
When is this a problem?
This is a problem in models where the time requirements of the module differ from the Model Calendar. This could mean that the year requirements are outside the model calendar or don't need all of the years in the model calendar. It's also a problem to include unnecessary time summary settings.
Why is this a problem?
The model quickly becomes very large.
How to correct
Identify the requirements and build a proper time range to account for this. Remember: Time ranges won't dynamically update when you adjust your current fiscal year. Be sure and have an end-of-year process to update your time ranges.
Related content
- Training: Introduction to Time Ranges
Are the dimensions in order?
When is this a problem?
This is a problem in all models. During a model build, lists are organized in the way that they are added.
Why is this a problem?
Through research, we've discovered that dimensions that aren't in order can make the engine work harder.
How to correct
On the Modules pane (Model Settings>Modules) look for lists that aren't in order in the Applies To column. Select the Applies To row that you want to re-order, then select the ellipsis. In the Select Lists dialog, select OK. In the Confirm dialog, select OK.
Related content
- OEG best practice: Dimension Order
If there are any saved views, do they use the correct filtering?
When is this a problem?
This is a problem when saved views use multiple filters per tab.
Why is this a problem?
Multiple filters on a tab can cause performance issues. The data is read for the first filter, then those results are read for the next filter, etc.
How to correct
Filters should be set up using Boolean values and have only one line item filtering each dimension. If you need to, consolidate filtering line items into one line item. Be sure to use the Notes section to identify that this line item is used in a filter.
Related content
- Training: Filtering Best Practices
If there are saved views, are all of the line items in the view necessary?
When is this a problem?
This is a problem when the view includes line items that aren't needed.
Why is this a problem?
The extra line items can impact performance because the view has to render the extra line items. For example, if three line items are needed, but 25 line items are defined, performance will be impacted.
How to correct
Remove line items that aren't needed. Use Show on desired columns, instead of Hide on non-desired columns, so new line items aren't added to the saved view.
Is the default view clean?
When is this a problem?
This is a problem when the default view has filters applied, hidden list or line items, or includes conditional formatting or sorting.
Why is this a problem?
The default view of the module should always be a blank canvas for any model builder to modify. The expectation is that nothing is hidden or modified.
How to correct
Sorting, Filtering, and conditional formatting can be seen in the module toolbar and can be easily identified and changed. To view hidden list or line items, use Show All Rows or Show All Columns to fix this. Keep in mind, you may have hidden list or line items in your Page Selectors. Use the "pivot to" view to fix this.
Related content
- Planual rule: 2.04-03