This article is part of a series on Polaris best practices. Click here to learn more.
This article introduces the idea of Populated vs Empty Space and outlines why it is a key factor to keep in mind when building in the Polaris engine.
Populated Space defined
Polaris only requires memory for populated cells in a model. A populated cell is any cell that has a value other than the default value. This is the Populated Space.
CenterMediumAccessibilityDelete
Populated space is comprised of all populated cells. In Polaris, multi-dimensional empty space doesn’t matter. Polaris ignores empty space from a memory and calculation standpoint. It’s populated space that matters. Increasing the size of a dimension won’t increase the amount of memory used or calculation effort required – as long as your populated space does not change! This means that you’re more likely to be constrained by calculation time than by the multi-dimensional size of the model, allowing for greater dimensionality and granularity with sparse datasets.
An example of Populated vs. Empty Space
This first screenshot shows a module with ten different cost centers. These might be the cost center families or the cost center groupings. We also have some data across all ten of the cost centers.
CenterLargeAccessibilityDelete
In our second module we’ve got a hundred thousand cost centers. These might be the detailed level cost centers across your entire enterprise. We’ve got the same data in both modules. This creates the same populated space.
CenterLargeAccessibilityDelete
Let’s take a look at these in the blueprint view:
In the blueprint view for the module with ten cost centers, we can see that there are 143 cells in the overall dimensional space, however only 12, 12, and 23 total populated cells. That is the populated space.
CenterLargeAccessibilityDelete
Now look at the blueprint view for the module that has 100,000 cost centers. While the dimensional space is much larger at 1.3 million cells, the populated space is again 12, 12, and 23 cells. Calculation effort, calculation types, and memory are all the same between these two examples.
CenterLargeAccessibilityDelete
In summary, think through the natural dimensions of your planning process and model with those dimensions, keeping in mind what your populated space will be.
Remember: In Polaris, it’s the Populated Space that matters, not the multi-dimensional empty space.
Video
This concept is also explained in the following video:
https://play.vidyard.com/6oQGS2iX9TFwQB8Zkqo8Wk
Delete
……………..
Authors: Anaplan’s Theresa Reid (@TheresaR@TheresaR), Architecture and Performance Director; Stephen Rituper (@Stephen@Stephen), Sr. Director, OEG; and Terry Archsmith (@TerryA@TerryA), Sr. Director, Platform Training.