TM1 Contributor – Single Security Hierarchy

Currently on-site at client installing TM1 Cognos Express. The client wishes to use the contributor application to utilize workflow in the forecast. Doing so can creates a number of limitations, namely security and secondly cube design. Within TM1 Contributor/Cognos Express Planner you apply security based on a single dimension hierarchy for the application you have created, however the elements within the entire security dimension cannot share more than one top level member! If not caught early this can create a chain of painful flow on effects throughout the model, TM1 developers be mindful of the following technote:

Unable to define an Approval Hierarchy in TM1 Contributor/Cognos Express Planner: The hierarchy has more than one top level member (IBM Technote 1497495):


So to get around this issue, a TI process was written to duplicate a hierarchy in one dimension and rebuild it in another. Since the dimension may have more than one top level member ancestor, you will need to select only one of the sub hierarchies you want to use for your security dimension. To get around this issue a TI process was written which will pick only 1 of the Top level parents that you will use for the security hierarchy in the other dimension. The process is broken into 3 separate TI processes. The first and second processes, create and loops through the Top level node expanded tree, and output this to a text file with a parent child relationship. The third process builds off this flat file, using the parent child relationship to build a duplicate dimension. This has been bundled up into a master process. Here is a screen shot of parameters below:

Per above screenshot, the list of parameter above will be required:

  • vFilePath: is the flat file path that is required when running the process. Please specify this on your server.
  • vDimName: Name of the dimension you want to duplicate
  • vElementTopLevelParent: Name of existing Top Level Parent within dimension (essentially this is the sub hierarchy you want to duplicate, screenshot below)
  • vDestDimName: Name of new dimension that you want to build new sub hierarchy

Screenshot, example of Top Level Parent:


In the next article I will talk about challenges faced with cube design when building within a contributor application. Please see attached for full download:

Meta CopyDimensionSubset