turbo integrator

Duplicate Elements in Rollups

Submitted by admin on Thu, 2019-11-21 14:12

Large nested rollups can lead to elements being counted twice or more within a rollup.
The following process helps you to find, across all dimensions of your system, all rollups that contain elements consolidated more than once under the rollup.

The code isn't the cleanest and there are probably better methods to achieve the same result so don't hesitate to edit the page or comment.

It proceeds like this:

Padding zeroes

Submitted by admin on Thu, 2019-11-21 14:10

This a short simple syntax to easily pad zeroes to an index value:

Period = 'Period ' | NumberToStringEx(index, '00','','');

(from olap forums)

alternatively, one could also write (prior to TM1 8.2):

Period = 'Period ' | If(index > 10,'0','') | NumberToString(index);

TM1 Sudoku

Submitted by admin on Tue, 2019-11-19 15:45

Beyond the purely ludic and mathematical aspects of sudoku, this code demonstrates how to set up dimensions, cubes, views, cell formating, security at elements and cells levels all through Turbo Integrator in just one process.

TM1 operators

Submitted by admin on Tue, 2019-11-19 08:23

Logical operators


& AND
% OR
~ NOT

Strings operators


| concatenate
@= string1 equals string2
@<> string1 differs from string2

inserting '&' in strings:
ItemReject('This & That'); will return 'This _That'
ItemReject('This && That'); will return 'This & That'

Silent failures

Submitted by admin on Tue, 2019-11-19 07:37

TM1 processes will not complain when their input source is empty.
So although the "process successful" or "chore successful" message will popup, your cube will remain desperately empty.
In order to solve that silent bug (or rather "feature" in IBM's eyes), you will need to add specific code to your TI processes to test against empty sources.
Here follows:

.initialise counter
PROLOG TAB

SLineCount = 0;

#****GENERATED STATEMENTS START****

.increment counter
DATA TAB

Send email/attachments

Submitted by admin on Tue, 2019-11-19 07:30

It is possible to send email alerts or reports as attachments from Turbo Integrator. This can be achieved by executing a VB script.

  1. Save the attached VB script on your TM1 server
  2. Create a TI process
  3. In the Epilog tab, add the following code:

S_Run='cmd /c D:\path\to\SendMail.vbs smtp.mycompany.com 25 tm1@mycompany.com me@mycompany.com "Today report" "check it out" E:\TM1Reports\todaysreport.xls'
ExecuteCommand(S_Run,0);

Debugging

Submitted by admin on Mon, 2019-11-18 15:24

AsciiOutput can help tracking what values are being used during execution of your TI processes.

use:

AsciiOutput('\\path\to\debug.cma',var1,var2,NumberToString(var3));

Keep in mind Asciioutput limitations:

Creating temporary views

Submitted by admin on Mon, 2019-11-18 15:11

when creating views from the cube viewer, there is a hard limit to the size of the view displayed. It is 100MB (32bit) or 500MB (64bit) by default, it chan be changed with the MaximumViewSize parameter in the tm1s.cfg
But it is not practical to generate such large views manually.
An alternative is to do it from the Turbo Integrator: