In TM1 rules, an alias could be used in defining the target area (area definition), within rule calculation as well as in Feeders.
However, few things must be kept in mind when using Alias in the Area definition of the cube.
- As the rule is now using the attribute value to dictate the rule calculations, it adds a potential risk of inadvertently updating the alias by the users thereby resulting in incorrect calculations. This could be mitigated by applying security on control objects.
- TM1 establishes cube dependency as the calculations are now dependent on alias values which resides in a separate }ElementAttributes control cube – refer Understanding Cube Dependency. This leads to locking contention (write lock), preventing other users from accessing the cube, for the duration of the time TM1 establishes the dependency when querying the area of cube impacted with alias based rules. Alternatively, the locking can be eliminated by pre defining the dependency by calling AddCubeDependency TI function.
- When using the alias in the area definition, if the alias used in the area definition is updated, the calculations do not however apply to the new alias value unless the following activities are performed on the dimension that uses the alias:
- Dimension maintenance (includes metadata operations such as adding, deleting elements) either manually or via TI to any dimension within the cube where the rule applies
- Editing the rule and saving it (note: even adding a space in a rule qualifies as editing)
- The same behaviour applies to Feeder as well.
Illustration:
Assume a cube with following dimensionality:
Cube: Test
Dimensions: Time and Test Measure
Time dimension has months Jan to Dec. An alias attribute, “Attribute Control” is created with value “Last Actual Period” set against Jun.
Add the following simple rule:
['Last Actual Period', 'Value'] = N: 1;
Above image description: Value 1 showing against Jun that is set as Last Actual Period after the rule is saved
Based on the above rule, it sets the value 1 against Jun, however if you change the attribute value from Jun to Jul, the rule does not reflect the value in Aug.
Above image description: Value 1 is still reflecting against Jun instead of Jul
Now, either add a space to the rule and resave it or update metadata structure of one of the dimensions within the Test cube either manually or via TI.
Above image description: Value is now correctly reflecting in Jul
Written by:
Amin Mohammed [Senior TM1 Consultant]
Leave a comment