Category Archives: TI Processes

Turbo Integrator creates processes that can be executed.

“Joining” Text Files in a TM1 Turbo Integrator Process

How do you join text files in a TI when loading into TM1? In this post we discuss a method to emulate an SQL join in a TI where a csv or text file is the source for the Turbo Integrator process.

CubeClearData TM1 Function Syntax and Use

CubeClearData: TM1 and Cognos Express command for clearing all data from a TM1 cube without deleting and recreating the cube. It does not give the flexibility of deleting the data from only a slice of a cube.

Null Values in a Turbro Integrator Process

I recently needed to check some data I was loading via a Turbo Integrator process in TM1 for Null values. I thought there’d be something like an IsNull (like in Excel), but found no direct TI command to check values being loaded if they are Null or not. The Solution for Null Values in a TI As you would know, TM1 only stores values as String or Numeric. If it … Continue Reading

TM1 SaveDataAll Data Locks

Recently I encountered a situation where we had a SaveDataAll process running every half hour that had started impacting the system performance.  The environment is largely for enterprise planning and we wanted the protection of having TM1 saved to disk regularly through the day to protect against any unforeseen outages. This was largely able to be executed in a couple of seconds and thus had no real impact. Then we added … Continue Reading

Exporting Data from TM1 to an External Database

I needed to create a rollup in a data warehouse the other day from elements that are stored in TM1. This process works just as well for SQL Server, Oracle, DB2 or any other database engine. Simple Method to get data out of TM1 and into a Database Simply, the easiest way to get data out of TM1 and into a database is to publish it out of TM1 using … Continue Reading

DatasourceNameForServer and DatasourceNameForClient TM1 Functions: Use and Syntax

Ever wondered how you can vary the data source for a Turbo Integrator process inside the actual process so it becomes dynamic? Well here is a method. Firstly, define a bunch of variables: sCurrentMonth = CellGetS ( ‘System Assumptions’, ‘No Year’, ‘No Month’, ‘Current Month’, ‘String’ ); sFileDir = ‘\\servername\folder\’; sFileName = sCurrentMonth | ‘ ‘ | SUBST(sCurrentYear,3,2) | ‘ Employees.csv’; sFilePath = sFileDir | sFileName; Then use DatasourceNameForServer and DatasourceNameForClient to … Continue Reading

ELLEV TM1 Function: Use and Syntax

The ELLEV function returns the numeric value of the level for an element in a dimension in TM1. Syntax The syntax is ELLEV(dimension, element); where: dimension, is the dimension you are interrogating, and element, is the element you want the level number for Use of ELLEV This function is used to determine the level of a specific element in a dimension.  It is often used in conjunction with an IF statement to … Continue Reading

How to Pad a Variable Length Element in TM1

Often we have a situation were we want to create a dimension with the contents of a code from a source system.  Sometimes, however the IDs in the source system are of a variable length and we want to present them uniformly.  To overcome this, we need to pad the code at the left with a constant character to make them all the same length. the method below will pad out … Continue Reading

ItemSkip TM1 Function: Use and Syntax

ITEMSKUP is a Turbo Integrator function that forces the current record being read from a data source to be skipped. Syntax of ITEMSKIP The syntax is just ITEMSKIP; – real simple eh! And there are no operators. Usage Typically ITEMSKIP will be used with an IF statement so that only data that satisfies a certain criteria will be further processed. This both speeds up the processing and also allows you to discretely … Continue Reading

TM1 Archive TI Process

I asked Mafia Man the other day how I can take a backup on the fly of everything in TM1 so that if I make changes and stuff up, I can easily restore from my backup. He gave me the following code that is to be inserted in the Prolog tab under Advanced in a Turbo Integrator process.  This creates a full archive of a TM1 Model (in this case CXMD) … Continue Reading