Simple concepts of TM1 Model Design

Technical design does matter for any system development, whether you develop system from scratch using any programing languages or develop model using a system like TM1. Technical design will reflect performance. It is important to understand the structure of the ‘tools’ we use. It is easy to build cubes, dimensions, turbo integrator and rule scripting, but technical design is not about all of those things. Technical design is about how to build good model that meet business requirements, good performance, correct data flow, fast process, easy to integrate with new processes in the future, and readiness of output to be used by other systems for further process.

Technical design is not about business process. We build models based on business process, but good system depends on how good the technical design.

 In TM1 case, we need to understand how TM1 works and read its database.

 Here are some simple concepts of system development that can be applied to TM1 technical design.

 Data Relationship to Define Cube Structure

 One to one

–          Attribute, Alias

Alias is same with element. It is unique.

Attribute is not unique, one attribute can be applied to many elements. That is why attributes can be used to put ‘flag’ to indicate something.

Sample:

Alias

SKU1 – SKUDesc1

SKU2 – SKUDesc2

Attribute

 SKU1-StorageLocation1

 SKU2-StorageLocation1

 SKU3-StorageLocation2

 One to Many

–          Separate Dimensions

–          One dimension with Hierarchy

Sample: One product Group can has many SKUs, you can put it in one dimension with hierarchy structure:

 Product Group ABC:

–          SKU001

–          SKU002

–          SKU003

Check the requirements and decide how the data will be stored, in one dimension with hierarchy or in separate dimension.

 If one Customer Group has many customers and one customer can be part of more than one Customer Groups, you have to put Customer Group and Customer in separate dimensions, or in one dimension but separate hierarchies. If you put under one hierarchy, the calculation will be double.

Sample:

CustGroup001

–          Customer1

–          Customer2

–          Customer3

CustGroup002

–          Customer1

–          Customer4

–          Customer5

Customer1 belong to CustGroup001 and CustGroup002. In this case you cannot have total of all Customer Groups, since the value attached to Customer1 will be calculated twice.

 Many to many (No Relationship)

–          Separate Dimension

Sample: Data sales and data customer has no direct relationship, so it should be stored in separate dimension.

 Order of dimension in a cube

Generic to detail

 Technical Design starts from how data will be stored. From there we continue to design the process, to define how data will be flow from outside TM1, manipulate in TM1 and become output from TM1 to be used by other system such as BI, or to analyse by business users.

Simple concept of Rule & Turbo Integrator

Rule can be used to manipulate data inside TM1 system only.

Data from outside TM1 can be manipulated by TM1 system only using Turbo Integrator script.

All OS execution command (.exe, .bat, etc) can be run by TM1 Turbo Integrator. For example, to copy TM1 data folder periodically, we can use “Copy” command from windows and run it by TM1 scheduling.

 There are some ‘rules’ to do scripting or programming. TM1 Turbo Integrator scripting is only small part of programming, but still we need to understand the logic to generate good scripts that will impact to performance.

 Scheduling

With scheduling TM1 processes can be run periodically, automatic by TM1.

Veronika Rotua Gultom

6 thoughts on “Simple concepts of TM1 Model Design

  1. Hi Veronika,
    I think your example of one to one of attribute and aliases is bit misplaced,I think we can’t have duplicate attributes but aliases can be duplicated within the dimension.Please correct me if I am wrong.Thanks a lot.

    • Hi Abdul,

      Correct, we can have many attributes on TM1, but what I meant is whether we can put the data as attributes/aliases or not.
      For example:
      One type of Car can have more than one colors. So Color can not be an attribute of car type. Otherwise you will need attribute color1, color2, color3, etc.
      Aliases is unique same with the elements.

  2. My apologies for not getting you correctly what i meant to say Attributes could be unique but Aliases could not be unique.Please Clarify. Thanks for sharing your expertise,really appreciate it.

    • Aliases is unique. You cannot put same data as aliases of more than one elements.
      Attributes is not unique, you can put same data as attribute of more than one elements.
      Sample:
      SKU-Description –> Description is alias –> SKU to description is one to one data relationship
      SKU-Group–> Product Group should be attribute –> SKU to Group is one to one data relationship, but Product group to SKU is one to many if one Product Group has many SKUs. So Product group can not be alias of SKU but could be attribute of SKUs.
      So sorry my note is not explain it too detail.

  3. Pingback: Template it! | VRGultom

Leave a comment