I think you may be missing my point. I am advocating putting the finditem() and figuring out the mapping to the Month Name in system module rather than doing the formula in the module with both lists (time as well as month offset). Yes, you still need the lookup in the Time by Month Offset module, but not the mapping of Time to Month Names. If you look at my last picture above, it is resolving to the correct answer (same as yours), but in doing the mapping of the Time to Month Names in a system module, that formula is getting kicked off fewer times, especially when you add more years to the model, which makes the process perform much better.
Additionally, by placing the mapping in a system module, other model builders may need the same mapping which can be easily found in a system module and not hidden away in a Calculation module, thus they will not have to recreate the same functionality.
Thanks @rob_marshall !! I understood the System Time Module now. Just to confirm, though it is called System Time module it is not an inbuilt anaplan module (rather a model builder created module), correct?
This greatly helps me because I have several multiple fake time dimensions (because of the cohort modeling) which have multiple different offsets - say for example, in one case we lookback 365 days and I have a list of 0-365 there. In another case, we look back 1000 days!
Having a common time module and having these calculations does save a lot of redundant calculations. Thanks again.
Yes, the "system" module is just a term we use but it could also be Structure. It is not inherit to they system at all, but helps with mapping, filtering, master/meta data of lists. The one above is based off of Time, where you can do the mapping to the Month Names as well as filter out all quarters or years. Another example could be on the base member of a Product Hierarchy where you are figuring out what the parents are (P3, P2, P1). If you have these in one module, all module builders will know where to get the data instead of recreating the wheel in their own modules.
Again, the main benefits are:
Reduced dimensionality for calucaltions (having the calculation being kicked off more times than needed)
Reduced redundant calculations (having the code of Product or the Time mapping to the Month Name list is done one time instead of many times)
Auditability - makes it easier to find where the data is coming from than in serveral different modules.
Scalability - helps the system scale when larger and larger data/list volumes occur.