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 explain the two main options that Pigment offers: Move and Substitute. This feature only works on Dimensions and does not work for Transactions Lists.
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 are 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, let’s imagine you build your Financial Planning & Analysis (FP&A) Application, then create a centralized data hub. You would want to gather all shared Lists, and defined Access Rights, in a single Application 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 takes place in all possible references. The substituted List replaces the original List in all Metric Structures, Property data types, Metric data types, Views, and Formulas. By substituting, data stored on this initial Dimension is lost but all references are updated.
For example, if you create two 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 requires manually updating those Blocks (Views and Formulas). Substituting on the other hand lets you change all references to the first Dimension “Country” to the other one. The action is performed at the Application level, meaning the change affects the entire Application and the List must come from within the Application.
How to substitute a List with another list
Substitute replaces all references of a Dimension List with another. There is no partial Substitute possible. That means Metric Structure, Metric Type, Property Type, Views, and Formulas are impacted.
🛡️ Warning
You lose any data inputs in Metrics where the original list is used as a Dimension. You 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 formula 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 dialog.
Using the dropdown, select the original List and identify the List it is to be replaced with and click Substitute.
🛡️ Warning
This action can not be undone after initiating the substitute.
To learn more about multi-Application architecture, check out our Modeling Principles section.