Cubes are to TM1 what tables are to relational databases. Almost all data stored in TM1 is stored in and accessed from cubes. Do you know the difference between the types of these
basic objects?
Let’s explore!
First, each and every TM1 cube must have at least two and up to a maximum of 256 dimensions.
There are four types of cubes in Cognos TM1. They are:
- “Standard”,
- “Control”,
- “Virtual” and
- “Lookup”.
Standard Cubes
A “standard” Cognos TM1 cube is referred to as a “hard” cube or a cube where data is actually loaded and “resides”.
There are two ways to create (standard) cubes:
- Empty Cube – You can manually create an “empty cube” by selecting (at least) 2 dimensions from the list of existing
dimensions in the “Creating Cube” window to create a new cube with no data. - External Data Sources – You can create a cube and load it with data by using TurboIntegrator to identify and
map dimensions and data from an external data source to a new or existing cube. (Of course, this requires some expertise using TurboIntegrator).
Control Cubes
Control cubes are “special” Cognos TM1 cubes. These “special” cubes are created and used by TM1 and by definition, are “hard” cubes that hold data.
Cognos TM1 itself uses control cubes to perform certain activities (of course you can access information in these cubes as
well). These activities are:
- Security
- Client and Group Administration
- Object Attribute and Properties Control
- Performance Monitoring
- “Hold” Tracking by username
All control cube names are prefixed with a first character of “}” and are by default “not visible” within in TM1 Server Explorer. These cubes can be made visible in TM1 Server Explorer by:
- Selecting “View” and then
- “Display Control Objects”.
Note: It is possible to create a cube and prefix its name with the “}” but although this will “show and hide” your cube with the rest of the “}” cubes – your cube will not “really” be a TM1 control cube.
Virtual Cubes
A “virtual” cube is a TM1 cube which is referred to as a “soft” cube where no data actually is loaded to or resides in but references data points in
other cubes.
To a TM1 user, a virtual cube may have the exact same appearance of a standard or “hard” cube.
Being a” fully rule calculated cube”, virtual cubes have no data stored in them but use rules to “pull” data from other cubes (and possibly to perform additional calculations on that data).
To perform this “data pull” into your virtual cube, you utilize TM1 “inter-cube” rules. These rules must be associated with that virtual cube.
While the rule statements reside in the target cube, the feeder statements to support these rules will always reside in the source cube.
You’ll use the TM1 rule DB function. The DB function must reference the cube (where the data you want to retrieve lives) and then provide a value for each of the dimensions in that cube:
DB('myCube', dimension value, dimension value,... dimension value);
Of course, you can only reference or pull data from cubes that reside in the same TM1 instance as the virtual cube.
Some Cognos TM1 cubes may be very complicated, large or have intensive rule calculations. In other examples, data required for a reporting may be sourced from multiple cubes. In these cases, specific end user reporting may become difficult (especially for the “more casual” TM1 user) or somewhat slow. Defining several specific virtual cubes – referencing information in unique views of the larger cube or cubes – can be very useful.
Lookup Cubes
Another type of TM1 cube is the “Lookup” cube. This is a sort of “utility” cube.
Lookup cubes are cubes that you can set up and use to support other cubes and processes within a TM1 application. These cubes are usually read-only
or even made “not visible” to the user and may contain calculations or reference data that is then “pulled” into other cubes using TM1 rules.
Whenever there is a need to perform a translation or conversion of information, your choices would be to use an element attribute or a Lookup
cube.
Typically, if it’s a “single point” translation (involves only one dimension) you’d want to use an attribute. If the translation involves “multiple points”, then you would use a lookup cube.
Okay – that’s the 4 types – did I miss any?
au revoir!