When working with Distributed Planning architecture (multiple linked Applications), you may need to re-organize your Dimension Lists for governance or simplification purposes. In this article, we are going to explain the 2 main options that Pigment offers: Move and Substitute.
When to use Move or Substitute on Dimension Lists?
Move allows you to simply relocate an existing Dimension to another Application. By doing so, any existing data, formulas, and Views will be updated to reference the new location. Data won't be lost in the original application, the list status changes to shared from the new location. This action moves the list from one Application to another Application, to help with the governance of that list.
For example, if build your FP&A Application, then created a centralized Data Hub. You would want to gather all shared lists, and defined Access Rights, in a single app to control who could edit that list. In this instance, you want to move the Dimension to the centralized Hub. Your data would remain intact in the FP&A Application, because the list is now shared from the Hub.
Substitute allows you to change your model by replacing one Dimension with another one within the Application. This change will take place in all possible references. The substituted list will replace the original list in all Metric Structures, Property data types, Metric data types, Views, and Formulas. By substituting, data stored on this initial dimension will be lost but all references will be updated.
For example, if you created 2 Applications, same as above: FP&A and Hub. In both Applications, you find the same Dimension “Country”. You don’t necessarily want to move the Application from one or another because part of each model already uses this dimension. Moving would require manually updating those Blocks (Views and Formulas). Substituting on the other hand will let you change all references to the first Dimension “Country” to the other one. The action is performed at the Application level, meaning the change will affect the entire Application and the list must come from within the Application.
How to Substitute a List with another list.
Things to know before performing a Substitute action:
Substitute replace all references of a Dimension List to another, there is no partial Substitute possible. That means Metric Structure, Metric Type, Property Type, Views, and Formulas will be impacted.
Warning: You will lose any data inputs in Metrics where the original list is used as a dimension. You will also lose data where the data type is set to the original list. This includes being used as a List property. There might also be formulas errors in specific cases. You can update them manually by accessing the Errors page.
Steps to follow:
Access the General Application settings by clicking Settings from the Sidebar.
Click Substitute Blocks to open a modal.
Using the dropdown, select the Original list and identify the list it is to be replaced with and click Substitute.
This action can not be undone after initiating the substitute.
To learn more about multi-application architecture, check out our Modeling Principles section.