DimensionElementInsertDirect adds an element to a dimension by directly editing the dimension. You can use this function to add numeric, string, or consolidated elements.

This function is valid in TM1® TurboIntegrator processes only.

The default method of editing a dimension in TM1 is to use a whole-copy editing pattern. In that pattern, an editing copy of the dimension is created, edits are applied to the editing copy, then finally the actual dimension is rewritten using the editing copy as a template. TurboIntegrator supports whole-copy editing automatically whenever dimension editing TurboIntegrator functions (like DimensionElementInsert) are used in the metadata tab of the process. TurboIntegrator automatically creates the editing copy and applies editing operations to it, then rewrites the actual dimension at the end of the Metadata procedure.

Direct edits are different in that no editing copy is involved. Instead, the operations are performed directly on the actual dimension. There are two different, specialized use cases for which this type of direct editing is intended:

  • When the purpose of the TurboIntegrator process is to make a small change to a large dimension. In this case, direct editing will be more efficient because it avoids copying and completely rewriting the large dimension.
  • When the purpose of the TurboIntegrator process is to load large volumes of data into a cube. In this case the process' Metadata procedure is deliberately kept empty, and any element insertion needed to support data loading is performed using direct calls in the Data procedure. When the Metadata procedure is empty, the process skips an entire iteration over the external datasource, which can result in faster data loads.


DimensionElementInsertDirect(DimName, InsertionPoint, ElName,ElType);




The dimension to which you want to add a new element.


An existing dimension element. The element being added to the dimension will be inserted immediately before this existing element. If this parameter is empty, the new element is added to the end of the dimension.

Note that this function is optimized for the case where the InsertionPoint is passed as an empty string.


The name you want to assign to the new element.


The element type. There are three possible ElType values:

N - Signifies a numeric element.

S - Signifies a string element.

C - Signifies a consolidated element.


DimensionElementInsertDirect('Region', 'Belgium', 'Netherlands','N');

This example adds the numeric element Netherlands to the Region dimension. Netherlands displays immediately before Belgium in the dimension definition.