Catalog Framework
- 1 What is the Catalog Framework
- 2 Catalog Settings
- 3 Defining a Catalog
- 3.1 Add a new collection
- 3.2 Adding a new catalog
- 3.3 Order
- 3.4 Type
- 3.5 Action, Object and Filter
- 3.5.1 CHO - Chores
- 3.5.2 CUB - Cube and cube data.
- 3.5.3 DIM - Dimensions
- 3.5.4 ELE - Element
- 3.5.5 EXE - Execute Process
- 3.5.6 FIL- File
- 3.5.7 RUX- Rule
- 3.5.8 VUE - Views
- 3.5.9 SUB - Subsets
- 3.6 Clearing an Item
- 3.6.1 Copying
- 3.6.2 Copying within a catalog
- 3.6.3 Copying another catalog
- 3.7 Renaming Catalogs and Collections
- 3.7.1 Renaming a Catalog
- 3.7.2 Rename a Collection
- 3.8 Deleting Catalogs and Collections
- 3.8.1 Deleting a Catalog
- 3.8.2 Deleting a Collection
- 4 Exporting the Catalog
- 5 Importing a Catalog
- 6 Trouble Shooting
What is the Catalog Framework
Catalogs play a crucial role in migrating changes between Apliqo FPM models. Here’s how it works:
Definition: A catalog is essentially a container that captures the specific changes you want to implement in the target instance. It acts as a blueprint for the modifications you need to make.
Export Process: Once you’ve defined the necessary changes in the catalog, they are exported from the source instance to a designated folder on the source instance’s file system.
Import Process: The changes in the catalog can be imported into the target instance from a designated folder.
Catalogs are organized into Collections. These collections serve as a sequence of catalogs that must be exported or imported in a specific order to achieve larger changes in the target system. Additionally, collections can be used as a means of grouping similar catalogs together.
The Catalog User Interface (UI) can be accessed through the following path: Administration > Catalog. On this page you can define, export, import catalogs and collections.
Catalog Settings
Before using the Catalog Framework, please make sure the settings are correct for your environment. The settings can be view on the Settings tab. The Apliqo FPM Settings are the global Apliqo FPM settings used by the Catalog Framework.
There are also specific settings for the Catalog Framework.
Catalog File Path: The Catalog File Path refers to the root directory where all catalogs are exported to. When exporting a catalog, the folder for the Collection and then Catalog is added to the Catalog File Path. For example, if the Catalog File Path was: c:\TM1 Model\Apliqo FPM\Catalog\. I was exporting the FP2024.01.01 catalog which is part of the Patch Collection. The full file path for the catalog when exporting or importing the catalog, would be c:\TM1 Model\Apliqo FPM\Catalog\patch\FP2024.01.01.
The Catalog Framework uses Bedrock processes to export, clear and import data. To export or clear a slice of data from a cube you need to define a Filter. A Filter is divided into parts. The first part is the dimension and the elements that are to be part of the filter. For example, to define a filter that exports the data associated with Actual and Budget elements in the Version dimension would be stated as: Version :: Actual ++ Budget. Where the ‘::’ is the Element List settings and ‘++’ is the Element Separator setting. Add to the filter to export only the data associated with the year 2024, the updated Filter statement would now be: Version :: Actual ++ Budget && Year :: 2024. Where the ‘&&’ separate the dimension and elements set using the Dimension Element Set settings. These settings can be changed depending on the dimensions name and metadata in your specific model.
To reduce file sizes and processing time, the data can be filtered to exclude certain types of data.
When the Suppress Zeros has the value 1. Null data will be excluded from the file. Generally, null data is a zero or blank string values in the data point. When the data is loaded it is assumed data slice is cleared first and the non-null data incrementally loaded. Therefore, the file does not need to contain null data.
When the Suppress Consolidations has the value 1. Numeric data that is the result of a consolidated element is excluded from the file. The Suppress Consolidations parameter affects the how filter statement is interpreted. If the Suppress Consolidations has value 1 and a consolidated element is specified in the filter, the leaf ancestors of the consolidation will be added to the slice data being exported. If the Suppress Consolidations has value 0 and a consolidated element is specified in the filter, only the consolidated element will be added to the slice data being exported.
When the Suppress Strings has the value 1. String data that is enter against a consolidated element is excluded from the file.
When the Suppress Rules has the value 1. Calculated data points are excluded from the file. If data is loaded into a calculated datapoint, it is disregarded.
The field separator and field quote characters can be set in the File Delimiter and File Quote settings respectively. So that these characters are not confused with the data being exported, non-printable characters are used by default. These are expressed using their ASCII code. These characters can be changed if there is any confusion in the local environment.
The Catalog Framework can execute processes when exporting or importing a catalog. When executing a process, a process parameter value can be passed to the process being executed. For example, a process has parameter, pDim that determines the dimension that the process should use. To specify the process should use the Version dimension, the Filter passed to the process would be: pDim :: Version. Where the ‘::’ is the Parameter Separator that separates the parameter from the parameter value. If more than one parameter is to be specified, then the parameter set is separated by the Parameter Set setting.
The default settings should work in most cases. These settings can be changed for any item in a catalog.
Defining a Catalog
Add a new collection
To add a Collection, click on the Collection tab. Click on the Add Collection button. In the popup, enter a description for the new collection. This will be used at the collection’s folder name on the file system.
Adding a new catalog
To add a Catalog, click on the Add Catalog button. Select the collection the catalog is to be part of. Give the catalog a description. This will be used at the catalog’s folder name on the file system.
Order
The Order specifies the sequence in which catalog items are to be executed during when exporting or importing the catalog. If the Order is the same for two or more items, the Item Number determines the order.
Tip: When first defining catalog it helpful to separate the Order in increments of 10. This allows you to easily add items and change to order for parts of the catalog.
The Order can be change for a number of items. Select the items to be change. Click on the Change Index button. In the popup, specify the Action and the Index to be applied. The Order can be increased or decreased by a number of indexes or changed to specific index.
When exporting or importing a catalog, the process catalog twice. On the first pass, it processes metadata changes. On the second pass, it handles data changes.
Type
Type is for the type of TM1 object that is being added to the catalog. The type determines the Action, Object and Filter that can be performed when importing or exporting the catalog. The Types are:
Type | Object |
---|---|
CHO | Chore. |
CUB | Cube and cube data. |
DIM | Dimension. |
ELE | Element. |
EXE | Execute a process when exporting or importing the catalog. |
FIL | Copy a file to or from the Export or SourceData folder. |
PRO | Copy/delete/… a process to the data folder. |
RUX | Change a cube’s rule. |
SUB | Copy/delete a subset from the data folder. |
VUE | Copy/delete a view from the data folder. |
Action, Object and Filter
The Action, Object and Filter depend on the Type selected. For some Types, additional popups become available to provide more information,
CHO - Chores
Catalog items that have the CHO type can have the following actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
E | The chore exists when importing the catalog. If chore does not exist, the chore file is copied to the data folder. Requires a restart of the instance for the change take effect. | Chore | not used | The .cho file is copied to the catalog. | The .cho file is copied to the data folder. |
D | Deletes the chore from the data folder. Requires a restart of the instance for the change to take effect. | Chore | not used | no action | Deletes the .cho file from the data folder. |
R | Replaces or adds the chore when importing the catalog. Requires a restart of the instance for the changes in the chore to take effect. | Chore | not used | The .cho file is copied to the catalog. | The .cho file is copied to the data folder. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
CUB - Cube and cube data.
Catalog items that have the CUB type can perform the following actions that affect the cube.
Action | Meaning | Object | Filter* | Export | Import |
---|---|---|---|---|---|
E | The cube exists when importing the catalog. If the cube does not exist, the cube is built from the catalog. If the cube’s dimensions do not exist, then those dimensions that do not exist are built from the catalog. | Cube | not used | Exports the cube structure and related cube security, properties and related framework data. Exports dimension definition and related dimension security, properties and related framework data for the dimensions that make up the cube. Exports the cube rules. | Checks if the cube exists. If the cube does not exist, builds the cube from the catalog and updates the cube security, properties and the framework. Applies the cube rules to the cube. |
R | Replaces the cube when importing the catalog. The cube is built from the catalog. If the cube’s dimensions do not exist, then the dimension is built from the catalog. | Cube | not used | Exports the cube structure and related cube security, properties and related framework data. Exports dimension definition and related dimension security, properties and related framework data for the dimensions that make up the cube. Exports the cube rules. | Deletes the cube if it exists. Add the from the catalog and updates the cube security, properties and the framework. Applies the cube rules to the cube. |
D | Deletes the cube when importing. | Cube | not used | no action | Deletes the cube. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
The following actions check that the cube exists. If the cube does not exist, the cube is built from the catalog. If the cube’s dimensions do not exist, then those dimensions that do not exist are built from the catalog. Once the cube has been built, the data is changed as specified by the Action.
Action | Meaning | Object | Filter* | Export | Import |
---|---|---|---|---|---|
EC | Clears the cube data as specified by the filter. | Cube | The area of cube to be cleared. | no action | Clears the data as specified by the filter. |
ER | Clears the cube data as specified by the filter. Loads the data from the catalog. | Cube | The area of cube to be cleared and reloaded. Suppress Zeros, Suppress Consolidations, Suppress Rule and Suppress Consolidated Strings can be specified. A file suffix can be specified for multiple exports of data from the same cube. | Exports the data to the catalog as determine by the filter and data settings to a file. | Clears the data as specified by the filter. Loads the data from the catalog. |
EU | Incrementally loads the data from the catalog. | Cube | The area data loaded. Suppress Zeros, Suppress Consolidations, Suppress Rule and Suppress Consolidated Strings can be specified. A file suffix can be specified for multiple exports of data from the same cube. | Exports the data to the catalog, as determine by the filter. | Loads the data from the catalog. |
RR | Deletes and rebuilds the cube from the catalog. Reloads the cube from the catalog. | Cube | not used | Exports the cube structure and related cube security, properties and related framework data. Exports dimension definition and related dimension security, properties and related framework data for the dimensions that make up the cube. Exports the cube rules. Exports the data from the cube. | Deletes the cube if it exists. Add the from the catalog and updates the cube security, properties and the framework. Applies the cube rules to the cube. Loads the data from the catalog. |
The following actions do not check that the cube exists. If the cube does not exist, the step is skipped.
Action | Meaning | Object | Filter* | Export | Import |
---|---|---|---|---|---|
SC | Clears the cube data as specified by the filter. | Cube | The area of cube to be cleared. | no action | Clears the data as specified by the filter. |
SR | Clears the cube data as specified by the filter. Loads the data from the catalog. | Cube | The area of cube to be cleared and reloaded. Suppress Zeros, Suppress Consolidations, Suppress Rule and Suppress Consolidated Strings can be specified. A file suffix can be specified for multiple exports of data from the same cube. | Exports the data to the catalog as determine by the filter. | Clears the data as specified by the filter. Loads the data from the catalog. |
SU | Incrementally loads the data from the catalog. | Cube | The area data loaded. Suppress Zeros, Suppress Consolidations, Suppress Rule and Suppress Consolidated Strings can be specified. A file suffix can be specified for multiple exports of data from the same cube. | Exports the data to the catalog, as determine by the filter. | Loads the data from the catalog. |
The Filter is defined in the cube popup which comes available when the Action and Object (Cube) is selected. In popup:
In the Settings widget, at the top, are the Settings for the Item. Any setting that is left blank, the default setting is used. See the Catalog Settings above for more information.
In the bottom widget, you’ll find the dimensions of the cube. To filter the data of the cube that is to be exported, select an element from the drop-down list. Up to 3 element can be selected for any dimension. If more that 3 elements need to be selected, the elements can be typed into the Element n column. Remember to separate each element with the Element Separator. Close the popup,
DIM - Dimensions
Catalog items that have the DIM type can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
C | Create the dimension or hierarchy if it does exist. | Dimension | (Optional) Hierarchy | no action | If the dimension or hierarchy does not exist, adds an empty dimension or hierarchy. |
D | Delete the dimension or hierarchy from the model | Dimension | (Optional) Hierarchy | no action | The dimension or hierarchy is deleted from the model. |
E | If dimension or hierarchy does not exist when importing, the dimension or hierarchy is created. | Dimension | (Optional) Hierarchy | Exports the dimension or hierarchy definition to the catalog. | Adds the dimension or hierarchy from the catalog. |
R | Replaces the dimension or hierarchy from the catalog. | Dimension | (Optional) Hierarchy | Exports the dimension or hierarchy definition to the catalog. | Deletes the elements from the dimension or hierarchy then adds the dimension or hierarchy from the catalog. |
U | Unwinds to the dimension or hierarchy before rebuilding the dimension or hierarchy from the catalog. | Dimension | (Optional) Hierarchy | Exports the dimension or hierarchy definition to the catalog. | Unwinds the elements from the dimension or hierarchy then adds the dimension or hierarchy from the catalog. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
ELE - Element
Catalog items that have the ELE type can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
UC | Unwind the components of a consolidation. | Dimension | Consolidated element | no action | Unwinds the components of the consolidation. |
UR | Unwind the ancestors of a consolidation. (Recursive unwind) | Dimension | Consolidated element | no action | Recursively unwinds the components of the consolidation to the leaf elements. |
D | Delete the element from the dimension. | Dimension | Element | no action | Deletes the element from the dimension. |
DA | Delete ALL elements from the dimension. | Dimension | not used | no action | Deletes ALL the elements from the dimension. |
R | Deletes the element from the dimension then adds the element to the element’s parents. Add the element’s components for the dimension’s elements. | Dimension | Element | Export the element definition to the catalog. | Rebuild the element in the dimension from the catalog definition. |
AC | Add a consolidated element to the dimension. | Dimension | Element | no action | Add a consolidated element to the dimension. |
AN | Add a numeric element to the dimension. | Dimension | Element | no action | Add a numeric element to the dimension. |
AS | Add a string element to the dimension. | Dimension | Element | no action | Add a string element to the dimension. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
EXE - Execute Process
Catalog items that have the EXE type can perform the following Actions.
Action | Meaning | Object | Filter* | Export | Import |
---|---|---|---|---|---|
EME | Execute the process in the metedata phase when exporting the catalog. | Process | Process parameters. | Execute the process using the parameters provided. | no action. |
EDE | Execute the process in the data phase when exporting the catalog. | Process | Process parameters. | Execute the process using the parameters provided. | no action. |
EMI | Execute the process in the metedata phase when importing the catalog. | Process | Process parameters. | no action. | Execute the process using the parameters provided. |
EDI | Execute the process in the data phase when importing the catalog. | Process | Process parameters. | no action. | Execute the process using the parameters provided. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
The Filter is defined in the process popup which comes available when the Action and Object (Process) is selected. In popup:
In the Settings widget, at the top, are the Settings for the Item. Any setting that is left blank, the default setting is used. See the Catalog Settings above for more information.
In the bottom widget, you’ll find the parameters of the process. Enter the Parameter Value to be used when running the process. The parameter Default Value is used when the parameter is left blank.
FIL- File
Catalog items that have the FIL type can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
ES | Copy a file from the Export folder to the SourceData folder. | File Name | not used | Copy the file from the export folder to the catalog. | Copy the file from the catalog to the SourceData folder. |
EE | Copy a file from the Export folder to the Export folder. | File Name | not used | Copy the file from the export folder to the catalog. | Copy the file from the catalog to the Export folder. |
SS | Copy a file from the SourceData folder to the SourceData folder. | File Name | not used | Copy the file from the SourceData folder to the catalog. | Copy the file from the catalog to the SourceData folder. |
SE | Copy a file from the SourceData folder to the Export folder. | File Name | not used | Copy the file from the SourceData folder to the catalog. | Copy the file from the catalog to the Ex folder. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
RUX- Rule
Catalog items that have the RUX type can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
R | Update the cube rules. | Cube | not used | Export the cube rules to the catalog. | Load the rules to cube. |
D | Delete the cube rules. | Cube | not used | no action | Delete the cube’s rules. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
VUE - Views
Catalog items that have the VUE type can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
E | Checks if the view exists when importing the catalog. If view does not exist, the view file is copied to the data folder. Requires a restart of the instance for the changes to take effect. | Cube | View | The .vue file is copied to the catalog. | The .vue file is copied to the data folder. |
D | Deletes the view. | Cube | View | no action | Deletes the view. |
R | Deletes then adds the view when importing the catalog. Requires a restart of the instance for the changes in the chore to take effect. | Cube | View | The .vue file is copied to the catalog. | The view is deleted. The .vue file is copied to the data folder. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
SUB - Subsets
Catalog items that have the SUB can perform the following Actions.
Action | Meaning | Object | Filter | Export | Import |
---|---|---|---|---|---|
E | Check if the subset exists when importing the catalog. If the subset does not exist, the subset file is copied to the data folder. Requires a restart of the instance for the changes to take effect. | Dimension | Subset | The .sub file is copied to the catalog. | The .sub file is copied to the data folder. |
R | Deletes then adds the subset when importing the catalog. Requires a restart of the instance for the changes in the chore to take effect. | Dimension | Subset | The .sub file is copied to the catalog. | The .sub file is copied to the data folder. |
X | Skip this step when exporting or importing the catalog. | not used | not used | no action | no action |
Clearing an Item
In the catalog select the Items to be cleared. Click on the Clear button.
Copying
Copying within a catalog
Items can be copies with at catalog. Select the Items that are to be copied. Click on Copy Catalog button. Set the Copy Catalog and the Add to Catalog to be the same. This is the default values for these fields. Click on Copy. The selected items will be added to the bottom of the catalog and given the same Order as the copied Items.
Copying another catalog
Another catalog can be copied into the current catalog. Click on Copy Catalog button. For Copy Catalog select the catalog that is to be copied. Click on Copy. This will add the Items from the selected catalog to the bottom of the current catalog. The Items are given the next Order index for the current catalog.
In the Catalog Framework there is a Cookbook collection. This is a collection of common catalog items in Apliqo FPM that can be copied into any new catalogs.
Renaming Catalogs and Collections
Renaming a Catalog
On the Create Catalog tab, click on the Settings button. Change the Name of the catalog.
On the Collection tab, change the catalog name in the Name column.
Note: Renaming the Catalog does not rename the catalog folder. The catalog folder must be renamed or deleted through the file system.
Rename a Collection
On the Collection tab, change the collection name in the Name column.
Note: Renaming the Collection does not rename the collection folder. The collection folder must be renamed or deleted through the file system.
Deleting Catalogs and Collections
Deleting a Catalog
To delete a Catalog go the Collections tab. For the Catalog that is to be deleted click on Delete icon. In the popup confirm that you want to delete the catalog by entering the name of the catalog that is to be deleted. Click on Delete.
Deleting a Collection
To delete a Collection, go the Collections tab. Select the collection that is to be deleted then click on Delete icon. In the popup confirm that you want to delete the collection by entering the name of the collection that is to be deleted. Click on Delete.
Exporting the Catalog
To Export the catalog click on the Create Catalog button.
Exporting the catalog has three stages.
Stage 1: Review
To review the catalog in the user interface, click on Create Catalog button. Do not Create Catalog File or Export Catalog. Click on Create Catalog. This will update the Filter for items that are using the CUB or EXE action.
Stage 2: Catalog file only
To create the catalog definition file but not export the data associated with the catalog. Select Create Catalog File but do not Export Catalog. This will update the Filter for items that are using the CUB or EXE action. Additionally, create a catalog.csv file in the //[Catalog Root File Path]/[Collection Name]/[Catalog Name]/ directory.
Stage 3: Export catalog
In addition to Stage 1 and Stage 2 selecting to Create Catalog File and Export Catalog will export the catalog data as specified by the catalog.csv file to the //[Catalog Root File Path]/[Collection Name]/[Catalog Name]/ directory.
Run splicer
Splicer is a utility built into the Apliqo FPM that converts the cube rules to and from a neutral state. Running the Splicer when Exporting the catalog, first de-splice the rules, then export the rules in their de-spliced state. Before finishing, re-splice the rules.
De-splicing and re-splicing the rules take time to compile and is locking event on the server. It is only necessary if you are migrating rules the catalog and you can expect that the target model has different spliced rules.
Importing a Catalog
Go to the Import Catalog tab of the Catalog page.
Directory: Enter the full path to the catalog.csv file.
Backup: Prompts the import process to back-up the Apliqo FPM model before applying in the catalog.
Process Rule Changes: Apply any changes to rules as defined in the catalog.
Run Splicer: Splicer is a utility built into the Apliqo FPM that converts the cube rule to and from a neutral state. Selecting this option de-splices the rules before importing the catalog. Before finishing the rules are re-spliced. De-splicing and re-splicing the rules take time to compile and is locking event on the server. It is only necessary if you are migrating rules the catalog and you know the source model has different spliced rules.
Copy Processes: Prompts the import process to copy the .pro file from the catalog to the data folder of the Apliqo FPM model. This will require a restart of the model if any processes are copied.
Copy Chores: Prompts the import process to copy the .cho file from the catalog to the data folder of the Apliqo FPM model. This will require a restart of the model if any chores are copied.
Copy Subsets: Prompts the import process to copy the .sub file from the catalog to the data folder of the Apliqo FPM model. This will require a restart of the model if any subsets are copied.
Copy Views: Prompts the import process to copy the .vue file from the catalog to the data folder of the Apliqo FPM model. This will require a restart of the model if any views are copied.
Trouble Shooting
Whenever a catalog is exported or imported, an }APQ.Server.Catalog.Export.json or }APQ.Server.Catalog.Import.json file is produced. In these files are step the process took to export or import the catalog. Any record that has a danger type should be investigate using the TM1Server logs and TM1 process logs.
Error Message |
|
---|---|
Error: Prolog procedure line (358): Dimension element "element name” not found in dimension "dimension name" | Review the Filter. Make sure the element exists in the dimension. Make sure the correct separator is being used to separate the dimensions. |
FIN Balance Sheet Planning Dimension Update Fail. Rule Is Invalid. Until rule is fixed. | Run the process: }APQ.C3.FIN.Splicer.Splice to re-splice the rules. Re-run the catalog. |
This is the end.