"Rule 2.01-11": Article 2, Chapter 1, and Rule 11 – Keep the Dimension Order consistent. Ensure the dimension order is consistent between modules. Calculations are faster if the common dimensions are in the same order in the “Applies to” section. The size of the list is not as critical as the order. It goes against PERFORMANCE & LOGICAL elements of PLANS if you wish to ignore the dimension ordering
Here is how it was done in Pre Planual Era: There was no proper care and due diligence taken when considering the order of the dimensions in the module. For example, to calculate Revenue we multiply Volumes with Prices.
Data Volume Module – Dimensioned by Products & Customers. Products at first position and Customers second
Data Price Module - Dimensioned by Products & Customers. Customers at first position and Products second
What is wrong with this method? Anaplan assigns indexes to the intersections in the module. Here are the index values for the two modules. Note that some of the intersections are indexed the same for both modules: Customer 1 and Product 1, Customer 2 and Product 2, and Customer 3 and Product 3, and that the remainder of the cells has a different index number. Customer 1 and Product 2 is indexed with the value of 4 in the top module and the value of 2 in the bottom module.
The calculation is Revenue = Price * Volume.
To run the calculation, Anaplan performs the following operations by matching the index values from the two modules.
Since the index values are not aligned, the processor scans the index values to find a match before performing the calculation. Hence impacting performance of the model
Here is how it should be done in Planual Way: Re-order your dimensions to keep it consistent across all modules. Either Product Customer or Customer Product configuration, as long as you keep it in the same order, performance will be greatly improved.
As soon as you re-order Index values for each of the modules will be aligned. As the line-items of the same dimensional structure have an identical layout, the data is laid out linearly in memory. The calculation process accesses memory in a completely linear and predictable way. Anaplan’s microprocessors and memory sub-systems are optimized to recognize this pattern of access and to pre-emptively fetch the required data.
How to Re-order the Dimensions: It’s pretty simple to re-order the dimensions and ensure consistency.
When I first started learning Anaplan I didn't know about the importance of ordering the dimensions for performance, but I used to order them for all modules nonetheless (Time, Version, Hierarchy, Line items). I did it because I wanted to provide a consistent User Experience. (Being OCD is not a bad thing sometimes 😂). I still order the dimensions the same way and not by the order of General List. I don't know if that affects the performance though.
Einas "Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime"
Consistency is the key. It is easier to order them the way @Misbah states by letting the system do it, but if you are the "only" OCD person, then your way will work. The problem is if there are model builders who are not as OCD as you, you can end up running into issues.