IBM Planning Analytics 2.0 Reference Guide
IBM Planning Analytics 2.0 Reference Guide
2.0
Reference
IBM
Note
Before you use this information and the product it supports, read the information in “Notices” on page
423.
Product Information
This document applies to IBM Planning Analytics Version 2.0 and might also apply to subsequent releases.
Licensed Materials - Property of IBM
Last updated: 2025-10-03
© Copyright International Business Machines Corporation 2007, 2025.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
Introduction........................................................................................................ xv
iii
Edit Reference to Cube Dialog Box............................................................................................................29
Filter Elements by Attribute Dialog Box.................................................................................................... 30
Filter Elements by Level Dialog Box.......................................................................................................... 30
Filter Subset Dialog Box.............................................................................................................................30
Filter View Dialog Box................................................................................................................................ 32
Get View Dialog Box (In-Spreadsheet Browser)....................................................................................... 34
In-Spreadsheet Browser Menu................................................................................................................. 34
Message Log Window.................................................................................................................................35
File Menu.............................................................................................................................................. 35
Edit Menu..............................................................................................................................................35
Help Menu.............................................................................................................................................36
New Attribute Dialog Box...........................................................................................................................36
Open Subset Dialog Box............................................................................................................................ 36
Open View Dialog Box................................................................................................................................36
Print Report Wizard....................................................................................................................................36
All Screens............................................................................................................................................ 36
Screen 1 of 3.........................................................................................................................................37
Screen 2 of 3.........................................................................................................................................37
Screen 3 of 3.........................................................................................................................................38
Process Options Dialog Box.......................................................................................................................40
Replicate Cube Dialog Box.........................................................................................................................41
Cube Information................................................................................................................................. 41
Rule Information.................................................................................................................................. 41
Dimension Information........................................................................................................................ 42
Rules Editor................................................................................................................................................ 43
File Menu.............................................................................................................................................. 43
Edit Menu..............................................................................................................................................43
View Menu............................................................................................................................................ 45
Insert Menu.......................................................................................................................................... 45
Tools Menu............................................................................................................................................45
Save Subset Dialog Box............................................................................................................................. 46
Save View Dialog Box.................................................................................................................................46
Save View Dialog Box (In-Spreadsheet Browser)..................................................................................... 46
Security Assignments Dialog Box..............................................................................................................47
Assignments Grid................................................................................................................................. 47
Access Privileges.................................................................................................................................. 47
Select Dimension..................................................................................................................................51
Select Cube Dialog Box..............................................................................................................................51
Select Cube for Rules Dialog Box.............................................................................................................. 51
Select Dimension Dialog Box.....................................................................................................................51
Select Element Dialog Box.........................................................................................................................51
Server Explorer (Main Window)................................................................................................................. 51
File Menu.............................................................................................................................................. 51
Dynamic Menu...................................................................................................................................... 52
Edit Menu..............................................................................................................................................62
View Menu............................................................................................................................................ 62
Subset Editor..............................................................................................................................................62
Subset Menu.........................................................................................................................................63
Edit Menu..............................................................................................................................................63
View Menu............................................................................................................................................ 65
Tools Menu............................................................................................................................................66
Aliases Dialog Box......................................................................................................................................67
TM1 Options Dialog Box............................................................................................................................ 67
Login Parameters..................................................................................................................................67
Local Server.......................................................................................................................................... 67
Admin Server Transport Layer Security............................................................................................... 68
Transaction Log Query Dialog Box.............................................................................................................68
Transaction Log Query Results Dialog Box................................................................................................69
iv
TurboIntegrator Editor...............................................................................................................................70
File Menu.............................................................................................................................................. 70
Edit Menu..............................................................................................................................................70
Data Source Tab....................................................................................................................................71
Preview Grid......................................................................................................................................... 83
Variables Tab........................................................................................................................................ 83
Maps Tab...............................................................................................................................................85
Advanced Tab....................................................................................................................................... 89
Schedule Tab........................................................................................................................................ 90
View Extract Window................................................................................................................................. 91
View Styles Dialog Box...............................................................................................................................91
v
DNEXT.................................................................................................................................................122
DNLEV.................................................................................................................................................122
DTYPE ................................................................................................................................................ 123
TABDIM...............................................................................................................................................123
Element Information Rules Functions.................................................................................................... 124
ELCOMP ............................................................................................................................................. 124
ELCOMPN............................................................................................................................................124
ElementComponent .......................................................................................................................... 125
ElementComponentCount................................................................................................................. 125
ElementCount ....................................................................................................................................126
ElementFirst....................................................................................................................................... 126
ElementIndex.....................................................................................................................................127
ElementIsAncestor............................................................................................................................ 127
ElementIsComponent........................................................................................................................128
ElementIsParent ............................................................................................................................... 128
ElementLevel......................................................................................................................................129
ElementName.....................................................................................................................................130
ElementNext.......................................................................................................................................130
ElementParent................................................................................................................................... 131
ElementParentCount..........................................................................................................................131
ElementType ......................................................................................................................................132
ElementWeight .................................................................................................................................. 132
ELISANC............................................................................................................................................. 133
ELISCOMP ..........................................................................................................................................133
ELISPAR ............................................................................................................................................. 134
ELLEV.................................................................................................................................................. 135
ELPAR................................................................................................................................................. 135
ELPARN...............................................................................................................................................136
ELWEIGHT ......................................................................................................................................... 136
LevelCount..........................................................................................................................................137
Financial Rules Functions........................................................................................................................137
FV........................................................................................................................................................137
PAYMT ................................................................................................................................................138
PV........................................................................................................................................................138
Hierarchy Rules Functions.......................................................................................................................139
Hierarchy............................................................................................................................................ 139
HierarchyCount.................................................................................................................................. 139
HierarchyIndex...................................................................................................................................140
HierarchyN..........................................................................................................................................140
Logical Rules Functions........................................................................................................................... 141
CONTINUE.......................................................................................................................................... 141
IF.........................................................................................................................................................141
STET....................................................................................................................................................142
Mathematical Rules Functions................................................................................................................ 142
ABS..................................................................................................................................................... 142
ACOS...................................................................................................................................................143
ASIN....................................................................................................................................................143
ATAN................................................................................................................................................... 143
COS..................................................................................................................................................... 144
EXP..................................................................................................................................................... 144
INT...................................................................................................................................................... 144
ISUND................................................................................................................................................. 145
LN........................................................................................................................................................145
LOG..................................................................................................................................................... 145
MAX.....................................................................................................................................................146
MIN .................................................................................................................................................... 146
MOD.................................................................................................................................................... 146
RAND.................................................................................................................................................. 147
vi
ROUND................................................................................................................................................147
ROUNDP............................................................................................................................................. 148
SIGN................................................................................................................................................... 148
SIN...................................................................................................................................................... 149
SQRT................................................................................................................................................... 149
TAN..................................................................................................................................................... 149
Text Rules Functions................................................................................................................................150
CAPIT..................................................................................................................................................150
CHAR...................................................................................................................................................150
CODE...................................................................................................................................................151
CODEW............................................................................................................................................... 151
DELET................................................................................................................................................. 151
FILL..................................................................................................................................................... 152
INSRT..................................................................................................................................................152
LONG...................................................................................................................................................153
LOWER................................................................................................................................................ 153
NUMBR .............................................................................................................................................. 153
SCAN...................................................................................................................................................154
STR......................................................................................................................................................154
SUBST................................................................................................................................................. 156
TRIM................................................................................................................................................... 157
UPPER.................................................................................................................................................157
Miscellaneous Rules Functions............................................................................................................... 157
FEEDERS.............................................................................................................................................157
FEEDSTRINGS.................................................................................................................................... 158
SKIPCHECK........................................................................................................................................ 158
vii
TM1RECALC1........................................................................................................................................... 176
VUSLICE................................................................................................................................................... 177
W_DBSENABLE........................................................................................................................................ 177
viii
SetOutputEscapeDoubleQuote......................................................................................................... 216
StringToNumber................................................................................................................................. 217
StringToNumberEx............................................................................................................................. 217
TextOutput..........................................................................................................................................218
Attribute Manipulation TurboIntegrator Functions................................................................................ 219
ATTRNL............................................................................................................................................... 219
ATTRSL............................................................................................................................................... 220
AttrDelete........................................................................................................................................... 221
AttrInsert............................................................................................................................................222
AttrPutN..............................................................................................................................................222
AttrPutS.............................................................................................................................................. 223
ChoreAttrDelete................................................................................................................................. 224
ChoreAttrInsert.................................................................................................................................. 224
ChoreAttrN......................................................................................................................................... 225
ChoreAttrNL........................................................................................................................................225
ChoreAttrPutN.................................................................................................................................... 226
ChoreAttrPutS.................................................................................................................................... 227
ChoreAttrS.......................................................................................................................................... 228
ChoreAttrSL........................................................................................................................................ 228
CubeAttrDelete...................................................................................................................................229
CubeAttrInsert................................................................................................................................... 230
CubeAttrPutN..................................................................................................................................... 230
CubeAttrPutS......................................................................................................................................231
CubeATTRNL...................................................................................................................................... 232
CubeATTRSL.......................................................................................................................................232
DimensionAttrDelete..........................................................................................................................233
DimensionAttrInsert.......................................................................................................................... 234
DimensionAttrPutN............................................................................................................................ 234
DimensionAttrPutS.............................................................................................................................235
DimensionATTRNL............................................................................................................................. 236
DimensionATTRSL..............................................................................................................................237
ElementATTRNL................................................................................................................................. 238
ElementATTRSL..................................................................................................................................239
ElementAttrPutN................................................................................................................................ 240
ElementAttrPutS................................................................................................................................ 241
ElementAttrInsert.............................................................................................................................. 242
ElementAttrDelete............................................................................................................................. 242
HierarchyAttrPutN..............................................................................................................................243
HierarchyAttrPutS.............................................................................................................................. 244
HierarchyATTRN................................................................................................................................. 244
HierarchyATTRS................................................................................................................................. 245
HierarchyATTRNL............................................................................................................................... 245
HierarchyATTRSL................................................................................................................................246
HierarchySubsetATTRS......................................................................................................................247
HierarchySubsetATTRN..................................................................................................................... 248
HierarchySubsetATTRSL.................................................................................................................... 248
HierarchySubsetATTRNL....................................................................................................................249
HierarchySubsetAttrPutS...................................................................................................................250
HierarchySubsetAttrPutN.................................................................................................................. 251
HierarchySubsetAttrInsert................................................................................................................ 252
HierarchySubsetAttrDelete................................................................................................................253
ProcessAttrDelete.............................................................................................................................. 253
ProcessAttrInsert............................................................................................................................... 254
ProcessAttrN...................................................................................................................................... 254
ProcessAttrNL.................................................................................................................................... 255
ProcessAttrPutN.................................................................................................................................256
ProcessAttrPutS................................................................................................................................. 257
ProcessAttrS.......................................................................................................................................258
ix
ProcessAttrSL..................................................................................................................................... 258
SubsetATTRS......................................................................................................................................259
SubsetATTRN..................................................................................................................................... 260
SubsetATTRSL.................................................................................................................................... 260
SubsetATTRNL................................................................................................................................... 261
SubsetAttrPutS...................................................................................................................................262
SubsetAttrPutN.................................................................................................................................. 263
SubsetAttrInsert................................................................................................................................ 264
SubsetAttrDelete................................................................................................................................264
ViewAttrDelete................................................................................................................................... 265
ViewAttrInsert.................................................................................................................................... 265
ViewAttrN........................................................................................................................................... 266
ViewAttrNL......................................................................................................................................... 266
ViewAttrPutN......................................................................................................................................267
ViewAttrPutS...................................................................................................................................... 268
ViewAttrS............................................................................................................................................269
ViewAttrSL.......................................................................................................................................... 269
Chore Management TurboIntegrator Functions..................................................................................... 270
ChoreError.......................................................................................................................................... 270
ChoreQuit........................................................................................................................................... 271
ChoreRollback.................................................................................................................................... 271
SetChoreVerboseMessages............................................................................................................... 271
Cube Manipulation TurboIntegrator Functions.......................................................................................272
AddCubeDependency........................................................................................................................ 272
CellGetN............................................................................................................................................. 273
CellGetS..............................................................................................................................................274
CellIncrementN.................................................................................................................................. 274
CellIsUpdateable............................................................................................................................... 275
CellPutN..............................................................................................................................................276
CellPutProportionalSpread................................................................................................................ 276
CellPutS.............................................................................................................................................. 277
CubeClearData................................................................................................................................... 278
CubeCreate.........................................................................................................................................278
CubeDestroy.......................................................................................................................................279
CubeDimensionCountGet.................................................................................................................. 279
CubeExists..........................................................................................................................................280
CubeGetLogChanges..........................................................................................................................280
CubeSaveData.................................................................................................................................... 281
CubeSetConnParams......................................................................................................................... 282
CubeSetLogChanges.......................................................................................................................... 282
CubeTimeLastUpdated.......................................................................................................................283
CubeUnload........................................................................................................................................283
Data Reservation TurboIntegrator Functions......................................................................................... 284
CubeDataReservationAcquire............................................................................................................284
CubeDataReservationRelease........................................................................................................... 285
CubeDataReservationReleaseAll.......................................................................................................286
CubeDataReservationGet.................................................................................................................. 286
CubeDataReservationGetConflicts.................................................................................................... 288
Date and Time TurboIntegrator Functions..............................................................................................288
FormatDate.........................................................................................................................................289
NewDateFormatter.............................................................................................................................289
ParseDate........................................................................................................................................... 290
Dimension Manipulation TurboIntegrator Functions..............................................................................291
DimensionCreate................................................................................................................................291
DimensionDeleteAllElements............................................................................................................291
DimensionDeleteElements................................................................................................................ 292
DimensionDestroy..............................................................................................................................292
DimensionElementComponentAdd................................................................................................... 293
x
DimensionElementComponentAddDirect......................................................................................... 293
DimensionElementComponentDelete...............................................................................................294
DimensionElementComponentDeleteDirect..................................................................................... 294
DimensionElementDelete.................................................................................................................. 295
DimensionElementDeleteDirect........................................................................................................ 296
DimensionElementExists................................................................................................................... 297
DimensionElementInsert...................................................................................................................297
DimensionElementInsertDirect......................................................................................................... 298
DimensionElementPrincipalName.....................................................................................................299
DimensionExists.................................................................................................................................300
DimensionHierarchyCreate................................................................................................................300
DimensionSortOrder.......................................................................................................................... 301
DimensionTimeLastUpdated..............................................................................................................302
DimensionTopElementInsert............................................................................................................. 302
DimensionTopElementInsertDirect................................................................................................... 303
DimensionUpdateDirect.....................................................................................................................304
Hierarchy Manipulation TurboIntegrator Functions............................................................................... 304
CreateHierarchyByAttribute.............................................................................................................. 305
HierarchyContainsAllLeaves.............................................................................................................. 305
HierarchyCreate................................................................................................................................. 306
HierarchyDeleteAllElements..............................................................................................................306
HierarchyDeleteElements..................................................................................................................307
HierarchyDestroy............................................................................................................................... 307
HierarchyElementComponentAdd.....................................................................................................308
HierarchyElementComponentAddDirect...........................................................................................308
HierarchyElementComponentDelete................................................................................................ 309
HierarchyElementComponentDeleteDirect.......................................................................................310
HierarchyElementDelete....................................................................................................................311
HierarchyElementDeleteDirect..........................................................................................................311
HierarchyElementExists.....................................................................................................................312
HierarchyElementInsert.................................................................................................................... 312
HierarchyElementInsertDirect...........................................................................................................313
HierarchyElementPrincipalName...................................................................................................... 314
HierarchyExists.................................................................................................................................. 315
HierarchyHasOrphanedLeaves.......................................................................................................... 315
HierarchySortOrder............................................................................................................................ 316
HierarchyTimeLastUpdated............................................................................................................... 317
HierarchyTopElementInsert...............................................................................................................318
HierarchyTopElementInsertDirect.....................................................................................................318
HierarchyUpdateDirect...................................................................................................................... 319
ODBC TurboIntegrator Functions............................................................................................................320
ODBCClose......................................................................................................................................... 320
ODBCOpen..........................................................................................................................................320
ODBCOPENEx.....................................................................................................................................321
ODBCOutput....................................................................................................................................... 321
SetODBCUnicodeInterface................................................................................................................ 322
Process Control TurboIntegrator Functions........................................................................................... 322
ExecuteCommand.............................................................................................................................. 322
ExecuteProcess.................................................................................................................................. 323
GetProcessErrorFileDirectory............................................................................................................ 325
GetProcessErrorFilename..................................................................................................................325
GetProcessName............................................................................................................................... 325
If......................................................................................................................................................... 326
ItemReject..........................................................................................................................................326
ItemSkip............................................................................................................................................. 327
ProcessBreak..................................................................................................................................... 327
ProcessError....................................................................................................................................... 327
ProcessExists..................................................................................................................................... 328
xi
ProcessExitByChoreRollback.............................................................................................................328
ProcessExitByProcessRollback......................................................................................................... 328
ProcessQuit........................................................................................................................................ 329
ProcessRollback................................................................................................................................. 329
RunProcess.........................................................................................................................................330
Sleep...................................................................................................................................................330
Synchronized...................................................................................................................................... 331
While...................................................................................................................................................332
Rules Management TurboIntegrator Functions......................................................................................333
CubeProcessFeeders......................................................................................................................... 333
CubeRuleAppend............................................................................................................................... 333
CubeRuleDestroy............................................................................................................................... 334
CubeRuleGet...................................................................................................................................... 335
CubeRuleSet.......................................................................................................................................335
DeleteAllPersistentFeeders............................................................................................................... 336
ForceSkipCheck..................................................................................................................................337
RuleLoadFromFile.............................................................................................................................. 337
RuleLoadFromFileEx.......................................................................................................................... 338
Sandbox Functions.................................................................................................................................. 339
GetUseActiveSandboxProperty......................................................................................................... 339
ServerActiveSandboxGet................................................................................................................... 339
ServerActiveSandboxSet....................................................................................................................340
ServerSandboxClone..........................................................................................................................340
ServerSandboxCreate........................................................................................................................ 341
ServerSandboxesDelete.....................................................................................................................341
ServerSandboxDiscardAllChanges.................................................................................................... 344
ServerSandboxMerge.........................................................................................................................345
ServerSandboxExists......................................................................................................................... 346
ServerSandboxGet............................................................................................................................. 346
ServerSandboxListCountGet..............................................................................................................347
SetUseActiveSandboxProperty..........................................................................................................348
Security TurboIntegrator Functions........................................................................................................ 348
AddClient............................................................................................................................................ 349
AddGroup........................................................................................................................................... 349
AssignClientToGroup..........................................................................................................................349
AssignClientPassword........................................................................................................................350
AssociateCAMIDToGroup...................................................................................................................350
CellSecurityCubeCreate..................................................................................................................... 351
CellSecurityCubeDestroy................................................................................................................... 351
DeleteClient........................................................................................................................................352
DeleteGroup....................................................................................................................................... 352
ElementSecurityGet........................................................................................................................... 353
ElementSecurityPut........................................................................................................................... 353
HierarchyElementSecurityGet........................................................................................................... 354
HierarchyElementSecurityPut........................................................................................................... 354
RemoveCAMIDAssociation................................................................................................................ 355
RemoveCAMIDAssociationFromGroup............................................................................................. 356
RemoveClientFromGroup.................................................................................................................. 356
SetHierarchyGroupsSecurity............................................................................................................. 357
SetHierarchyElementGroupsSecurity................................................................................................357
SetDimensionGroupsSecurity............................................................................................................358
SetElementGroupsSecurity............................................................................................................... 359
SecurityOverlayGlobalLockCell......................................................................................................... 359
SecurityOverlayCreateGlobalDefault................................................................................................ 360
SecurityOverlayDestroyGlobalDefault...............................................................................................361
SecurityOverlayGlobalLockNode....................................................................................................... 361
SecurityRefresh.................................................................................................................................. 362
Server Manipulation TurboIntegrator Functions.................................................................................... 362
xii
BatchUpdateFinish.............................................................................................................................362
BatchUpdateFinishWait..................................................................................................................... 363
DisableBulkLoadMode....................................................................................................................... 364
EnableBulkLoadMode........................................................................................................................ 365
RefreshMdxHierarchy........................................................................................................................ 365
SaveDataAll........................................................................................................................................ 366
ServerShutdown.................................................................................................................................367
Subset Manipulation TurboIntegrator Functions....................................................................................367
HierarchySubsetAliasGet...................................................................................................................368
HierarchySubsetAliasSet................................................................................................................... 368
HierarchySubsetCreate......................................................................................................................368
HierarchySubsetDeleteAllElements.................................................................................................. 369
HierarchySubsetDestroy.................................................................................................................... 370
HierarchySubsetElementExists......................................................................................................... 370
HierarchySubsetElementDelete........................................................................................................ 371
HierarchySubsetElementGetIndex....................................................................................................371
HierarchySubsetElementInsert......................................................................................................... 372
HierarchySubsetExists....................................................................................................................... 373
HierarchySubsetGetSize.................................................................................................................... 373
HierarchySubsetGetElementName................................................................................................... 374
HierarchySubsetIsAllSet....................................................................................................................374
HierarchySubsetMDXGet................................................................................................................... 375
HierarchySubsetMDXSet....................................................................................................................375
PublishSubset.................................................................................................................................... 376
SubsetAliasGet...................................................................................................................................377
SubsetAliasSet................................................................................................................................... 377
SubsetCreate......................................................................................................................................377
SubsetCreateByMDX.......................................................................................................................... 379
SubsetDeleteAllElements.................................................................................................................. 380
SubsetDestroy.................................................................................................................................... 381
SubsetElementDelete........................................................................................................................ 381
SubsetElementExists......................................................................................................................... 382
SubsetElementGetIndex................................................................................................................... 382
SubsetElementInsert......................................................................................................................... 383
SubsetExists....................................................................................................................................... 383
SubsetExpandAboveSet.....................................................................................................................384
SubsetFormatStyleSet....................................................................................................................... 384
SubsetGetElementName................................................................................................................... 385
SubsetGetSize.................................................................................................................................... 385
SubsetIsAllSet....................................................................................................................................386
SubsetMDXGet................................................................................................................................... 386
SubsetMDXSet....................................................................................................................................387
View Manipulation TurboIntegrator Functions....................................................................................... 388
PublishView........................................................................................................................................ 388
DisableMTQViewConstruct................................................................................................................ 389
EnableMTQViewConstruct................................................................................................................. 389
ViewColumnDimensionSet................................................................................................................ 390
ViewColumnSuppressZeroesSet....................................................................................................... 391
ViewConstruct.................................................................................................................................... 391
ViewCreate......................................................................................................................................... 392
ViewCreateByMDX............................................................................................................................. 393
ViewDestroy....................................................................................................................................... 394
ViewExists.......................................................................................................................................... 394
ViewExtractFilterByTitlesSet............................................................................................................. 395
ViewExtractSkipCalcsSet................................................................................................................... 396
ViewExtractSkipConsolidatedStringsSet...........................................................................................397
ViewExtractSkipRuleValuesSet......................................................................................................... 397
ViewExtractSkipZeroesSet................................................................................................................ 398
xiii
ViewMDXSet....................................................................................................................................... 399
ViewMDXGet.......................................................................................................................................399
ViewRowDimensionSet...................................................................................................................... 400
ViewRowSuppressZeroesSet.............................................................................................................400
ViewSubsetAssign..............................................................................................................................401
ViewSuppressZeroesSet.................................................................................................................... 402
ViewTitleDimensionSet...................................................................................................................... 402
ViewTitleElementSet..........................................................................................................................403
ViewZeroOut.......................................................................................................................................403
Miscellaneous TurboIntegrator Functions.............................................................................................. 404
AddInfoCubeRestriction.................................................................................................................... 404
ExecuteJavaN.....................................................................................................................................405
ExecuteJavaS..................................................................................................................................... 406
Expand................................................................................................................................................407
FileExists............................................................................................................................................ 407
LogOutput...........................................................................................................................................408
TM1User............................................................................................................................................. 409
WildcardFileSearch............................................................................................................................ 409
Notices..............................................................................................................423
Index................................................................................................................ 427
xiv
Introduction
This document is intended for use with IBM® Planning Analytics.
This document is a collection of reference material for the IBM Planning Analytics software functions,
variables, and other programming elements.
Planning Analytics provides software solutions for the continuous management and monitoring of
Financial And Operational Performance Management across the enterprise.
Samples disclaimer
The Sample Outdoors Company, Great Outdoors Company, GO Sales, any variation of the Sample
Outdoors or Great Outdoors names, and Planning Sample depict fictitious business operations with
sample data used to develop sample applications for IBM and IBM customers. These fictitious records
include sample data for sales transactions, product distribution, finance, and human resources. Any
resemblance to actual names, addresses, contact numbers, or transaction values is coincidental. Other
sample files may contain fictional data manually or machine generated, factual data compiled from
academic or public sources, or data used with permission of the copyright holder, for use as sample data
to develop sample applications. Product names referenced may be the trademarks of their respective
owners. Unauthorized duplication is prohibited.
Accessibility features
Accessibility features help users who have a physical disability, such as restricted mobility or limited
vision, to use information technology products.
This product does not currently support accessibility features that help users with a physical disability,
such as restricted mobility or limited vision, to use this product.
Forward-looking statements
This documentation describes the current functionality of the product. References to items that are
not currently available may be included. No implication of any future availability should be inferred.
Any such references are not a commitment, promise, or legal obligation to deliver any material, code,
or functionality. The development, release, and timing of features or functionality remain at the sole
discretion of IBM.
Security considerations
For security considerations for IBM Planning Analytics, see Planning Analytics Installation and
Configuration. Information on managing user and group authentication can be found in the Managing
Users and Groups chapter of the TM1 Operations documentation.
Click the Excel Reference button to directly select the cell or range of cells from the worksheet.
For examples, see the TM1 for Developers documentation.
Excel Reference
Creates an Excel reference that dynamically retrieves the process name or parameter value(s) from
the current worksheet when the Action button is clicked.
Worksheet Tab
Use the Worksheet tab to configure an Action button to navigate to another Excel worksheet.
Look In
Use one of the following methods to select a worksheet:
• TM1 Applications - Select this option if you want to choose a worksheet from the TM1 Applications
tree.
• Files - Select this option if you want to choose a worksheet from your computer.
Browse
Click this button to select the worksheet to which you want to navigate.
Appearance Tab
Use the Appearance tab to configure the visual appearance of the Action button.
Caption
Sets the caption text that displays on the Action button.
Font
Click this button to display the Font dialog box where you can set the font style and size for the button
text.
Show Background Image
Allows you to select an image file (bmp, gif, or jpg format) that will be stretched to fit the Action
button.
Select this option and then click Browse to locate and select the image file that you want to use.
Display as Hyperlink
Displays the Action button as a hyperlink with blue, underlined text instead of a standard button.
This option is not available when you select the Show Background Image option.
Preview
This area shows a preview of the text caption, font style, font color and background color for the
button.
Colors
Allows you to set the text and background colors for the Action button.
Click the Text or Background color sample to display the Color dialog box where you can select a
standard color or define a custom color.
This option is not available when you select the Display as Hyperlink option.
Field Description
For examples on using the Advanced Options dialog box, see TM1 for Developers in the IBM Knowledge
Center ([Link]
Field Description
Source Type This field represents the type of object for the value
you want to map.
Select the Source Type as follows:
• SUBNM - Indicates that you are mapping from a
cell that contains a title dimension in the source
worksheet.
• Selected DBRW - Indicates that you are mapping
from a cell that contains a DBRW formula in the
source worksheet.
• Value - Indicates that you will enter a string or
numeric value that will be sent to the target.
Target Type This field is the type of cell in the target worksheet
where the value from the Source Object field will
be inserted.
Select the Target Type as follows:
• SUBNM - Indicates the target is a title dimension
in the target worksheet.
• Named Range - Indicates the target is a named
range in the target worksheet.
• Range - Indicates the target location is a cell in
the target worksheet.
CAUTION: If you set Target Type to either
a Named Range or Range, any pre-existing
data or formula in the target cell will be
overwritten when you navigate with the
Action button. If the target cell contains
a TM1DBRW function, then the function
will be lost and the cell will not be able
to connect to, read from, or write to the
server.
Subset Enter a value for the Subset field when the Target
Type field is set to SUBNM.
Alias Enter a value for the Alias field when the Target
Type field is set to SUBNM.
Attributes Editor
Use the Attributes Editor to create and edit attributes for cubes, dimensions, elements, and replications.
Note that all elements include a Format attribute, which defines how element values display in the Cube
Viewer. The default Format attribute value is Unstyled.
Edit Menu
Undo cell Undoes the last cell action. This option applies only
to individual cells. You cannot undo actions applied
to a range of cells.
Add new attribute Opens the New Attribute dialog box, from which
you can create a new attribute for the elements in
the dimension.
Edit Element Format Opens the Number Format dialog box, from which
you can assign Format attribute values.
Format Options
The Format option is available only when you select cells at the intersection of the Format column and
element rows. Click the Format button to display the Number Format dialog box.
Select an option from the Category list box to specify a display format for the selected cells.
The following number formats are available:
Query Panel
Use the Query panel to build queries that search the TM1 audit log.
The Query panel toolbar contains a Run Query icon to query the audit log after you set the query
options.
The query options are organized into the following groups:
• Date and Time
• Event Owner
• Event Type
Option Description
End Time The end date and time for the query.
This option is enabled only when you select
Custom Time Period for the Time Period option.
TM1 queries against all audit records up to the end
time you specify.
Option Description
Scheduled Chore Sets the query to search for audit events caused
only by scheduled chores.
To search for events caused by a specific
scheduled chore, click the Select Scheduled
Chore button . You can select a single
scheduled chore or multiple scheduled chores.
The default is all scheduled chore.
Option Description
Object Sets the query to search for only object type audit
events.
To search for a specific object event, use the
options as follows:
• Object Type - Limits the query to only a specific
type of TM1 object. For example, events related
only to dimensions.
• Object Name - Allows you to select a specific
object name.
Results Panel
Use the Results panel to view and navigate the records retrieved by your search.
Column Description
Object Name Name of the TM1 object associated with the event.
You can sort the records in the grid in ascending or descending order for any column by clicking on the
column title.
Details Toolbar
The Details toolbar has the following buttons:
Button Description
Find Opens the Find dialog box where you can search
for text in the event records.
Export Opens the Save As dialog box where you can save
the event records to a file in one of the following
formats:
• XML
• comma separated
• tab separated
Column Description
Object Name Name of the TM1 object associated with the event.
You can sort the records in the grid in ascending or descending order for any column by clicking on the
column title.
Screen 1 (Step 1)
Field Description
Specify Values for Parameters Click to open the Parameter Values dialog box,
from which you can specify values for any
parameters associated with the selected process.
Screen 2 (Step 2)
Field Description
Chore Start Date and Time Select a start date on the calendar and specify a
start time in the Time field.
Chore Execution Frequency Fill the appropriate fields to establish the interval
at which the chore should be executed.
Chore Schedule is Active Fill this box to activate the chore for execution at
the specified start time and interval. Clear this box
to activate the chore at a later time.
Clients/Groups Window
The Clients/Groups window lets you create and modify clients and user groups on a server.
Clients/Groups grid
The Clients/Groups grid displays client names as row headings and user groups as column headings. An
'X' at the intersection of a client name and user group indicates the group to which the user belongs.
Users can belong to multiple groups.
The grid also includes several columns that display properties for clients on the server.
• The cell at the intersection of a client name and the Password column contains the password for the
client.
• The cell at the intersection of a client name and the Expiration Days column contains the number of
days for which the password is valid for the client. After this number of days elapses, the client can no
longer log into the server with the assigned password. A client whose password is soon to expire begins
receiving notification of the expiration five days before the expiration date.
• The cell at the intersection of the client name and the Status column indicates whether the client is
active on the server.
• The cell at the intersection of the client name and the Max Connections column indicates the maximum
number of connections that can be established to the server with the associated client name and
password.
Security Menu
Clients Menu
Add New Client Opens the Creating New Client dialog box, from
which you can create a new client on the server.
Set Password Sets the password for the currently selected client.
Groups Menu
Add New Group Opens the Creating New Group dialog box, from
which you can create a new user group on the
server.
Delete Group Deletes the currently selected user group from the
server.
Clients/Groups Grid
You can enter data for clients directly in the Clients/Groups grid.
The grid includes several columns, as described in the following table.
Column Description
User Groups There is one column for every user group on the
server.
To assign a client to a user group, fill the check box
at the intersection of the user group column and
the client name.
Clients can belong to multiple user groups.
Field Description
Shutdown Server Select this option to shut down the server, then
specify a Minutes interval.
Broadcast Message to Selected Clients Select this option to broadcast a text message to
clients connected to the server.
Enter the message in the text box then click Select
Clients to create or select a subset of clients to
receive the message.
Field Description
With Password Enter your password for the selected source server.
Field Description
Cube Name Type the name for the cube you are creating in this
field.
Dimensions in New Cube The list of dimensions in the cube you are creating.
Procedure
1. In the Tree pane of the Server Explorer, select the cube you want to optimize.
2. Click Cube, Re-order Dimensions.
The Cube Optimizer dialog box opens.
3. Select a dimension in the New Order of Dimensions list box.
4. Click the up or down arrows to change the order of the dimension in the cube.
5. Click Test.
Note the value next to the Percent Change label. If this value is negative, the new order of dimensions
consumes less memory and is therefore more efficient.
6. Repeat steps 3 through 5 until you achieve the most efficient ordering of dimensions.
7. Click OK.
Field Description
Load on Demand Fill the box to load the cube into server memory
only when a client requests cube data. Clear this
box to load the cube automatically when the server
starts.
Title dimensions
Title dimensions appear directly beneath the Toolbar at the top of the Cube Viewer window. Each
dimension displays in a list box.
Row dimensions
Row dimensions appear at the top of the row axis of the Cube Viewer. The current dimension elements
appear as row headings in the Cube Viewer.
Column dimensions
Column dimensions appear at the left of the column axis of the Cube Viewer. The current dimension
elements appear as column headings in the Cube Viewer.
File Menu
The following options are available on the File Menu in the Cube Viewer.
Option Description
Open Opens the TM1 Open View dialog box, from which
you can open other views associated with the
current cube.
Delete Views Opens the Delete Named Views dialog box, from
which you can delete saved views.
Active Form Launches the Insert Active Form option to let you
add an Active Form connection to data in the
current cell of the worksheet.
Edit Menu
The following options are available on the Edit Menu in the Cube Viewer.
Option Description
TransAction Undoes the last cell action. Save or Close ends the
collection of actions that can be undone or redone.
Redo restores the last cell action.
Edit Cube Attributes Opens the Attributes Editor window, from which
you can assign and edit attributes for all cubes on
the current server.
View Menu
The following options are available on the View Menu in the Cube Viewer.
Options Menu
The following options are available on the Options Menu in the Cube Viewer
Option Description
Column Width Opens the Column Width dialog box, which lets you
set a minimum and maximum width for columns in
the Cube Viewer.
Slice to New Workbook This option determines how slices are created.
A check mark indicates that slices are inserted in a
new workbook when you choose File, Slice.
If this option is not turned on, slices are inserted in
a new sheet of the current workbook.
Dimension Editor
Elements Pane
Displays elements of the dimension you are currently viewing.
Properties Pane
When you select a consolidated element in the Elements pane, the Properties pane displays the
properties of the immediate children of the consolidated element.
When you select a leaf element, the Properties pane displays the properties of the leaf element.
Note: When viewing an exceptionally large dimension set in the Dimension Editor with the Properties
pane on, you might experience performance issues. This can happen when you select a consolidation
in the Elements pane and TM1has to display the entire list of related elements and properties in the
Properties pane.
If you are working with large dimension sets, you may want to turn off the Properties pane. To turn off the
Properties pane, click the Properties Window option in the View Menu to remove the check mark next to
the option.
Dimension Menu
Edit Menu
Filter by, Level Opens the Filter by Level dialog box, from which
you can select elements by hierarchy level.
This option affects only the display of elements; it
does not affect the dimension structure. When you
use this option the Elements pane displays only the
elements of the level you specify.
Filter by, Attribute Opens the Filter by Attribute dialog box, from
which you can select elements by attribute value.
This option affects only the display of elements;
it does not affect the dimension structure. When
you use this option the Elements pane displays
only those elements with the attribute value you
specify.
Filter by, Wildcard Lets you select elements that match a user-defined
search expression.
This option affects only the display of elements; it
does not affect the dimension structure. When you
use this option the Elements pane displays only
those elements matching the search expression
you specify.
Select Alias Opens the TM1 Aliases dialog box, from which
you can select an alias to use for display in the
Dimension Editor.
Edit Element Formats Opens the Edit Element Formats worksheet, from
which you can define element display styles. These
display styles are applied in dynamic slices and in
TM1 Web websheets.
View Menu
Option Description
Parent Name The name of the parent element to which you are
adding elements. This is not an editable option.
If an element was selected in the dimension editor
when you opened the Dimension Element Insert
dialog box, that element displays as the Parent
Name. If no element was selected, the Parent
Name is Root.
Insert Element Name Enter a name for the new element in this box.
Element Weight If the element type is Simple and the Parent Name
is anything other than Root, enter a weight in this
box. The weight is a multiplication factor applied to
an element during consolidation.
A weight associated with an element of a
consolidation does not alter the value of the
element elsewhere in the dimension.
Procedure
1. Select a sort type.
Type Description
Results
You have now set the order of the dimension elements. When you open the dimension, you will see the
elements in order according to the Sort By option you specified in step 3.
Properties Pane
Options Description
Drill
The Drill menu lists the options used to create and manage a drill process and drill assignment. Drill
processes and assignments are used to create links between cube cells with related detailed data.
Create/Edit/Delete Drill Assignment Rules Choose these options to create, edit or delete drill
assignments. The Create option opens the rules
editor so you can design the rule.
Field Description
The Formula Editor can be used to create functions that reference cubes of up to 29 dimensions.
Option Description
Select Column Member The column element(s) against which the filter or
sort is applied. Click the dimension buttons to
select a single element for each column dimension.
Select Column Members You must select a single element from each
remaining cube dimension. For example, if you
are filtering the Region dimension in the sample
database against values in the Sales cube, you
must specify a single element each of the Model,
Month, ActVsBud, and Account1 dimensions.
For each dimension, click the appropriate button
and select a single element.
If the cube contains more than 16 dimensions,
click to page backward to the previous 16
dimensions, or click to page forward to the
next 16 dimensions.
Option Filter/Description
CubeName The cube for which you want to filter or sort values.
This option is always set to the cube associated
with the current view. It cannot be edited.
TopCount
Filters the view to display only the largest n
elements, where n is a number specified in the
Value option.
BottomCount
Filters the view to display only the smallest n
elements, where n is a number specified in the
Value option.
TopSum
Filters the view to display only the largest elements
whose sum is greater than or equal to n, where n is
a number specified in the Value option.
BottomSum
Filters the view to display only the smallest
elements whose sum is greater than or equal to n,
where n is a number specified in the Value option.
TopPercent
Filters the view to display only the largest elements
whose sum is greater than or equal to n, where n is
a percentage of the dimension total specified in the
Value option.
BottomPercent
Filters the view to display only the smallest
elements whose sum is greater than or equal to
n, where n is a percentage of the dimension total
specified in the Value option.
None
No filter. Select this option if you want to sort
values without filtering.
Select Column Member The column element(s) against which the filter or
sort is applied. Click the dimension buttons to
select a single element for each column dimension.
Ascending
Sorts values for the specified column element(s)
from lowest to highest.
Descending
Sorts values for the specified column element(s)
from highest to lowest.
None
No sort order.
Field Description
Update View Updates the current view by sending any edited values to the TM1 database and
retrieving current values from the database.
Get View Opens the Get View dialog box, from which you can open a view on any available
server.
Styles Opens the View Styles dialog box, which lets you format a view.
Save Opens the Save View dialog box, which lets you save a TM1 view.
Clear Display Clears all data associated with a view, including title, row, and column labels.
Delete Deletes the TM1 View Control. Note that all data associated with the view,
including values and labels, remain in the spreadsheet.
Suppress Zeroes This toggle suppresses or displays zero values in the cube view. A check mark
indicates that zeros are suppressed in the current view.
Show Automatically This toggle enables or disables automatic view update upon view reconfiguration.
A check mark indicates that the view is automatically updated whenever the view
configuration changes.
Update View on This toggle enables or disables automatic view update upon spreadsheet
Recalc recalculation (F9). A check mark indicates that the view is updated whenever
the spreadsheet is recalculated.
File Menu
Edit Menu
Find Opens the Find dialog box where you can search
for text in the Message Log pane.
Field Description
New Attribute Name Enter a name for the new attribute in this field.
All Screens
Screen 1 of 3
Item Description
Include these sheets in the report list Lists the available worksheets in the current Excel
workbook that you can include in the report.
To include a worksheet in the report, select the
check box next to the sheet name.
Select All Click this button to include all sheets in the report.
Clear All Click this button to exclude all sheets from the
report.
Screen 2 of 3
Item Description
Available Title Dimensions list Lists the available title dimensions that you can
use in the report.
For each dimension, this list displays the subset
name (if applicable), number of elements in the
dimension or subset, and cell address of the title
dimension in the worksheet.
Selected Title Dimensions list Lists the title dimensions to include in the report.
The order of this list is used when TM1 generates
the report.
Add All Click this button to move all dimensions from the
Available Title Dimensions list to the Selected Title
Dimensions list.
Remove All Click this button to move all dimensions from the
Selected Title Dimensions list to the Available Title
Dimensions list.
Subset Editor Click this button to open the Subset Editor if you
want to select a subset of elements from the
currently selected dimension in the Selected Title
Dimensions list.
Print Single Workbook Select this option to create a report arranged into
one complete group of worksheets.
Each sheet in the report is printed only once,
including sheets that do not contain TM1 slice
data.
Print Multiple Workbooks Select this option to create a report arranged into
multiple groups based on dimension elements.
This option creates a report with a larger number of
sheets because a copy of each sheet is printed for
each title element.
Total Excel Workbooks that will be generated Displays the total number of Excel sheets that TM1
will generate for the current report.
Screen 3 of 3
Field Description
Print to Printer Select this option if you want to print the report to
a printer.
Save As Excel Files Select this option if you want to generate the report
as an Excel file.
Save As PDF Files Select this option if you want to generate the report
as a PDF file.
Printer Name This option becomes available when you select the
Print to Printer option.
Use this option to specify the printer to which TM1
prints the report.
Number of Copies This option becomes available when you select the
Print to Printer option.
Use this option to specify the number of copies of
the report to print.
Print To File This option becomes available when you select the
Print to Printer option.
Select this option to save the report as a printer-
ready file.
Generate New Workbook for Each Title This option becomes available when you choose to
save the report as an Excel or PDF file.
Select this option if you want to create a separate
file for each title dimension in the report.
Create Snapshot This option becomes available when you select the
Save As Excel Files option.
Select this option when you want to save the report
as an Excel file that contains actual values and not
TM1 functions that retrieve values.
Field Description
Show Success Message Select this option to display a message after the
process has run successfully.
Enter your message text into the box as described
above.
Cube Information
Item Description
Copy Data and Set to Synchronize Select this option to copy data when the replication
is established and to synchronize data when
synchronization occurs between the source and
target servers.
Copy Data but Do Not Set to Synchronize Select this option to copy data when the replication
is established but to disable later synchronization
of data.
Rule Information
Item Description
Copy Rule Select this option to copy any rules from the source
cube to the mirror cube.
Do Not Copy Rule If you select this option, TM1 does not copy the
rule from the source cube to the mirror cube.
Dimension Information
Item Description
Reset Current Selection to Default If you change any Dimension Information options
for a dimension in a replicated cube, you can
restore all options to default values by selecting
the dimension in the Dimension Information box
and clicking this button.
Set Dimension to Synchronize Fill this box to synchronize changes to between the
source and mirror dimension when synchronization
occurs between the source and target servers.
Clear this box to disable synchronization of the
dimension.
Don't overwrite dimension This option becomes available when you select a
local dimension.
Select this option to use the local dimension as-is.
Rules Editor
The Rules Editor has a full set of menus for creating, editing, and managing TM1 rules. Keyboard shortcuts
are provided for the more commonly used menu options.
File Menu
The following table describes the options in the File Menu.
Name Description
Print Opens the Print dialog box so you can print the
current rule.
Print Preview Opens the Print Preview window where you can
view a sample printed version of the rule before
sending it to a printer.
Edit Menu
The following table describes the options in the Edit Menu.
Name Description
Find Opens the Find dialog box so you can search for
text in the rule.
Find Next Locates the next occurrence of the text for which
you are searching.
Goto Line... Displays the Go To Line dialog box so you can enter
and jump to a specific line number in the Rules
Editor.
Name Description
Word Wrap Turns on/off the word wrap feature so lines of text
either extend to the right or wrap to display within
the Edit pane.
Status Bar Turns on/off the display of the status bar at the
bottom of the Rules Editor.
Insert Menu
The following table describes the options in the Insert Menu.
Name Description
Tools Menu
The following table describes the options in the Tools Menu.
Name Description
Field Description
Select or Enter Subset Name Enter a name for the saved subset, or select a
name from the list.
Field Description
Select or Enter Named View Enter a name for the saved view, or select a name
from the list.
Field Description
Assignments Grid
The Assignments grid displays object names as row headings and user groups as column headings.
Access privileges appear as cell values at the intersection of a given object and user group.
When you access the Security Assignment dialog box from a Cubes group, the grid includes a Logging
column. This column includes a check box for each cube. To enable logging for a cube, turn on the check
box at the intersection of the cube name and the Logging column. To disable logging, turn off the check
box. The default is on.
Access Privileges
Click one of the following options to assign an access privileges to a selected cell in the Assignments grid:
None Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
the None privilege for an object.
Object Description
Read Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
Read privilege for an object
Object Description
Write Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
Write privilege for an object.
Cube Members of the group can view and edit cube data,
and can create private views of the cube.
Write access does not allow you to edit data
identified by consolidated elements or derived
from rules. By definition, values derived by
consolidation or by rules cannot be edited.
Reserve Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
Reserve privilege for an object.
Note that when you reserve an object, that reservation expires when the server containing the object
shuts down.
Object Description
Cube Members of the group can view and edit data in the
cube, and can reserve the cube to prevent other
clients from editing cube data. You can release a
cube you have reserved.
Lock Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
Lock privilege for an object.
Note that there is no Unlock privilege, and that only users with Admin privilege for an object can unlock
that object.
Cube Members of the group can view and edit data in the
cube, and can lock the cube.
When a cube is locked, nobody can update its data.
Admin Privilege
The following table describes the ability of TM1 user groups to access various TM1 objects when assigned
Admin privilege for an object.
Object Description
Select Dimension
When you access the Security Assignment dialog box from an individual dimension, the Select Dimension
option is available. This option lets you assign access privileges for elements in multiple dimensions.
After you assign access privileges for one dimension, click Save then select a new dimension from the
Select Dimension list. When you complete assigning privileges for all desired dimensions, click OK to
dismiss the dialog box.
File Menu
The following options are available on the File Menu in the Server Explorer.
Shutdown local server Shuts down the local server and prompts you to
save changes to data. This option is available only
when the local server is running.
Start local server Starts the local server. This option is available only
when the local server is not running.
Refresh Available Servers Updates the display of available servers in the left
pane of the Server Explorer.
Dynamic Menu
The options available from the second menu in the Server Explorer vary according to the type of object
currently selected.
Servers Group
The following options are available from the TM1 menu when you select the servers Group in the Server
Explorer.
Option Description
Save Data All Saves data on all servers to which you are currently
connected.
Server
The following options are available from the Server Menu when you select an individual server in the
Server Explorer.
Option Description
Recycle (Clear memory for Local Server) Shuts down and restarts the local server. When
choosing this option you have the choice of
recycling and saving data on the local server, or
recycling and abandoning changes on the local
server.
Security, Change Password Opens the Password Change dialog box, from
which you can change your password on the
selected server.
View Transaction Log Opens the Transaction Log Query dialog box, from
which you can view a log of transactions on the
selected server.
View Message Log Opens the Message Log dialog box, which displays
messages recorded on the selected server.
Deferred Updates, Start Batch Updates Starts batching updates to be sent to the selected
server.
Deferred Updates, End Batch Updates Ends batching updates and sends all edits to the
selected server.
Applications
The following options are available from the Applications Menu when you select either the Applications
group or an individual application in the Server Explorer.
Option Description
Cubes
The following options are available from the Cubes Menu when you select a cubes group in the Server
Explorer.
Option Description
Edit Attributes Opens the Attributes Editor for the selected cube.
Cube
The following options are available from the Cube Menu when you select a cube in the Server Explorer.
Option Description
Delete Cube Deletes the selected cube and all associated data.
You must have Admin privileges to delete a cube
Create Rule Opens the Rules Editor, from which you can create
a rule for the selected cube.
Delete Rule Deletes the rule associated with the selected cube.
You must have Admin privileges for a cube to
delete the associated rule.
Export as ASCII Data Exports the data contained in the selected cube to
a comma-delimited (.cma) ASCII file.
Dimensions
The following options are available from the Dimensions Menu when you select a dimensions group in the
Server Explorer.
Option Description
Create New Dimension Opens the Dimension Editor window, from which
you can create a new dimension.
Dimension
The following options are available from the Dimension Menu when you select a dimension in the Server
Explorer.
Insert New Subset Opens the Subset Editor window for the dimension.
Edit Dimension Structure Opens the selected dimension for editing in the
Dimension Editor window. You must have Write
privileges for the selected dimension to use this
option.
Set Elements Order Opens the Dimension Element Ordering dialog box,
from which you can set the order of elements in the
selected dimension.
Edit Element Attributes Opens the Attributes Editor window, from which
you can assign and edit attributes for all elements
in the selected dimension.
Security, Elements Security Assignments Opens the TM1 Security Assignments dialog box,
from which you can assign security privileges for
each element in the dimension. You must have
Write privileges for the selected dimension to use
this option.
CubeViews
The following options are available from the CubeViews Menu when you select a views group in the Server
Explorer.
Option Description
Create New View Opens the Cube Viewer window, from which you
can configure a new view.
CubeView
The following options are available from the CubeView Menu when you select a view in the Server
Explorer.
Option Description
Export as Text Data Opens the View Extract window, from which you
can export the view as a comma-delimited (.cma)
file.
Delete View Deletes the selected view. Note that this option
only deletes the view configuration, and not the
data contained in the view.
Subsets
The following options are available from the Subsets Menu when you select a subsets group in the Server
Explorer.
Insert New Subset Opens the Subset Editor window, from which you
can define a new subset.
Subset
The following options are available from the Subset Menu when you select a subset in the Server Explorer.
Option Description
Create New Subset Opens the Subset Editor window for the dimension
to which the selected subset belongs. You can
define a new subset in this window
Delete Subset Deletes the selected subset. Note that this option
only deletes the subset configuration, and does not
delete the elements contained in the subset from
the parent dimension.
Replications
The following options are available from the Replications Menu when you select a replications group in
the Server Explorer.
Option Description
Replication
The following options are available from the Replication Menu when you select a replication in the Server
Explorer.
Option Description
Modify Replication Parameters Opens the Create Server Replication Object dialog
box, from which you can modify the parameters for
the selected replication connection.
Display Chores Involved Opens the Select Chores to Modify dialog box. You
can use this dialog box to remove the selected
replication from any associated chores.
Replicated Cube
The following options are available from the Cube Menu when you select a replicated cube in the Server
Explorer.
Option Description
Processes
The following options are available from the Processes Menu when you select a processes group in the
Server Explorer.
Option Description
Create New Process Opens TurboIntegrator, from which you can create
a new process.
Process
The following options are available from the Process Menu when you select a process in the Server
Explorer.
Option Description
Display Chores Involved Opens the Select Chores to Modify dialog box. You
can use this dialog box to remove the selected
process from any associated chores.
Use Active Sandbox Configures the process to use the data in the
current active sandbox instead of base data
when you run the process. The active sandbox is
determined by which sandbox is currently selected
in the Cube Viewer.
Chores
The following options are available from the Chores Menu when you select a chores group in the Server
Explorer.
Option Description
Create New Chore Opens the Chore Setup Wizard, from which you can
schedule a new chore.
Chore
The following options are available from the Chore Menu when you select an individual chore in the Server
Explorer.
Option Description
Option Description
View Menu
The following options are available on the View Menu in the Server Explorer.
Option Description
Collapse All Children Contracts the tree in the left pane of the Server
Explorer to hide all children of a selected object.
Expand All Children Expands the tree in the left pane of the Server
Explorer to show all children of a selected object.
Subset Editor
Properties pane
Displays the properties of the elements selected in the Elements pane of the Subset Editor. When you
select a consolidated element, this pane displays the names, types, and weights of all children of the
consolidated element.
Note: When viewing an exceptionally large dimension set in the Subset Editor with the Properties pane
on, you might experience performance issues. This can happen when you select a consolidation in the
Elements pane and TM1has to display the entire list of related elements and properties in the Properties
pane.
If you are working with large dimension sets, you may want to turn off the Properties pane. To turn off the
Properties pane, click the Properties Window option in the View Menu to remove the check mark next to
the option.
Subset Menu
Edit Menu
Filter by, Levels Opens the Filter by Level dialog box, from which
you can select elements by hierarchy level.
Filter by, Attribute Opens the Filter by Attribute dialog box, from
which you can select elements by attribute value.
FIlter by, View Extract Lets you select only those elements that satisfy a
user-defined query.
This option is available only when you open the
Subset Editor by clicking on a dimension label in
the Cube Viewer window.
Filter by, Wildcard Lets you select elements that match a user-defined
search string.
Select Alias Opens the TM1 Aliases dialog box, from which you
can select a previously defined alias by which to
display element names.
Edit Element Formats Opens the Edit Element Formats worksheet, where
you can define display styles for dynamic slices
and TM1 Websheets.
View Menu
Tools Menu
Filter Opens the Filter Subset dialog box, which lets you
create a dynamic subset based on cube values.
Login Parameters
Option Description
Admin Host Enter the computer name of your Admin Host. The
Admin Host is the computer on which your Admin
Server runs.
Local Server
Option Description
Local Server Data Directory Enter the full path to your Local Server Data
Directory, or click the accompanying Browse
button to browse to the directory. You can also
click the down arrow to select from a list of
recently accessed directories.
Connect to Local Server on Startup Toggle this option off to start TM1
Perspectives/TM1 Architect without launching the
local server.
The default is on.
Option Description
Certificate Authority The full path of the certificate authority file that
issued the Admin Server's certificate.
Certificate Revocation List The full path of the certificate revocation file
issued by the certificate authority that originally
issued the Admin Server's certificate. A certificate
revocation file will only exist in the event a
certificate had been revoked.
Use Certificate Store Select this option if you want the certificate
authority certificate which originally issued the
Admin Server's certificate to be exported from the
Windows certificate store at runtime.
When this option is selected, you must also set a
value for Export Certificate ID in the TM1 Options
dialog box.
Option Description
To set any of the above parameters, click the arrow next to the appropriate field.
Column Description
The Transaction Log Query Results dialog box includes three menus.
The File Menu contains a single item: Exit.
The Help Menu contains a single item to open help for the dialog box.
The Edit Menu contains the following items:
TurboIntegrator Editor
The TurboIntegrator Editor lets you define processes for importing data or metadata from several possible
sources. The editor is comprised of five tabs, several of which are dynamic or contain sub-tabs. You define
a process by completing each tab in sequential order.
File Menu
Edit Menu
ODBC
Define an ODBC datasource:
Fields Description
Data Source Name The full path to the ODBC data source.
Text
Define an ASCII or Text datasource:
Data Source Name The full path to the source text file. To ensure that
this path is recognizable to both client and server,
click the Browse button and use the Network
Neighborhood to define the path.
Data Source Name On Server When you create a new process, TurboIntegrator
assumes that the data source name on the server
is identical to the data source name used to create
the process.
If the data source name on the server is different
from the local data source used to create the
process, enter the full path to the data source file
on the server.
Number of title records If the title records span more than one row, enter
the number of rows here. Otherwise, leave this
field blank.
ODBO
Although the ODBO option remains as a data source selection in the TurboIntegrator editor in Architect
and Perspectives, support for ODBO is deprecated as of Planning Analytics [Link].
SAP
Defines the SAP RFC datasource:
Info Cube
Area Field Description
Info Cube Show SAP Technical Names To use technical names, select
this checkbox. Leave this
box unchecked to display by
descriptive name.
Characteristics tab
Field Description
Select Hierarchies Identify the hierarchies in the Identify the hierarchies in the
datasource. datasource.
Evaluation Date Date when all time-dependent Date when all time-dependent
SAP attributes are imported into SAP attributes are imported into
TM1 as they existed on the TM1 as they existed on the
specified date. Attributes that are specified date. Attributes that are
not time-dependent are imported not time-dependent are imported
as they exist at the time of as they exist at the time of
process execution. process execution.
If this date is cleared, all SAP If this date is cleared, all SAP
attributes are imported as they attributes are imported as they
exist on the date the TM1 exist on the date the TM1
process runs. process runs.
Do not import a hierarchy with Do not import a hierarchy with
intervals. intervals.
TM1 Dimension Select the existing TM1 Select the existing TM1
dimension that maps to this dimension that maps to this
characteristic. characteristic.
Leave this field empty if you Leave this field empty if you
do not want to import the do not want to import the
characteristic in to your TM1 characteristic in to your TM1
cube. cube.
Select Attributes Characteristic Attributes Define the attributes for this data
source.
Select Key Figure Select each key figure you want Select each key figure you want
to import into TM1. to import into TM1.
If the key figures map to an If the key figures map to an
existing TM1 dimension, click existing TM1 dimension, click
the TM1 Dimension column the TM1 Dimension column
and select the dimension that and select the dimension that
corresponds to the key figures. corresponds to the key figures.
Operator Description
There are eight operators to choose from, as described in the following table.
Enter a low value for the restriction in the Low Value column.
Enter a high value for the restriction, if required, in the High Value column.
Note: Restrictions are not validated through TurboIntegrator. You must ensure that the restrictions you
enter are accurate and valid for your SAP data.
Security
Field Description
SAP Table
Field Description
Field Description
Currency
Field Description
Show SAP Technical Names To use technical names, select this checkbox.
Leave this box unchecked to display by descriptive
name.
Field Description
Package
Field Description
Connection Define the connection to this data Define the connection to this data
source. source.
UserID Password
Dimension
Field Description
None
Used to add a user-defined prolog to a process.
If the data source for the process is None, TurboIntegrator immediately executes the Epilog procedure
after the Prolog finishes processing.
Note: When the data source for a process is None, the Metadata and Data procedures are ignored. In this
case, all scripts for the process must be created in either the Prolog or Epilog procedures.
Preview Grid
The preview grid displays the first ten records in your data source. Use this grid to confirm that the source
is correct and to help determine the structure of records.
If you change your data source, click Preview again to refresh the display of the grid.
Variables Tab
The Variables tab includes a grid and two buttons.
Grid
Use the Variables grid to assign variables and identify the contents of each column in your data source.
The Variables grid includes the following columns.
Column Description
Variable Type Contains a list for each column in your data source.
Use the list to specify whether a variable is string
or numeric.
Buttons
Button Description
Option Description
Show automatically everytime the variable name Click here to display this dialog box if the variable
changes name is changed. If the box is cleared, you must
manually request it by clicking the Formula box on
the Variables tab,
Maps Tab
Use the Maps tab to specify how source data maps to cubes, dimensions, data, consolidations, and
attributes in the TM1 database.
The Maps tab consists of a series of sub-tabs, each containing options that let you map variables for your
source data to existing TM1 metadata structures. The sub-tabs that are available vary according to the
type of values contained in your source data, as specified in the Contents column of the Variables tab.
The Maps tab contains the following sub-tabs.
Cube
Use the Cube sub-tab to specify how TurboIntegrator maps imported data to TM1 cubes. The Cube
sub-tab includes the following options.
Option Description
Zero Out Portion This option becomes available when you select the
Update Cube action. Select this box if you want to
set all data points in a cube view to zero.
View Name This option becomes available when you select the
Update Cube and Zero Out Portion options.
Select or define the view that encompasses the
data points you want to zero out.
Enable Cube Logging Fill this check box to write cube changes to the
[Link] file. Clear this box to process cubes
without recording changes in [Link].
Dimensions
Use the Dimensions sub-tab to map element variables to dimension elements.
The sub-tab includes a grid you use to map individual variables to dimensions in the TM1 database. The
grid includes the following columns.
Column Description
Data
Use the Data sub-tab to map data variables to specific elements.
The sub-tab includes a grid you use to map individual variables to elements in the TM1 database. The grid
includes the following columns.
Column Description
Data Variable Contains the name of each variable for which you
specified a Contents value of Data. The Contents
value is specified in the Variables tab.
Sample Value A sample value from the first record of your data
source. Use this value to help identify the element
to which the data variable maps.
Consolidations
Use the Consolidations sub-tab to map children to consolidated elements.
The sub-tab includes a grid you use to map individual variables to dimensions in the TM1 database. The
grid includes the following columns.
Column Description
Cons. Variable Contains the name of each variable for which you
specified a Contents value of Consolidation. The
Contents value is specified in the Variables tab.
Child Variable Lists the variables from which you select the
immediate child of the consolidation.
Sample Value A sample value from the first record of your data
source. Use this value to help identify the element
to which the consolidation maps.
Attributes
Use the Attributes sub-tab to map attribute variables to specific attributes.
The sub-tab includes a grid you use to map individual variables to dimensions in the TM1 database. The
grid includes the following columns.
Column Description
Sample Value Displays a sample value from the data source. Use
this sample to help map the attribute.
Element Variable Lists the element variables. Select the variable for
the element to which the attribute variable applies.
Advanced Tab
The Advanced tab contains several sub-tabs that display statements generated by TM1 based on the
options you select elsewhere in the TurboIntegrator Editor. The Advanced tab also includes a sub-tab
where you can define parameters for the process.
Parameters
Item Description
Default Value Enter a value to use as the default value for this
parameter when the TurboIntegrator process runs.
Prompt Question Enter a prompt to use for this parameter when the
TurboIntegrator process runs.
Prolog
Item Description
Goto Line button Click this button, enter the line you want to go to,
then click OK to go directly to a line of code in the
statement text box.
Metadata
Item Description
Got Line button Click this button, enter the line you want to go to,
then click OK to go directly to a line of code in the
statement text box.
Data
Item Description
Goto Line button Click this button, enter the line you want to go to,
then click OK to go directly to a line of code in the
statement text box.
Epilog
Item Description
Goto Line button Click this button, enter the line you want to go to,
then click OK to go directly to a line of code in the
statement text box.
Schedule Tab
Use this tab to schedule a process to execute at regular intervals.
Item Description
Schedule this Process as a Chore Named Check here to execute this process as a chore at
regular intervals. By default, the chore bears the
same name as the process. If you want to assign
the chore a different name, type it in the entry field.
Chore Start Date and Time Select a start date on the calendar and specify a
start time in the Time field.
Chore Execution Frequency Fill the appropriate fields to establish the interval
at which the chore should be executed.
Skip parameters
Parameter Description
Skip Rule Calculated Values Turn this option on to ignore values derived
through rules when extracting the view. Turn this
option off to include values derived through rules
when extracting the view. The default is off.
Skip Zero/Blank Values Turn this option on to ignore zeros or blank values
when extracting the view. Turn this option off to
include zeros or blank values when extracting the
view. The default is on.
Range parameters
Parameter Description
For each dimension, click the Subset button and select the elements or subset that defines the
parameters for the view extract.
If the view from which you are creating the extract contains more than 16 dimensions, click to page
backward to the previous 16 dimensions, or click to page forward to the next 16 dimensions.
Data Cells Select a style from this list to apply to data cells.
The Data Cells style takes precedence over the
Background style.
Row Header Cells Select a style from this list to apply to row header
cells.
The Row Header Cells style takes precedence over
the Background style.
Column Header Cells Select a style from this list to apply to column
header cells.
The Column Header Cells style takes precedence
over the Background style.
Edit Style buttons Click the appropriate Edit Style button to edit or
create styles for the associated range of the In-
Spreadsheet Browser.
Operator Meaning
* (asterisk) Multiplication
^ (caret/circumflex) Exponentiation
Operator Meaning
= Equal to
ATTRN
ATTRN returns a numeric attribute for a specified element of a dimension or a dimension hierarchy.
This function is valid in both rules and processes.
Syntax
ATTRN(dimension, element, attribute)
Argument Description
V1 = CELLGETN('PNLCube', 'fred',
'argentina','Sales','Jan');
IF(V1 = 454);ASCIIOUTPUT
('[Link]', 'if logic not working
properly');
ENDIF;
Example
In this example, the function returns the numeric value of the Engine Size attribute of the L Series 1.8L
Sedan element in the New Offerings hierarchy of the Model dimension.
ATTRS
ATTRS returns a string attribute for a specified element of a dimension or a dimension hierarchy.
This function is valid in both rules and processes.
Syntax
ATTRS(dimension, element, attribute)
Argument Description
Example
In this example, the function returns the string value of the Currency attribute of the 10100 element in
the EMEA hierarchy of the plan_business_unit dimension.
CubeATTRN
CubeATTRN returns a numeric attribute for a specified cube.
This function is valid in both rules and TurboIntegrator processes.
Syntax
CubeATTRN(CubeName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Product
cube.
CubeATTRN('Product', 'Accounting_Code');
CubeATTRS
CubeATTRS returns a string attribute for a specified cube.
This function is valid in both rules and TurboIntegrator processes.
Syntax
CubeATTRS(CubeName, AttrName);
Argument Description
CubeATTRS('Product', 'Owner');
DimensionATTRN
DimensionATTRN returns a numeric attribute for a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DimensionATTRN(DimName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the
Plan_Business_Unit dimension.
DimensionATTRN('Plan_Business_Unit', 'Accounting_Code');
DimensionATTRS
DimensionATTRS returns a string attribute for a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DimensionATTRS(DimName, AttrName);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Plan_Business_Unit
dimension.
DimensionATTRS('Plan_Business_Unit', 'Manager');
Syntax
ElementAttrN(dimension, hierarchy, element, attribute)
Argument Description
V1 = CELLGETN('PNLCube', 'fred',
'argentina','Sales','Jan');
IF(V1 = 454);ASCIIOUTPUT
('[Link]', 'if logic not working
properly');
ENDIF;
Example
In this example, the function returns the numeric value of the Engine Size attribute of the L Series 1.8L
Sedan element in the Automobile hierarchy of the Model dimension.
ElementAttrS
ElementAttrS returns a string attribute for a specified element of a dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementAttrS(dimension, hierarchy, element, attribute)
Example
In this example, the function returns the string value of the Currency attribute of the 10100 element in
the expense hierarchy of the plan_business_unit dimension.
ConsolidatedAvg
ConsolidatedAvg calculates the average value in a consolidation and returns that single value.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ConsolidatedAvg(flag-value, cube-name, element_1, element_2,… );
Arguments
flag-value
The flag-value is the sum of the following option values:
• 1 - Use weighting when computing the value of consolidated values within the consolidation for
which you are determining the average. If this option value is not included in the flag-value sum,
the raw value of a consolidated element is used.
The following conditions might affect whether zeros are included in the calculation.
– If zero is specified as the weighting of some consolidated elements, then the Planning
Analytics database configuration parameter ZeroWeightOptimization=F must be set for
these elements to be included in the calculation of the average value in a consolidation. Without
this configuration parameter, the elements for which the weighting is zero are eliminated from
the consolidation list, and are therefore not included when calculating the average value in a
consolidation.
– If you want cells containing the value zero to be included when calculating the average,
UNDEFVALS must be set in the rules for the cube that is specified by the cube-name argument.
This ensures that when a zero is assigned to a cell of the cube, an actual zero value is stored in
the cell and the zero value is included when calculating the average value in a consolidation.
Example
In a cube that is called Income Statement with three dimensions that are named Regions, Time, and
Income Statement, the Income Statement dimension contains an element that is called Gross Sales for
the overall sales number.
To calculate the average sales across all regions in the year 2010, write:
ConsolidateChildren
ConsolidateChildren forces consolidated values to be calculated by summing immediate children along
a specified dimension. ConsolidateChildren is useful when intermediate consolidations are calculated by
rules and you want a parent consolidation to be calculated by summing the intermediate consolidations
rather than by summing the underlying leaf values.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ConsolidateChildren(DimName1, DimName2, ...)
Example
Consider a cube named Sales composed of the dimensions ActVsBud, Region, Model, Account1, and
Month.
In this example, the Month dimension is defined as follows:
If no rule is in place for this cube, the value of the Year consolidation is calculated by summing all the
underlying leaf values, in this case Jan through Dec. The following image illustrates this consolidation.
Now, suppose you create the following rule for this cube, which indicates that all quarterly values should
be 1:
Note that the Year consolidation is now calculated by summing its immediate children.
It's important to remember that for a given consolidation, the ConsolidateChildren function applies only
to the immediate children of the consolidation.
The ConsolidateChildren function can also be used to specify how consolidations are calculated in
multiple dimensions, as in the following example:
Argument Description
ConsolidatedCount
ConsolidatedCount returns the number of values in a consolidation.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ConsolidatedCount(flag-value, cube-name, element_1, element_2,… );
Arguments
flag-value
The flag-value is the sum of the following option values:
• 1 - Use weighting when computing the value of consolidated values within the consolidation for
which you are counting values. If this option value is not included in the flag-value sum, the raw
value of the consolidated element is used.
The following conditions might affect whether zeros are included in the calculation.
– If zero is specified as the weighting of some consolidated elements, then the Planning
Analytics database configuration parameter ZeroWeightOptimization=F must be set for
these elements to be included in the count of values in a consolidation. Without this configuration
ConsolidatedCountUnique
ConsolidatedCountUnique counts the number of unique elements for which data points actually exist for
the specified consolidation. The unique elements are counted along one dimension of the consolidated
cell.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ConsolidatedCountUnique( flag-value, unique-along-dimension-name, cube-name,elem_1,
elem_2, . . . );
Arguments
flag-value
The flag-value is the sum of the following option values:
• 1 - Use weighting when computing the number of unique elements for which data points actually
exist. If this option value is not included in the flag-value sum, the raw values of elements within
the consolidation are used.
Example
In a cube called Income Statement with three dimensions: Regions, Time, and Income Statement, the
Income Statement dimension contains an element called Gross Sales for the overall sales number. To
count how many regions had some gross sales in the year 2010 write:
This example uses consolidation weighting and ignores zero values when computing the number of
unique elements with actual values.
ConsolidatedMax
ConsolidatedMax calculates the maximum value in a consolidation and returns that single value.
This function is valid in both rules and TurboIntegrator processes.
Arguments
flag-value
The flag-value is the sum of the following option values:
• 1 - Use weighting when computing the value of consolidated values within the consolidation for
which you are determining the maximum. If this option value is not included in the flag-value
sum, the raw value of the consolidated element is used.
The following conditions might affect whether zeros are included in the calculation.
– If zero is specified as the weighting of some consolidated elements, then the [Link]
configuration parameter ZeroWeightOptimization=F must be set for these elements to be
included in the calculation of the maximum value in a consolidation. Without this configuration
parameter, the elements for which the weighting is zero are eliminated from the consolidation list,
and are therefore not included when calculating the maximum value in a consolidation.
– If you want cells containing the value zero to be included when calculating the average,
UNDEFVALS must be set in the rules for the cube that is specified by the cube-name argument.
This ensures that when a zero is assigned to a cell of the cube, an actual zero value is stored in
the cell and the zero value is included when calculating the maximum value in a consolidation.
– If the rules for the cube that is specified by the cube-name argument include a SKIPCHECK
statement, zeros are always ignored when calculating the maximum value in a consolidation.
Remove the SKIPCHECK statement from the rule to include zeros in the calculation of the
maximum value.
• 2 - Ignore zero values. If this value is included in the flag-value sum, zero values will not be
included in the calculation of the maximum value in a consolidation.
There are three valid values for flag-value.
• 1 - Use consolidation weighting when computing the maximum value in a consolidation.
• 2 - Ignore zero values when computing the maximum value in a consolidation.
• 3 - Use consolidation weighting and ignore zero values when computing the maximum value in a
consolidation.
cube-name
Name of the cube where the values reside.
If the function is running as part of a cube rule, and NOT as part of a TurboIntegrator process, the
cube-name argument can be specified as an empty string to mean the current cube. This means you
may write a rule such as:['Apr']=ConsolidatedMax( 1, '', !actvsbud, '1 Quarter' );
element_1, element_2, …
Dimension element names that define the intersection of the cube containing the consolidation for
which you want to determine the maximum value.
Arguments element_1 through element_n are sequence-sensitive. element_1 must be an element
from the first dimension of the cube, element_2 must be an element from the second dimension, and
so on. These arguments can also be the names of aliases for dimension elements or TurboIntegrator
variables.
Example
Consider a cube called Income Statement with three dimensions, "Area", "Time", and "Income
Statement". The Income Statement dimension contains an element "Gross Sales" for the overall sales
number.
ConsolidatedMin
ConsolidatedMin calculates the minimum value in a consolidation and returns that single value.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ConsolidatedMin(flag-value, cube-name, element_1, element_2,… );
Arguments
flag-value
The flag-value is the sum of the following option values:
• 1 - Use weighting when computing the value of consolidated values within the consolidation for
which you are determining the minimum. If this option value is not included in the flag-value
sum, the raw value of the consolidated element is used.
The following conditions might affect whether zeros are included in the calculation.
– If zero is specified as the weighting of some consolidated elements, then the Planning
Analytics database configuration parameter ZeroWeightOptimization=F must be set for
these elements to be included in the calculation of the minimum value in a consolidation. Without
this configuration parameter, the elements for which the weighting is zero are eliminated from
the consolidation list, and are therefore not included when calculating the minimum value in a
consolidation.
– If you want cells containing the value zero to be included when calculating the average,
UNDEFVALS must be set in the rules for the cube that is specified by the cube-name argument.
This ensures that when a zero is assigned to a cell of the cube, an actual zero value is stored in
the cell and the zero value is included when calculating the minimum value in a consolidation.
– If the rules for the cube that is specified by the cube-name argument include a SKIPCHECK
statement, zeros are always ignored when calculating the minimum value in a consolidation.
Remove the SKIPCHECK statement from the rule to include zeros in the calculation of the
minimum value.
• 2 - Ignore zero values. If this value is included in the flag-value sum, zero values will not be
included in the calculation of the minimum value in a consolidation.
There are three valid values for flag-value.
• 1 - Use consolidation weighting when computing the minimum value in a consolidation.
• 2 - Ignore zero values when computing the minimum value in a consolidation.
• 3 - Use consolidation weighting and ignore zero values when computing the minimum value in a
consolidation.
cube-name
Name of the cube where the values reside.
If the function is running as part of a cube rule, and NOT as part of a TurboIntegrator process, the
cube-name argument can be specified as an empty string to mean the current cube. This means you
may write a rule such as:['Apr']=ConsolidatedMin( 1, '', !actvsbud, '1 Quarter' );
element_1, element_2, …
Dimension element names that define the intersection of the cube containing the consolidation for
which you want to determine the minimum value.
CellValueN
CellValueN returns the numeric value of the specified elements in a cube. This function is valid only in
rules. Use of this function in a TurboIntegrator process will result in an error. Use of this function in a
TurboIntegrator process will result in an error.
For dimensions not among the element parameters, coordinates are retrieved from the rule target (the
cell being retrieved and triggering rule evaluation). The function behavior is analogous to the intra-cube
reference expression (e.g. [ 'Measures':'Count' ] ), as used in the formula component of a rule .
The element parameters may be specified in any order, and for CellValueN, multiple elements from the
same dimension (but different hierarchies of the dimension) may be specified. Since the elements list is
not required to be in cube dimension order, it is necessary to dimension-qualify all element parameters.
Element parameters from multi-hierarchy dimensions must also be hierarchy-qualified.
Syntax
CellValueN(cube, element1,..., elementN);
Argument Description
Example
CellValueS('ForecastCube', 'Products':'ProductsByChannel':'Channel2', 'Measures':'Count');
This example returns the numeric value of the specified cell. The Products dimension has multiple
hierarchies while the Measures dimension has one hierarchy.
The intra-cube reference is restricted to literal parameters, while CellValueN is not. This behavior is
analogous to the DB() rules function. The element parameters may be specified using string-valued
expressions. For example, the previous Products element parameter could be specified as:
Unlike DB() and the intra-cube reference expression, CellValueN element parameters must be either
dimension-qualified, or dimension and hierarchy qualified.
CellValueS
CellValueS returns the string value of the specified element(s) in a cube. This function is valid only in
rules. Use of this function in a TurboIntegrator process will result in an error.
For dimensions not among the element parameters, coordinates are retrieved from the rule target (the
cell being retrieved and triggering rule evaluation). The function behavior is analogous to the intra-cube
reference expression (e.g. [ 'Measures':'Count' ] ), as used on formula portion of a rule statement.
Syntax
CellValueS(cube, element1,..., elementN);
Argument Description
Example
CellValueS('ForecastCube', 'Products':'ProductsByChannel':'Channel2', 'Measures':'Location');
This example returns the string value of the specified cell. The Products dimension has multiple
hierarchies while the Measures dimension has one hierarchy.
The intra-cube reference is restricted to literal parameters, while CellValueS is not. This behavior is
analogous to the DB() rules function. The element parameters may be specified using string-valued
expressions. For example, the previous Products element parameter could be specified as:
Unlike DB() and the intra-cube reference expression, CellValueS element parameters must be either
dimension-qualified, or dimension and hierarchy qualified.
DB
DB returns a value from a cube in a Planning Analytics database. DB returns a numeric value if used in a
numeric expression and a string value if used in a string expression.
This function is valid only in rules. Use of this function in a TurboIntegrator process will result in an error.
Syntax
DB(cube, e1, e2, [...e256])
Parameters
cube
The name of the cube from which to retrieve the value.
e1,...en
Dimension element names that define the intersection containing the value to be retrieved.
Arguments e1 through en are sequence-sensitive. e1 must be an element from the first dimension of
the cube, e2 must be an element from the second dimension, and so on.
When used to reference multi-hierarchy dimensions, you must specify the particular hierarchy. In this
example, the Category2 element exists in the ByCategory hierarchy of the ProductsCube dimension.
DB('ProductsCube', 'ByCategory':'Category2',...)
Related information
Using cube references
ISLEAF
ISLEAF returns 1 if a specified cell is a leaf cell (identified solely by leaf/simple elements). If the specified
cell is identified by any consolidated elements, the function returns 0.
The ISLEAF function cannot be used in TurboIntegrator processes. The presence of this function in a
process will prevent the process from compiling.
Syntax
ISLEAF
Arguments
None.
Example
You can use ISLEAF in an IF statement to test if a current cell is a leaf cell. For example:
[]=IF((ISLEAF=1),TrueStatement, FalseStatement);
Executes the TrueStatement if the current cell is a leaf cell, otherwise it executes the FalseStatement.
ISUNDEFINEDCELLVALUE
ISUNDEFINEDCELLVALUE compares the passed value to the default numeric cube value, which is
influenced by the presence of the UNDEFVALS declaration in that cube's rule. The function returns 1
if the passed value equals the cube's default value, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ISUNDEFINEDCELLVALUE(TestValue, <Cube>)
Arguments
Argument Description
TestValue The numerical value to compare against the cube's default value.
Cube An optional String argument that specifies the cube whose default value should
be compared.
When ISUNDEFINEDCELLVALUE is used in a rule, the cube is assumed to be the
subject cube unless otherwise specified.
When used in a process, a cube should be specified.
If the cube is omitted in a process, or is not valid when specified, 0 will be used
for comparison.
Example
ISUNDEFINEDCELLVALUE(TestValue) returns 1 when TestValue is the special undefined value and is
used in the rule of a cube with UNDEFVALS declared.
UNDEF
UNDEF returns the undefined value. This function can be used to prevent data from being stored in a cube
based on a logical test.
This function is valid in both rules and TurboIntegrator processes.
Syntax
UNDEF
Arguments
None.
Example
UNDEF returns the undefined value.
UNDEFINEDCELLVALUE
UNDEFINEDCELLVALUE returns the default numeric cube value, which is influenced by the presence of
the UNDEFVALS declaration in that cube's rule.
This function is valid in both rules and TurboIntegrator processes.
Syntax
UNDEFINEDCELLVALUE(<Cube>)
Argument Description
Cube An optional String argument that specifies the cube whose default value should
be returned.
When UNDEFINEDCELLVALUE is used in a rule, the cube is assumed to be the
subject cube unless otherwise specified.
When used in a process, a cube should be specified.
If the cube is omitted in a process, or is not valid when specified, 0 will be
returned.
Example
UNDEFINEDCELLVALUE returns 0 when used in the rule of a cube without UNDEFVALS declared, or when
used in a process.
UNDEFINEDCELLVALUE returns the special undefined value when used in the rule of a cube with
UNDEFVALS declared.
UNDEFINEDCELLVALUE('ExampleCube') returns the default value of ExampleCube or 0 if
ExampleCube does not exist.
UNDEFVALS
Putting UNDEFVALS in the rules for a cube changes the default value for the cube from zero to a special
undefined value. Like other rules functions, UNDEFVALS applies only to the cube associated with the rule
in which the function appears.
This function is valid only in rules. Use of this function in a TurboIntegrator process will result in an error.
Use of UNDEFVALS has ramifications regarding how data is stored in the cube and retrieved.
• Data Storage
For a cube without UNDEFVALS in the rules, the default value is zero. If an attempt is made to store a
zero in a cell of the cube, that storage request is ignored, as this is a redundant attempt to store the
default value, and it would needlessly consume memory space. Similarly, if a cell already contains a
value and the value is deleted, nothing is stored in the cell.
If however the cube has UNDEFVALS defined in the rules, this makes the default value a special
undefined value. Now when a zero is stored in a cell of a cube, it is actually stored, just like any other
non-zero value.
The special undefined value is only a run-time value, returned from requests for cell values. It is never
stored in an actual cell in memory, and is never written to disk. Including UNDEFVALS in the rule for
a cube has no effect on memory usage or disk storage, except for cells that actually contain zero as
a value. When UNDEFVALS is included in the rule for a cube, zero values in that cube will consume
memory space and will be written to disk, just like any other data value. If UNDEFVALS is not specified,
zero value cells are not stored in memory nor are they written to disk.
• Data Retrieval
For a cube without UNDEFVALS in the rules, the default value is zero. When a cell is retrieved, and there
is no value currently stored for that value in the cube, a value of zero (as the default value) is returned.
This means that an application cannot tell whether a cell actually exists and contains zero as the cell
value, or whether the cell does not exist (as can be the case with sparse data).
If however the cube has UNDEFVALS defined in the rules, this make the default value a special
undefined value. In this case, when a non-existent cell is retrieved, the value retrieved will be this
special undefined value. This can be used to distinguish a cell that does not exist (special undefined
In this comparison, NoCellVal, which is the special undefined value for an UNDEFVALS cube, is treated
as a zero. This means the comparison is really If ( vv = 0 ).
In TurboIntegrator you must use the IsUndefinedCellValue to test if a cell value is the special undefined
value. For example:
Syntax
UNDEFVALS
Arguments
None.
DATE
DATE returns the date string in yy-mm-dd or yyyy-mm-dd format for a given serial number.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DATE(SerialNumber, ReturnFourDigitYear)
Argument Description
Example
DATE(13947) returns 98-03-09.
DATE(13947, 1) returns 1998-03-09.
DATES
DATES returns a date string, in the form 'yy-mm-dd' or 'yyyy-mm-dd', corresponding to a given year,
month, and day.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DATES(year, month, day)
Argument Description
Example
DATES(98, 2, 10) returns '98-02-10'.
DATES(1998, 2, 10) returns '1998-02-10'.
Syntax
DAY(DateString)
Argument Description
Example
DAY('02-05-25') returns 25.
DAYNO
DAYNO returns the serial date number corresponding to a given date string.
This function is valid in both rules and TurboIntegrator processes.
Note: DAYNO can return serial dates for date strings starting at January 1, 1960 (dates string 1960-01-01
or 60-01-01). For dates after December 31, 2059, you use a four digit year in the date string. For
example, the date string for January 5, 2061 would be 2061-01-05.
Syntax
DAYNO('DateString')
Argument Description
Example
DAYNO('98-03-09') returns 13947.
MONTH
MONTH returns a numeric value for the month in a given date string.
This function is valid in both rules and TurboIntegrator processes.
Syntax
MONTH(date)
Argument Description
NOW
NOW returns the current date/time value in serial number format.
This function is valid in both rules and TurboIntegrator processes.
Note: If you are using NOW as a calculated consolidation value, set
RestrictVolatileValuesFromCache to True in the [Link] configuration file to automatically
update the consolidation value whenever you refresh or recalculate.
Syntax
NOW
Arguments
None.
Example
['current_date'] = C: Now()
TIME
TIME returns a string, in HH:MM format, representing the system time on the Planning Analytics database.
This function is valid in both rules and TurboIntegrator processes.
Syntax
TIME
Arguments
None.
Example
Given a system time of 9:33 AM, TIME returns the string '09:33'.
Given a system time of 9:33 PM, TIME returns the string '21:33'.
TIMST
TIMST returns a formatted date/time string.
This function is valid in both rules and TurboIntegrator processes.
Syntax
TIMST(datetime, format, ExtendedYears)
\y
the last two digits of the year (97, 98, etc.)
\Y
the four digits of the year (1997, 1998, etc.)
\m
the two digits of the month (01 through 12)
\M
the abbreviation of the month (JAN, FEB, etc.)
\d
the two digits of the day (01 through 31)
\D
the digit of the day (1 through 31)
\h
the hour in military time (00 through 23)
\H
the standard hour (1 through 12)
\i
the minute (00 through 59)
\s
the second (00 through 59)
\p
a.m. or p.m.
Example
TIMST(366.0000, '\M \D, \Y') returns 'JAN 1, 1961'.
TIMST(366.5000, '\H\p \imin\ssec') returns '12p.m. 00min00sec'.
TIMST(366.1000, 'On \M \D, \Y at \H\p \imin\ssec') returns 'On JAN 1, 1961 at 2a.m. 24min00sec'.
TIMST(11111.1100, 'On \M \D, \Y at \H\p \imin\ssec') returns 'On JUN 3,1990 at 2a.m. 38min24sec'.
TIMVL
TIMVL returns the numeric value of a component (year, month, etc.) of a date/time value.
This function is valid in both rules and TurboIntegrator processes.
Syntax
TIMVL(datetime, type, ExtendedYears)
Y
year value (1997, 1998, etc.)
M
month value (1 through 12)
D
day value (1 through 31)
H
hour value (0 through 23)
I
minute value (00 through 59)
S
second value (00 through 59)
Example
TIMVL(11111.1100, 'Y') returns 1990.
TIMVL(11111.1100, 'H') returns 2.
TODAY
TODAY returns the current date in yy-mm-dd format.
This function is valid in both rules and TurboIntegrator processes.
Syntax
TODAY(<ReturnFourDigitYear>)
Example
P1=TODAY(1) returns a data string in YYYY-MM-DD format such as 2009-06-05.
P1=TODAY(0) returns a date string in YY-MM-DD format such as 09-06-05
YEAR
YEAR returns a numeric value for the year in a given date string.
This function is valid in both Planning Analytics rules and processes.
Syntax
YEAR(date)
Argument Description
Example
YEAR('02-05-25') returns 2.
Syntax
DIMIX(server_name:dimension, element)
Argument Description
Example
Brazil has an index value of three in the Region dimension. The example returns 3.
DIMIX('planning_sample:Region','Brazil')
DIMNM
DIMNM returns the element of a dimension that corresponds to the index argument.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DIMNM(server_name:dimension, index)
Argument Description
Example
This example returns 'Belgium', which is the element within the Region dimension with an index value of
2.
DIMNM(planning_sample:'Region',2)
Syntax
DIMSIZ(dimension)
Argument Description
Example
If the dimension Accounts contains 19 elements, the example returns the value 19.
DIMSIZ('Accounts')
DNEXT
DNEXT returns the element name that follows the element specified as an argument to the function.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DNEXT(dimension, element)
Argument Description
Example
If the Location dimension contains the ordered elements California, Oregon, and Washington, the
example returns Washington.
DNEXT("Location","Oregon")
DNLEV
DNLEV returns the number levels in a dimension.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
DNLEV('Region')
In the Region dimension, the various nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3).
There are four levels in the Region dimension, so the example returns the value 4.
DTYPE
DTYPE returns information about the element type of a specified element. DTYPE returns N if the element
is a numeric element, S if the element is a string element, C if the element is a consolidated element.
In the case of an element attribute dimension, DTYPE returns AN if the attribute is a numeric attribute, AS
if the attribute is a string attribute, and AA if the attribute is an alias attribute. For more information, see
Element Attributes.
This function is valid in both rules and TurboIntegrator processes.
Syntax
DTYPE(dimension, element)
Argument Description
Example
The element Europe is a consolidated element of the Region dimension, so the example returns C.
DTYPE('Region','Europe')
TABDIM
TABDIM returns the dimension name that corresponds to the index argument.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
TABDIM(cube, index)
Example
The cube SalesCube contains five dimensions: account1, actvsbud, model, month, and region. The
example returns model, the third dimension of SalesCube.
TABDIM('SalesCube',3)
ELCOMP
ELCOMP returns the name of a child of a consolidated element in a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELCOMP(dimension, element, position)
Argument Description
Example
In the dimension Region, the consolidated element Central Europe is a consolidation of the children
France and Germany. Germany is in the second position in this consolidation. Accordingly, the example
returns Germany.
ELCOMP('Region','Central Europe',2)
ELCOMPN
ELCOMPN returns the number of components in a specified element. If the element argument is not a
consolidated element, the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELCOMPN(dimension, element)
Example
In the Region dimension, the element Scandinavia is a consolidation of three elements. The example
returns 3.
ELCOMPN('Region','Scandinavia')
ElementComponent
ElementComponent returns the name of a child of a consolidated element in a specified dimension. If the
element argument is not a consolidated element, the function returns an empty string.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementComponent(dimension, hierarchy, element, position)
Argument Description
Example
In the dimension Region, the consolidated element Central Europe is a consolidation of the children
France and Germany. Germany is in the second position in this consolidation. Accordingly, the example
returns Germany.
ElementComponentCount
ElementComponentCount returns the number of components in a specified element. If the element
argument is not a consolidated element, the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementComponentCount(dimension, hierarchy, element)
Example
In the Region dimension, the element Scandinavia is a consolidation of three elements. The example
returns 3.
ElementCount
ElementCount returns the number of elements within a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementCount(dimension, hierarchy)
Argument Description
Example
If the Receivables hierarchy in the Accounts dimension contains 19 elements, the example returns the
value 19.
ElementCount('Accounts', 'Receivables')
ElementFirst
ElementFirst returns the first element of a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementFirst(database_name:dimension, hierarchy)
Argument Description
Example
If the North America hierarchy of the Location dimension contains the ordered elements California,
Oregon, and Washington, the example returns California.
ElementIndex
ElementIndex returns the index number of an element within a dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementIndex(dimension, hierarchy, element)
Argument Description
Example
Brazil has an index value of three in the Region dimension. The example returns 3.
ElementIsAncestor
ElementIsAncestor determines whether element1 is an ancestor of element2 in the specified dimension.
The function returns 1 if element1 is an ancestor of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementIsAncestor(dimension, hierarchy, element1, element2)
Argument Description
Example
In the Western hierarchy of the Region dimension, the element Europe is an ancestor of Germany. The
example returns 1.
ElementIsComponent
ElementIsComponent determines whether element1 is a child of element2 in the specified dimension.
The function returns 1 if element1 is a child of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementIsComponent(dimension, hierarchy, element1, element2)
Argument Description
Example
In the dimension Region, the element Central Europe is a consolidation of two elements, Germany and
France. The example returns 1.
Note: this function returns 1 only for immediate children. In the previous example, Germany is a child of
Central Europe. Further, Central Europe is a child of Europe.
However, because the function returns 1 only for immediate children, the following example returns 0:
ElementIsParent
ElementIsParent determines whether element1 is a parent of element2 in the specified dimension. The
function returns 1 if element1 is a parent of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
In the dimension Region, the consolidated element Central Europe is the parent of both Germany and
France. Accordingly, the example returns 1.
Note: this function returns 1 only for immediate parents. In the previous example, Europe is a parent of
Central Europe. Further, Central Europe is a parent of Germany.
However, because Europe is not an immediate parent of Germany, the following example returns 0:
ElementLevel
ElementLevel returns the level of an element within a dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementLevel(dimension, hierarchy, element)
Argument Description
Example
ElementLevel('Region','Countries', 'Europe')
In the Region dimension, individual nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3). The example returns 2, as Europe is
a Level 2 element.
Syntax
ElementName(dimension, hierarchy, index)
Argument Description
Example
This example returns 'Belgium', which is the element within the Countries hierarchy of the Region
dimension with an index value of 2.
ElementName('Region', 'Countries', 2)
ElementNext
ElementNext returns the element name that follows the element specified as an argument to the function.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementNext(dimension, hierarchy, element)
Argument Description
Example
If the Location dimension contains the ordered elements California, Oregon, and Washington, the
example returns Washington.
ElementNext("Location","Cities", "Oregon")
ElementParent
ElementParent returns the parent of an element in a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementParent(dimension, hierarchy, element, index)
Argument Description
Example
In the dimension Model, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. In the structure of the Model
dimension, Total Wagons is defined first, Total 4WD is defined second.
The example returns Total 4WD, as this is the second instance of a parent to Wagon 4WD within the Model
dimension.
ElementParentCount
ElementParentCount returns the number of parents of an element in a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
In the Model dimension, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. The function returns 2.
ElementType
ElementType returns information about the element type of a specified element.
ElementType returns N if the element is a numeric element, S if the element is a string element, and C if
the element is a consolidated element.
In the case of an element attribute dimension, ElementType returns AN if the attribute is a numeric
attribute, AS if the attribute is a string attribute, and AA if the attribute is an alias attribute. For more
information, see Element Attributes.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ElementType(dimension, hierarchy, element)
Argument Description
Example
The element Europe is a consolidated element of the Region dimension, so the example returns C.
ElementWeight
ElementWeight returns the weight of a child in a consolidated element.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
The element Variable Costs, which is a child of Gross margin, has a weight of -1. The following example
returns -1.
ELISANC
ELISANC determines whether element1 is an ancestor of element2 in the specified dimension. The
function returns 1 if element1 is an ancestor of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELISANC(dimension, element1, element2)
Argument Description
Example
In the dimension Region, the element Europe is an ancestor of Germany. The example returns 1.
ELISCOMP
ELISCOMP determines whether element1 is a child of element2 in the specified dimension. The function
returns 1 if element1 is a child of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
In the dimension Region, the element Central Europe is a consolidation of two elements, Germany and
France. The following example returns 1.
Note: this function returns 1 only for immediate children. In this example, Germany is a child of Central
Europe. Further, Central Europe is a child of Europe.
ELISCOMP('Region','Germany','Central Europe')
However, because the function returns 1 only for immediate children, the following example returns 0:
ELISCOMP('Region','Germany','Europe')
ELISPAR
ELISPAR determines whether element1 is a parent of element2 in the specified dimension. The function
returns 1 if element1 is a parent of element2, otherwise the function returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELISPAR(dimension, element1, element2)
Argument Description
Example
In the dimension Region, the consolidated element Central Europe is the parent of both Germany and
France. Accordingly, the following example returns 1.
Note: this function returns 1 only for immediate parents. In this example, Europe is a parent of Central
Europe. Further, Central Europe is a parent of Germany.
ELISPAR('Region','Central Europe','Germany')
ELISPAR('Region','Europe','Germany')
ELLEV
ELLEV returns the level of an element within a dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELLEV(dimension, element)
Argument Description
Example
ELLEV('Region','Europe')
In the Region dimension, individual nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3). The example returns 2, as Europe is
a Level 2 element.
ELPAR
ELPAR returns the parent of an element in a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELPAR(dimension, element, index)
Argument Description
Example
In the dimension Model, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. In the structure of the Model
dimension, Total Wagons is defined first, Total 4WD is defined second.
ELPAR('Model','Wagon 4WD',2)
The example returns Total 4WD, as this is the second instance of a parent to Wagon 4WD within the Model
dimension.
ELPARN
ELPARN returns the number of parents of an element in a specified dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELPARN(dimension, element)
Argument Description
Example
In the Model dimension, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. The function returns 2.
ELPARN('Model','Wagon 4WD')
ELWEIGHT
ELWEIGHT returns the weight of a child in a consolidated element.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ELWEIGHT(dimension, element1, element2)
Argument Description
Example
The element Variable Costs, which is a child of Gross margin, has a weight of -1.
The following example returns -1.
LevelCount
LevelCount returns the number levels in a dimension.
This function is valid in both rules and TurboIntegrator processes.
Syntax
LevelCount(dimension, hierarchy)
Argument Description
Example
LevelCount('Region', 'Countries')
In the Region dimension, the various nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3).
There are four levels in the Region dimension, so the example returns the value 4.
FV
FV returns the value of an annuity at the time of the last payment. An annuity is a series of payments
made at equal intervals of time. Payments are assumed to be made at the end of each period.
This function is valid in both rules and TurboIntegrator processes.
Syntax
FV(payment, interest, periods)
Example
This example returns the value of an annuity at the end of 5 years, with payments of $1,000 per year at
14% interest.
FV(1000, .14, 5)
PAYMT
PAYMT returns the payment amount of an annuity based on a given initial value or principal, an interest
rate, and a number of periods. An annuity is a series of payments made at equal intervals of time.
This function is valid in both rules and TurboIntegrator processes.
Syntax
PAYMT(principal, interest, periods)
Argument Description
Example
This example returns the payment on a 5-year annuity that is paid yearly, with a principal of $100,000 at
14% interest.
PAYMT(100000, .14, 5)
PV
PV returns the initial or principal value of an annuity.
This function is valid in both rules and TurboIntegrator processes.
Syntax
PV(payment, interest, periods)
Example
This example returns the principal value of an annuity with 5 yearly payments of $1,000 at 14% interest.
PV(1000, .14, 5)
Hierarchy
If there is only one hierarchy included in the supplied dimension, Hierarchy returns the name of the
hierarchy. Otherwise, it returns an empty string. Hierarchy is valid in rules only.
With the introduction of support for multiple hierarchies, it is necessary to identify which hierarchies are
in context when multiple hierarchies are being used.
The Hierarchy function cannot be used in TurboIntegrator processes. The presence of this function in a
process will prevent the process from compiling.
Syntax
Hierarchy (DimName);
Argument Description
Example
This example returns 'Quarter', which is the only hierarchy in the Quarter dimension.
Hierarchy ('Quarter');
HierarchyCount
HierarchyCount returns the number of hierarchies in the supplied dimension. HierarchyCount is valid in
rules only.
The HierarchyCount function cannot be used in TurboIntegrator processes. The presence of this function
in a process will prevent the process from compiling.
Syntax
HierarchyCount (DimName);
Example
This example returns 3, which is the number of hierarchies in the model dimension.
HierarchyCount ('model');
HierarchyIndex
HierarchyIndex returns a 1-based index if the hierarchy is in the supplied dimension, 0 otherwise.
HierarchyIndex is valid in rules only.
HierarchyIndex cannot be used in TurboIntegrator processes. The presence of this function in a process
will prevent the process from compiling.
Syntax
HierarchyIndex (DimName, HierName);
Argument Description
Example
This example returns 3, which is the index position of the CustomerTarget hierarchy in the model
dimension.
HierarchyN
HierarchyN returns the name of the hierarchy at a specified position in the supplied dimension and an
empty string if the index is out of scope. HierarchyN is valid in rules only.
HierarchyN cannot be used in TurboIntegrator processes. The presence of this function in a process will
prevent the process from compiling.
Syntax
HierarchyN (DimName, index);
Argument Description
Example
This example returns 'CustomerTarget', which is the third hierarchy in the model dimension.
CONTINUE
When included as part of a rules expression, CONTINUE allows a subsequent rule with the same area
definition to be executed. Normally, Planning Analytics only executes the first rule encountered for a given
area.
This function is valid in both rules and TurboIntegrator processes.
Syntax
CONTINUE
Arguments
None.
Example
['Jan']=20;
In this example, all cells identified by January and Argentina are assigned a value of 10. Cells identified by
Jan and any other Region element are assigned a value of 20.
IF
IF returns one value if a logical expression you specify is TRUE and another value if it is FALSE.
This function is valid in rules only.
TurboIntegrator uses its own IF function that is capable of evaluating multiple logical expressions.
Syntax
IF(expression, true_value, false_value)
Example
IF(1<2, 4, 5) returns 4.
IF(1>2, 'ABC', 'DEF') returns 'DEF'.
STET
The STET function cancels the effect of a rule for a particular element.
This is a rules function, valid only in Planning Analytics rules. This function cannot be used in
TurboIntegrator processes.
Syntax
STET
Arguments
None.
Example
In this example, the rule dictates that the value for Sales is always 100, except for the intersection of
Sales and the element France from the Region dimension.
ABS
ABS returns the absolute value of a number.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ABS(x)
Argument Description
ACOS
ACOS returns the angle, in radians, whose cosine is x.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ACOS(x)
Argument Description
Example
ACOS(0) returns 1.5708.
ASIN
ASIN returns the angle, in radians, whose sine is x.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ASIN(x)
Argument Description
Example
ASIN(1) returns 1.5708.
ATAN
ATAN returns the angle, in radians, whose tangent is x. The result is between -pi/2 and +pi/2.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ATAN(x)
Argument Description
COS
COS returns the cosine of an angle expressed in radians.
This function is valid in both rules and TurboIntegrator processes.
Syntax
COS(x)
Argument Description
Example
COS(0) returns 1.
EXP
EXP returns the natural anti-log of a number.
This function is valid in both rules and TurboIntegrator processes.
Syntax
EXP(x)
Argument Description
Example
EXP(1) returns 2.71828.
INT
INT returns the largest integer that is less than or equal to a specified value.
This function is valid in both rules and TurboIntegrator processes.
Syntax
INT(x)
Argument Description
x A numeric value.
ISUND
ISUND returns 1 if a specified value is undefined; otherwise it returns 0.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ISUND(x)
Argument Description
x A number or expression.
Example
ISUND(5.2) returns 0.
ISUND(1/0) returns 1.
LN
LN returns the natural logarithm (base e) of a number.
This function is valid in both rules and TurboIntegrator processes.
Syntax
LN(x)
Argument Description
Example
LN(10) returns 2.302585093.
LOG
LOG returns the base 10 logarithm of a positive number.
This function is valid in both rules and TurboIntegrator processes.
Syntax
LOG(x)
Example
LOG(10) returns 1.
MAX
MAX returns the largest number in a pair of values.
This function is valid in both rules and TurboIntegrator processes.
Syntax
MAX(num1, num2)
Argument Description
Example
MAX(10, 3) returns 10.
MIN
MIN returns the smallest number in a pair of values.
This function is valid in both rules and TurboIntegrator processes.
Syntax
MIN(num1, num2)
Argument Description
Example
MIN(10, 3) returns 3.
MOD
MOD returns the remainder of dividing a number by a divisor.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
MOD(10, 3) returns 1.
RAND
RAND generates a random number that is uniformly distributed between 0 and 1. The random number
generator is seeded when Planning Analytics is loaded.
This function is valid in both rules and TurboIntegrator processes.
Syntax
RAND.
Arguments
None.
Example
RAND generates a random number that is uniformly distributed between 0 and 1
ROUND
ROUND rounds a given number to the nearest integer. Rounding can be done in a variety of ways.
This function is valid in both rules and TurboIntegrator processes.
The most basic form of rounding is to replace an arbitrary number by an integer. There are many ways of
rounding a number y to an integer q.
The most common ones are:
• Round to nearest
q is the integer that is closest to y (see "Round away from zero" for tie-breaking rules).
• Round towards zero (or truncate)
q is the integer part of y, without its fraction digits.
• Round down (or take the floor)
q is the largest integer that does not exceed y.
• Round up (or take the ceiling)
q is the smallest integer that is not less than y.
• Round away from zero
If y is an integer, q is y; else q is the integer that is closest to 0 and is such that y is between 0 and q.
Syntax
ROUND(number)
Argument Description
Example
ROUND(1.46) returns 1.
ROUNDP
ROUNDP rounds a given number at a specified decimal precision.
This function is valid in both rules and TurboIntegrator processes.
Syntax
ROUNDP(number, decimal)
Argument Description
Example
ROUNDP(1.46, 1) returns 1.5.
ROUNDP(1.466, 2) returns 1.47.
ROUNDP(234.56, -1) returns 230.00.
ROUNDP(234.56, 0) returns 235.00.
SIGN
SIGN determines if a number is positive, negative, or zero. The function returns 1 if the number is positive,
-1 if the number is negative, and 0 if the number is zero.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
number A number.
Example
SIGN(-2.5) returns -1.
SIN
SIN returns the sine of a given angle.
This function is valid in both rules and TurboIntegrator processes.
Syntax
SIN(x)
Argument Description
Example
SIN(1.5708) returns 1.
SQRT
SQRT returns the square root of a given value.
This function is valid in both rules and TurboIntegrator processes.
Syntax
SQRT(x)
Argument Description
Example
SQRT(16) returns 4.
TAN
TAN returns the tangent of a given angle.
This function is valid in both rules and TurboIntegrator processes.
Argument Description
Example
TAN(0) returns 0.
TAN(.7854) returns 1.
CAPIT
CAPIT applies initial capitalization to every word in a string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
CAPIT(string)
Argument Description
Example
CAPIT('first quarter sales') returns 'First Quarter Sales'.
CHAR
CHAR returns the character identified by a given ASCII numeric code.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
CHAR(number)
Argument Description
Example
CHAR(100) returns 'd'.
Syntax
CODE(string, location)
Argument Description
Example
CODE('321', 2) returns 50.
CODE('End', 3) returns 100.
CODEW
CODEW returns the UTF-8 numeric code for a specified character within a string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
CODEW(string, location)
Argument Description
Example
CODEW('321', 2) returns 32.
CODEW('End', 3) returns 64.
DELET
DELET returns the result of deleting a specified number of characters from a specified starting point
within a string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
DELET(string, start, number)
Example
DELET('payment', 3, 3) returns 'pant'.
FILL
FILL repeats a given string as necessary to return a string of a specified length.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
FILL(string, length)
Argument Description
Example
FILL('-', 5) returns '-----'.
FILL('ab', 5) returns 'ababa'.
INSRT
INSRT inserts one string into another string at a specified insertion point.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
INSRT(string1, string2, location)
Argument Description
LONG
LONG returns the length of a string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
LONG(string)
Argument Description
Example
LONG('Sales') returns 5.
LOWER
LOWER converts all upper case characters in a string to lower case.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
LOWER(string)
Argument Description
Example
LOWER('First Quarter Sales') returns 'first quarter sales'.
NUMBR
NUMBR converts a string to a number. The string passed to the NUMBR function must use. (period) as the
decimal separator and , (comma) as the thousand separator. Any other decimal/thousand separators will
cause incorrect results.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
NUMBR(string)
Argument Description
SCAN
SCAN returns a number indicating the starting location of the first occurrence of a specified substring
within a string. If the substring does not occur in the given string, the function returns 0.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
SCAN(substring, string)
Argument Description
string The string within which you are searching for the
substring.
The arguments to this function are case-sensitive. The capitalization used in the substring argument
must exactly match the capitalization used in the string argument for the function to return a non-zero
value.
Example
SCAN('scribe', 'described') returns 3.
However, SCAN('Scribe', 'described') returns 0, because the case in the substring argument
(Scribe) does not match the case in the string argument (described).
STR
STR converts a floating point number to a string representing the value in decimal notation.
The number passed to the STR function must use "." (period) as the decimal separator and "," (comma) as
the thousand separator. Any other decimal or thousand separators will cause incorrect results.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
STR(number, length, decimal)
Argument Description
Argument Description
All arguments are required and you cannot pass empty argument values.
Note: There is a limitation when using STR with large floating point values. If the count of whole number
digits in the number argument value exceeds the length argument value by more than 5, the function
returns an empty string. For example, STR(14723017.2245, 4, 2) returns "14723017.22". The whole
number portion of the number argument value has 8 digits, which is not more than 5 greater than the
length argument value of 4 (8<5+4). However, STR(14723017.2245, 2, 2) returns an empty string,
because the whole number portion of the number argument value has 8 digits, which is more than 5
greater than the length argument value of 2 (8>5+2)
Examples
STR(10, 2, 4) 10 2 4 "10.0000"
STR(120536.7439 120536.74391 8 0 " 120536"
1, 8, 0)
The result includes
left padding of two
spaces to attain the
specified length of
8.
SUBST
SUBST returns a substring of a given string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
SUBST(string, beginning, length)
Argument Description
TRIM
TRIM returns the result of trimming any leading and trailing blanks from a string.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
TRIM(string)
Argument Description
Example
TRIM(' First Quarter ') returns 'First Quarter'.
UPPER
UPPER converts a text string to upper case.
This function is valid in both TM1 rules and TurboIntegrator processes.
Syntax
UPPER(string)
Argument Description
Example
UPPER('First Quarter Results') returns FIRST QUARTER RESULTS.
FEEDERS
When you use a SKIPCHECK declaration to restore the sparse consolidation in a TM1 rule, you must
also ensure that all rules-derived cells are identified by feeder statements. To do this, insert a FEEDERS
declaration immediately following all rules statements:
FEEDERS;
Immediately following the FEEDERS declaration you should create feeders statements that identify the
rules-derived cells in the cube.
For a complete discussion of TM1 rules, including sparse consolidation and the creation of feeders, please
refer to TM1 Rules.
FEEDSTRINGS;
Once this declaration is in place, you can set up feeders for string cells in a cube view, and rely on the
string to be available to other rules even if the view is zero-suppressed. Statements that define feeders for
string cells should be created following the FEEDERS declaration in your rule.
As in the case of numeric feeders, a feed to a consolidated cell results in feeding of all components of the
consolidation. Because you can store strings in consolidated cells, you must pay special attention if such
cells are used to feed other cells. Overuse of string feeders can result in calculation explosions and poor
application performance.
For a complete discussion of TM1 rules, including the creation of feeders, please refer to TM1 Rules.
SKIPCHECK
You can restore sparse consolidation and improve performance by inserting a SKIPCHECK declaration at
the beginning of the TM1 rule.
During consolidations, TM1 uses a sparse consolidation algorithm to skip over cells that contain zero or
are empty. This algorithm speeds up consolidation calculations in cubes that are highly sparse. A sparse
cube is a cube in which the number of populated cells as a percentage of total cells is low.
When consolidating data in cubes that have rules defined, TM1 turns off this sparse consolidation
algorithm because one or more empty cells may in fact be calculated by a rule. (Skipping rules-calculated
cells will cause consolidated totals to be incorrect). When the sparse consolidation algorithm is turned off,
every cell is checked for a value during consolidation. This can slow down calculations in cubes that are
very large and sparse.
SKIPCHECK;
If your rule uses a FEEDSTRINGS statement, the SKIPCHECK statement should be the second statement
in your rule. If your rule does not use a FEEDSTRINGS statement, the SKIPCHECK statement should be
the first statement in your rule.
When you use SKIPCHECK to restore sparse consolidation, you must also ensure that your rule includes a
FEEDERS declaration and that all rules-derived cells are identified by feeder statements.
For a complete discussion of TM1 rules, including sparse consolidation and the creation of feeders, please
refer to TM1 Rules.
Procedure
1. Right-click the sheet tab of the active worksheet.
2. From the shortcut menu, click Insert.
3. Double-click MS Excel 4.0 Macro.
4. Click the cell where you want to place the macro function.
5. Click Formulas, and then click Insert Function.
6. From the category list, select TM1.
7. Select the function you want to insert, and then click OK.
8. Type values for the arguments.
9. Click OK to place the function in the current cell in the macro sheet.
Example
Sub Elemlist( )
Worksheets("Sheet1").Select
Cells(3,5).Select
[Link] = Run ("E_PICK", "local:Region")
End Sub
This procedure calls the E_PICK macro function, which accesses a list of elements in the Region
dimension. The selected element populates a cell in the Sheet1 worksheet.
D_PICK
D_PICK calls a dialog box that lists all available dimensions in the local data directory and on connected
remote servers. The dimension you select in the dialog box becomes the value of the D_PICK function.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
D_PICK
Arguments
None.
Syntax
D_FSAVE(file)
Argument Description
Example
=D_FSAVE("Region")
This example reads an ASCII file named [Link] and creates or updates the Region dimension.
Note: D_FSAVE can be used to create or update dimensions on remote servers. However, the function
always looks for the .dit file in the local data directory (as defined in [Link]). You must be sure that
the .dit file for the dimension you want to create/update resides in your local data directory, then specify
the server on which you want to create/update the dimension by prefixing the .dit file with the server
name.
=D_FSAVE("TM1Serv:Region")
This example looks for a file named [Link] in the local server data directory, but writes the Region
dimension to the data directory for the TM1Serv server.
D_SAVE
D_SAVE saves the active worksheet as a dimension worksheet file ([Link]). The name of the workbook is
used as the file name. TM1 then creates or updates the dimension specified by the workbook name.
If the active worksheet does not conform to a dimension worksheet format or is missing information, an
error message displays. For example, you must define all elements used in a level-1 consolidation as
numeric elements (N).
Syntax
D_SAVE
Arguments
None.
DBProportionalSpread
DBProportionalSpread distributes a specified value to the leaves of a consolidation proportional to
existing cell values.
The function is analogous to the Proportional Spread data spreading method, which is described in detail
in the TM1 Perspectives and TM1 Architect documentation.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
DBProportionalSpread( value, server:cube, e1, e2, e3...,
e16 )
Argument Description
Example
This example distributes the value 2000 to the children of the consolidation identified by the elements
Actual, Argentina, S Series 1.8L Sedan, Sales, and 1 Quarter. It distributes values to the Sales cube on the
Accounting server.
E_PICK
E_PICK calls the Subset Editor, listing all elements in the specified dimension. The element name you
select in the Subset Editor becomes the return value of the E_PICK function.
This TM1 macro function is valid in Excel macros and VBA modules only.
Argument Description
Example 1
=E_PICK ("TM1SERV:Region","Deutsch","Europe","Argentina")
This example opens the Europe subset in the Subset Editor. The Deutsche alias is applied and the
Argentina element is pre-selected when the Subset Editor opens.
This example opens the Region dimension in the Subset Editor, with the 14th element in the dimension
definition pre-selected.
Syntax
I_EXPORT(cube, file, zero, calcs)
Argument Description
Example
=I_EXPORT("local:92act4d","Download",FALSE,TRUE)
This example exports data from the cube 92act4d to the file [Link]. Zero values are excluded and
calculated values are included.
I_NAMES
You can use I_NAMES to create a list of element names. This function reads through a delimited ASCII
file and writes all the unique names in the specified column to the corresponding column in the active
worksheet.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
I_NAMES(file, column)
Example
=I_NAMES("98Sales",3)
This example inspects the file [Link]. All unique names in the third column are written to column C
of the active worksheet.
I_PROCESS
I_PROCESS reads in the records of an ASCII file, one at a time, into the first row of the active worksheet.
Each field populates a different cell. The worksheet is recalculated after each record is read in.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
I_PROCESS(file)
Argument Description
Example
=I_PROCESS("98Sales ")
This example reads in each record of the file [Link] into the first row of the active worksheet.
M_CLEAR
M_CLEAR clears and reloads all dimensions in memory. It does not clear cubes and it does not restart the
server.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
M_CLEAR
Arguments
None.
Syntax
OPTGET(option)
Argument Description
DataBaseDirectory Returns the full path to the data directory for the
local server.
Example
=OPTGET("DataBaseDirectory")
This example returns the full path to the data directory for the local server.
OPTSET
OPTSET sets a value for a specified TM1 option.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
OPTSET(option, value)
Argument Description
DataBaseDirectory Specify a value that sets the full path to the data
directory for the local server.
Example
=OPSET("DataBaseDirectory","c:\Tm1data")
PublishSubset
PublishSubset publishes a named private subset on a server. If you attempt to publish a private subset
for which an identically named public subset exists, you will be prompted to overwrite the existing public
subset.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
PublishSubset(dimension, subset)
Argument Description
PublishView
PublishView publishes a named private view on a server. This function cannot publish a private view that
uses private subsets.
All private subsets in a private view must first be published with the PublishSubset macro function. If you
attempt to publish a private view for which an identically named public view exists, you will be prompted
to overwrite the existing public view.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
PublishView(cube, view)
Argument Description
QUDEFINE
QUDEFINE sets and saves parameters for TM1 query sets. QUDEFINE is the equivalent of creating a query
set using the View Extract dialog box.
You can run queries created with this function using the View Extract dialog box.
You can also use the query set as an argument to the QUEXPORT, QULOOP, and QUSUBSET macro
functions.
Note: QUDEFINE applies a lock to the server, preventing other users from accessing the server during
function execution. If you use this function to create a query that encompasses a large section of a cube,
the server might be inaccessible for a significant amount of time.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
QUDEFINE(cube, query, range, LowLim, HiLim, SkpZeroes,
SkpCons)
Argument Description
Example
This example creates a query set that contains elements listed in Sheet1, in the cell range B3:F5.
When you run this query, TM1 inspects only cube cells identified by these elements and exports non-
consolidated values in the range 3000 to 5000.
Note: If lowlim or highlim is a string comprised of numeric characters, Excel requires the string to be
enclosed in a series of four double quotation marks and single ampersands, as follows:
""""&"0123"&""""
Syntax
QUDEFINEEX(cube, query, range, lowlim, hilim, skpZeroes,
skpCons, skpRuleVals)
Argument Description
Example
This example creates a query set that contain elements listed in Sheet1, in the cell range B3:F5.
When you run this query, TM1 inspects only cube cells identified by these elements and exports non-
consolidated values in the range 3000 to 5000, including those derived through rules.
Note: If lowlim or highlim is a string comprised of numeric characters, Excel requires the string to be
enclosed in a series of four double quotation marks and single ampersands, as follows:
""""&"0123"&""""
QUEXPORT
QUEXPORT exports cells values from the specified cube to a delimited ASCII file.
To create the query set, use the QUDEFINE function.
Each output record has the following format:
• The name of the cube containing the exported values
• Names of elements that identify the cell location of a single exported value
• The exported value
For a five-dimensional cube, TM1 creates records containing seven fields:
Note: QUEXPORT applies a lock to the server, preventing other users from accessing the server during
function execution. If you use this function to export values from a large query set, the server might be
inaccessible for a significant amount of time.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
QUEXPORT(cube, query, file)
Example
This example exports data from the 98sales cube using the query set Sedans. The records are written to
the file [Link].
QULOOP
QULOOP exports data that meets query set criteria from the specified cube. TM1 reads in each output
record, one at a time, into the first row of the active worksheet. Each field populates a different cell. The
worksheet is recalculated after each record is read in.
Each output record has the following format:
• The name of the cube containing the exported values
• The names of elements that identify the cell location of a single exported value
• The exported value
For a five-dimensional cube, TM1 creates records containing seven fields:
Syntax
QULOOP(cube, query)
Argument Description
QUSUBSET
QUSUBSET is the equivalent of running a query from the View Extract dialog box when called from the
Subset Editor.
Note: QUSUBSET applies a lock to the server, preventing other users from accessing the server during
function execution. If you use this function to run a query that returns a large number of elements, the
server might be inaccessible for a significant amount of time.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
QUSUBSET(cube, query, dimension, subset)
Argument Description
Example
This example creates the Topsales subset for the Region dimension based on the criteria of the Top query.
R_SAVE
R_SAVE saves the active worksheet as a rules worksheet and compiles it into an .rux file. The workbook
must have the same name as the cube for which the rules are being compiled.
Any rules statements that prevent the rules from compiling are written to the [Link] file, in the
local data directory.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
RSAVE
SUBDEFINE
SUBDEFINE creates a dimension subset consisting of element names found in the active worksheet.
When SUBDEFINE creates the subset, it will be created as a private subset.
If the named subset already exists as a private subset when the function is run, it will overwrite the
existing private subset by that name.
If the named subset already exists as a public subset, SUBDEFINE still creates the subset as private. If
you want to overwrite the existing named public subset, you will need to publish the private subset that
was created by the SUBDEFINE function to overwrite the existing public subset.
Note: SUBDEFINE applies a lock to the server, preventing other users from accessing the server during
function execution. If you use this function to create a subset with a large number of elements, the server
might be inaccessible for a significant amount of time.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
SUBDEFINE(dimension, subset, range)
Argument Description
Example
=SUBDEFINE("local:Model", "Smith", B7:M7)
This example creates a subset called Smith for the Model dimension. The subset contains elements found
in the cell range B7:M7.
SUBPICK
SUBPICK calls a dialog box that lists all the elements in the specified subset. The elements you select are
inserted in the active worksheet, starting at the current cell position.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
SUBPICK(dimension, subset, vertical)
Example
This example inserts selected elements from the Smith subset into the active worksheet. The elements
are arranged vertically, starting from the current cell downward.
T_CLEAR
T_CLEAR clears all changes or additions to cube data from memory.
Note: T_CLEAR does not prompt you to save to disk any cube data in RAM. Any unsaved data is cleared
without saving to disk. Therefore, if you want to save any cube data currently in RAM, call the T_SAVE
function first.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
T_CLEAR
Arguments
None.
T_CREATE
T_CREATE creates a cube that has up to eight dimensions, which is the limit in older versions of TM1.
Note: If you use T_CREATE to create a cube with the name of an existing cube, TM1 replaces the existing
cube and deletes all of its data.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
T_CREATE(cube,d1,d2[,d3,d4,d5,d6,d7,d8])
Example
=T_CREATE("local:Sales","Region","Products","Month")
This example creates a cube named Sales. This new cube has three dimensions, in the following order:
Region, Products, and Month.
T_CREATE16
T_CREATE16 creates a cube that has up to sixteen dimensions.
Note: If the first argument to this function is an existing cube name, TM1 replaces the existing cube and
deletes all of its data.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
T_CREATE16(cube,d1,d2[,d3,...,d16])
Argument Description
Example
=T_CREATE("Sales","Region","Products","Month")
This example creates a cube named Sales. This new cube has three dimensions, in the following order:
Region, Products, and Month.
T_PICK
T_PICK calls a dialog box that lists all available cubes on the local and remote TM1 servers. The cube
name you select in the dialog box becomes the value of the T_PICK function. Your macro inserts the cube
name in the first cell of the active worksheet.
This TM1 macro function is valid in Excel macros and VBA modules only.
Arguments
None.
T_SAVE
T_SAVE saves all cube data currently in RAM to disk. T_SAVE can be used only to save data on a local
server; the function does not work with remote servers. T_SAVE does not prompt you about saving data
for individual cubes.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
T_SAVE
Arguments
None.
TM1RECALC
TM1RECALC forces a recalculation of all open worksheets. It is the equivalent of pressing F9 in Excel. A
similar macro function, TM1RECALC1, forces a recalculation of only the active worksheet.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
TM1RECALC
Arguments
None.
TM1RECALC1
TM1RECALC1 forces a recalculation of the active worksheet. It is the equivalent of pressing SHIFT-F9 in
Excel. A similar macro function, TM1RECALC, forces a recalculation of all open worksheets.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
TM1RECALC1
Arguments
None.
Syntax
VUSLICE(cube, view)
Argument Description
Example
=VUSLICE("local:98sales","Quarterly")
This example copies data from the Quarterly view of the 98sales cube into the active worksheet.
W_DBSENABLE
W_DBSENABLE enables (or disables) automatic recalculation of DBS functions in a worksheet.
Normally when a DBS function is inserted in a worksheet, the function is not executed until the sheet
is recalculated with either the F9 or SHIFT+F9 keys. You can use the W_DBSENABLE function to
immediately execute DBS functions as they are created in a worksheet.
Note: DBS functions will not run at all in VBA modules unless W_DBSENABLE is set to TRUE.
This TM1 macro function is valid in Excel macros and VBA modules only.
Syntax
=W_DBSENABLE(LogicalFlag)
Argument Description
DBR
DBR retrieves a value from a specified TM1 cube.
When all element arguments (e1, e2, etc.) to the function are leaf elements, the DBR function can also be
used to write values to the specified cube, provided that the user has appropriate access privileges to the
relevant cube, dimensions, elements, and/or cells. When you enter a value in a cell containing such a DBR
function, the value is sent to the server.
This worksheet function is valid in worksheets only.
Syntax
DBR(cube, e1, e2,[...en])
Argument Description
cube The name of the cube from which to retrieve the value.
e1,...en Dimension element names that define the intersection of the cube containing
the value to be retrieved.
Arguments e1 through en are sequence-sensitive. e1 must be an element
from the first dimension of the cube, e2 must be an element from the second
dimension, and so on. These arguments can also be the names of aliases for
dimension elements.
Numeric element names must be enclosed in double quotation marks. For
example ""14357"".
In this example, 92act4d is the cube name, and the function returns the value at the intersection of
California, 3.5 Diskettes, Net Sales, and January.
DBRA
DBRA retrieves the value of a specified element attribute. The value returned can be either a string or
numeric value, depending on the attribute type.
The DBRA function can also be used to write element attribute values to the server. When you enter a
value, either string or numeric, in a cell containing a DBRA function, the corresponding element attribute
is updated on the server.
This worksheet function is valid in worksheets only.
Syntax
DBRA(server:dimension, element, attribute)
Argument Description
server:dimension A valid dimension name, prefixed with the appropriate server name and a
colon, for example, "SData:Region" references the Region dimension on the
SData server.
If the dimension is not prefixed with a server name, the DBRA function
attempts to run against the local server.
attribute The attribute for which you want to retrieve a value. This argument must be a
valid attribute of the element.
Example
In this example, the function returns the value of the Manufacture Code attribute of the L Series 1.8L
Sedan element in the Model dimension on the SData server.
DBRW
DBRW retrieves a value from a specified TM1 cube.
When all element arguments (e1, e2, etc.) to the function are leaf elements, the DBRW function can also
be used to write values to the specified cube, provided that the user has appropriate access privileges to
the relevant cube, dimensions, elements, and/or cells.
DBRW works the same as the DBR function, with one major difference; DBRW reduces network traffic and
may improve performance on wide area networks.
In worksheets with a large number of TM1 worksheet functions, DBRW forces TM1 to execute functions
in "bundles" rather than individually. Normal DBR functions are executed individually during a worksheet
recalculation. DBRW functions force TM1 to execute two passes over the worksheet. In the first pass,
all changed values in cells containing DBRW functions are sent in a single bundle to the cube. In the
Syntax
DBRW(cube, e1, e2[,...en])
Argument Description
cube The name of the cube from which to retrieve the value.
e1,...en Dimension element names that define the intersection of the cube
containing the value to be retrieved.
Arguments e1 through en are sequence-sensitive. e1 must be an element
from the first dimension of the cube, e2 must be an element from the
second dimension, and so on. These arguments can also be the names of
aliases for dimension elements.
Numeric element names must be enclosed in double quotation marks.
Example
In this example, the function returns the value at the intersection of California, 3.5 Diskettes, Net Sales,
and January in the 92act4d cube.
DBS
DBS sends a numeric value to a TM1 cube. This function cannot send a string to a cube. To send strings,
use the DBSS function.
When you build a DBS function with the TM1 > Edit Formula option, the Edit Formula dialog box prompts
you through a series of steps to build each function argument in the correct sequence.
If the cube does not exist or one of the arguments is invalid, the function returns KEY ERROR.
This worksheet function is valid in worksheets only.
Syntax
DBS(value, cube, e1, e2[,...en])
Argument Description
e1, ...en The names of elements defining the intersection in the cube to which the
value is sent.
Arguments e1 through en are sequence-sensitive. e1 must be an element
from the first dimension of the cube, e2 must be an element from the
second dimension of the cube, and so on. These arguments can also be
the names of aliases for dimension elements.
Numeric element names must be enclosed in quotation marks.
Example
In this example, the function sends the value 5342 into the cube 92act4d at the intersection of California,
3.5 Diskettes, Net Sales, and January.
DBSA
DBSA sends a value to a specified element attribute. The value sent can be either a string or numeric
value, depending on the attribute type.
This worksheet function is valid in worksheets only.
Syntax
DBSA(att_value, dimension, element, att_name)
Argument Description
Example
Syntax
DBSn(string, cube, e1, e2,...en)
Argument Description
Example
DBSS("Smith","Info","California","Last Name")
In this example, the formula sends the string Smith to the cube Info at the intersection of California and
Last Name.
DBSW
DBSW sends a numeric value to a cube. This function cannot send a string to a cube. To send strings, use
the DBSS function.
This function works the same as the DBS function, with one major difference; DBSW reduces network
traffic and may improve performance on wide area networks.
In worksheets with a large number of cube references, DBSW forces Planning Analytics to send values
in bundles rather than individually. Normal DBS functions are updated individually during a recalculation.
DBSW references force Planning Analytics to send all changed values within a worksheet in a single
bundle.
In such circumstances you can safely use a DBS/DBR function as an argument to a DBS function.
Note: If you use VBA to calculate a worksheet containing DBSW functions, you must call the TM1
macro functionto calculate the worksheet. Do not use the VB Calculate method to calculate a worksheet
containing DBSW functions; doing so causes each DBSW function to be executed individually, defeating
the purpose of the function and resulting in decreased performance.
This worksheet function is valid in worksheets only.
Argument Description
Example
DFRST
DFRST returns the first element of a specified dimension.
This worksheet function is valid in worksheets only.
Syntax
DFRST(server_name:dimension)
Argument Description
Example
DFRST("planning_sample:Location")
If the dimension Location contains the ordered elements California, Oregon, and Washington, the
example returns California.
DIMIX
DIMIX returns the index number of an element within a dimension.
This worksheet function is valid in worksheets only.
Argument Description
Example
DIMIX("planning_sample: Location","Washington")
If the dimension Location contains the ordered elements California, Oregon, and Washington, the
example returns the value 3, as Washington is the third element of the dimension.
DIMNM
DIMNM returns the element of a dimension that corresponds to the Index argument. If you include the
Alias parameter to this function, the function returns the alias for the selected element.
When you double-click a cell that contains a DIMNM function, the Dimension dialog box opens. You can
then select a new element to place in your worksheet. The DIMNM function automatically updates the
Index argument to reflect the new element.
Note: If you are using TM1 Perspectives, the set editor is opened when a cell that contains a DIMNM
function is double-clicked.
This worksheet function is valid in worksheets only.
Syntax
DIMNM(server_name:Dimension, Index, [Alias])
Argument Description
DIMSIZ
DIMSIZ returns the number of elements within a specified dimension.
This worksheet function is valid in worksheets only.
Argument Description
Example
DIMSIZ("Accounts")
If the Accounts dimension contains 19 elements, the example returns the value 19.
DNEXT
DNEXT returns the element name that follows the element specified as an argument to the function.
This worksheet function is valid in worksheets only.
Syntax
DNEXT(server:dimension, element)
Argument Description
Example
DNEXT("Production:Location","Oregon")
If the Location dimension on the Production server contains the ordered elements California, Oregon, and
Washington, the example returns Washington.
DNLEV
DNLEV returns the number of hierarchy levels in a dimension.
This worksheet function is valid in worksheets only.
Syntax
DNLEV(dimension)
Example
DNLEV("Region")
In the Region dimension, the various nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3).
In the Region dimension there are four hierarchy levels (0, 1, 2, and 3). Therefore, the example returns the
value 4.
DTYPE
DTYPE returns information about the element type of the specified element. It returns "N" if the element
is a numeric element, "S" if the element is a string element.
This worksheet function is valid in worksheets only.
Syntax
DTYPE(dimension, element)
Argument Description
Example
DTYPE("Region","Europe")
The element Europe in the dimension Region is a consolidated element, so the example returns "C".
ELCOMP
ELCOMP returns the name of a child of a consolidated element in a specified dimension. If the element
argument is not a consolidated element, the function returns 0.
This worksheet function is valid in worksheets only.
Argument Description
Example
ELCOMP("Region","Central Europe",2)
In the dimension Region, the consolidated element Central Europe is a consolidation of the children
Germany and France. Accordingly, the example returns France.
ELCOMPN
ELCOMPN returns the number of components in a specified element. If the element argument is not a
consolidated element, the function returns 0.
This worksheet function is valid in worksheets only.
Syntax
ELCOMPN(dimension, element)
Argument Description
Example
ELCOMPN("Region","Scandinavia")
In the Region dimension, the element Scandinavia is a consolidation of three elements. The example
returns 3.
ELISCOMP
ELISCOMP determines whether element1 is a child of element2 in the specified dimension. The function
returns TRUE if element1 is a child of element2, otherwise the function returns FALSE.
This worksheet function is valid in worksheets only.
Argument Description
Example
ELISCOMP("Region","Germany","Central Europe")
In the dimension Region, the element Central Europe is a consolidation of two elements, Germany and
France. The example returns TRUE.
Note that this function returns TRUE only for immediate children. In the above example, Germany is
a child of Central Europe. Further, Central Europe is a child of Europe. However, because the function
returns TRUE only for immediate children, the following example returns False:
ELISCOMP("Region","Germany","Europe")
ELISPAR
ELISPAR determines whether element1 is a parent of element2 in the specified dimension. The function
returns TRUE if element1 is a parent of element2, otherwise the function returns FALSE.
This worksheet function is valid in worksheets only.
Syntax
ELISPAR(dimension, element1, element2)
Argument Description
Example
ELISPAR("Region","Central Europe","Germany")
ELISPAR("Region","Europe","Germany")
ELLEV
ELLEV returns the level of an element within a dimension.
This worksheet function is valid in worksheets only.
Syntax
ELLEV(dimension, element)
Argument Description
element The name of an element within the dimension. This argument can also be
the name of an alias for a dimension element.
Example
ELLEV("Region","Europe")
In the Region dimension, individual nations (Level 0) add up to regions (Level 1). The regions then add up
to super-regions (Level 2), which in turn add up to the world (Level 3).
ELPAR
ELPAR returns the parent of an element in a specified dimension
This worksheet function is valid in worksheets only.
Syntax
ELPAR(dimension, element, index)
Example
ELPAR("Model","Wagon 4WD",2)
In the dimension Model, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. In the structure of the Model
dimension, Total Wagons is defined first, Total 4WD is defined second.
The example returns Total 4WD, as this is the second instance of a parent to Wagon 4WD within the Model
dimension.
ELPARN
ELPARN returns the number of parents of an element in a specified dimension.
This worksheet function is valid in worksheets only.
Syntax
ELPARN(dimension, element)
Argument Description
Example
ELPARN("Model","Wagon 4WD")
In the Model dimension, the element Wagon 4WD is a child of both Total Wagons and Total 4WD.
Therefore, both Total Wagons and Total 4WD are parents of Wagon 4WD. The function returns 2.
ELSLEN
ELSLEN returns the length of a string element within a dimension. If the element specified is not a
member of the dimension specified, or is not a string element, the function returns 0.
This worksheet function is valid in worksheets only.
Argument Description
Example
ELSLEN("Region","Washington")
The element Washington is a string element 10 characters in length. The example returns 10.
ELWEIGHT
ELWEIGHT returns the weight of a child in a consolidated element.
This worksheet function is valid in worksheets only.
Syntax
ELWEIGHT(dimension, element1, element2)
Argument Description
Example
As the following figure shows, the element Variable costs, which is a child of Gross margin, has a weight of
-1.
Syntax
In the following syntax, 0 represents the report id on the sheet:
=@MakeQuery3("plan_BudgetPlan",tm2\\_0_rh,tm2\\_0_rm,tm2\\_0_ch,tm2\\_0_cm,tm2\\_0_sh,tm2\
\_0_slicers,tm2\\_0_calcs)
The MakeQuery3 output is an MDX query representing the report that starts with /* STATICLAYOUT
*/.
Note: If you wanted to manually add an MDX query to the report instead of using MakeQuery3, /*
STATICLAYOUT */. must be at the front of the query in order for IBM Planning Analytics for Microsoft
Excel and IBM Planning Analytics TM1 Web to recognize the query as a part of a Universal Report static
layout.
Syntax
SUBNM(Dimension, Subset, IndexOrName, [Alias])
Argument Description
Example
SUBNM("Region","Top Producers",2)
The Top Producers subset of the Region dimension contains the ordered elements United States,
Germany, Great Britain, and Mexico. Because the Index argument points to the second element in the
subset, the example returns Germany.
SUBNM("Region","Top Producers","Germany","Deutsch")
This example returns the Deutsch alias for the Germany element (Deutschland) from the Top Producers
subset of the Region dimension.
SUBSIZ
SUBSIZ returns the number of elements in a dimension subset.
This worksheet function is valid in worksheets only.
Syntax
SUBSIZ(dimension, subset)
Example
SUBSIZ("Region","Top Producers")
The Top Producers subset of the Region dimension contains four elements: United States, Germany, Great
Britain, and Mexico.
The example returns 4.
TABDIM
TABDIM returns the dimension name that corresponds to a given index argument.
The function always returns a dimension based on the original order of dimensions in the specified cube,
even if the order of dimensions in the cube has been changed through the TM1 Cube Optimizer.
This worksheet function is valid in worksheets only.
Syntax
TABDIM(cube, index)
Argument Description
Example
TABDIM("98sales",3)
The cube 98sales contains five dimensions: account1, actvsbud, model, month, and region. The example
returns model, the third dimension of 98sales.
TM1ELLIST
TM1ELLIST returns a downward array vector of values. It is useful because you can get a set of element
values from a TM1 model by using a single formula.
Note:
• TM1ELLIST does not overwrite or insert into populated cells. It is up to the workbook designer to make
sure that a multiple value response is displayed correctly.
• TM1ELLIST returns an array of values. However, only the first element displays if the function is entered
into a singular value store.
• IBM Planning Analytics for Microsoft Excel does not support default aliases for subsets and
the AliasOverride argument. TM1ELLIST does not return alias names when you use the
AliasOverride argument or if a subset is defined with an alias.
Syntax
TM1ELLIST(ServerDimension, [SetName], [ElementList],
[AliasOverride], [ExpandAbove], [MDXOverride], [IndentRate], [IndentCharacter])
AliasOverride A string that defines the alias that is used for the Optional
set.
When this argument is supplied, it overrides the
default alias property that is defined by the subset
specified by the SetName argument.
If this argument is empty, the alias from the set
that is specified by the SubsetName argument is
used.
Example
TM1ELLIST("PlanSamp:plan_currency","All currencies")
Select the number of cells (based on the return array size) in Excel, type =[namedrange], and press
Ctrl+Shift+Enter.
TM1GLOBALSANDBOX
TM1GLOBALSANDBOX returns the current global active sandbox for the user.
Note: This function is valid only in Planning Analytics for Microsoft Excel and in Planning Analytics
websheets. It is not supported in IBM TM1 Perspectives.
Syntax
TM1GLOBALSANDBOX(SERVER)
Example
TM1GLOBALSANDBOX("Planning Sample")
TM1INFO
TM1INFO returns information about the current TM1 or Planning Analytics for Microsoft Excel version or
client.
Note: This function is valid only in Planning Analytics for Microsoft Excel and in Planning Analytics
websheets. It is not supported in IBM TM1 Perspectives.
Syntax
TM1INFO("Property Name")
Property Name The property name can be one of the following: Required
clientversion
Returns the full TM1 client version number. For example,
10.2.10000
clientversionmajor
Returns the TM1 major client version number.
clientversionminor
Returns the TM1 minor client version number.
clientversionpatch
Returns the TM1 fix pack and hotfix number.
client
Returns the name of the client. For example, cor or websheet.
screlease
Note: For screlease, screleasefull, and uagent, the
Planning Analytics for Excel add-in must be initiated to
successfully return a value. If the add-in is not initiated, the
functions returns #VALUE!
Returns the short cadence and short cadence build number of
the current Planning Analytics for Excel add-in.
Planning Analytics for Excel versions use the format
[Link].b.
• mj = major version
• mn = minor version
• sc = short cadence (monthly) version
• b = short cadence build number
screleasefull
Returns the full version of the current Planning Analytics for
Excel add-in. For example, [Link].
uagent
Returns details for the Planning Analytics for Excel user agent.
The information returned may vary depending on whether
or not you are currently connected to the agent. Before
connecting to the agent, you'll see something like this: PAfE/
[Link] (1048576); Excel/16.0.14131.
After connecting to the agent, the function returns more detail:
PAfE/[Link] (1048576); Excel/16.0.14131(x86,
[Link], Sheet1).
Example
TM1INFO("clientversion")
Syntax
TM1PRIMARYDBNAME()
TM1RptElIsConsolidated
TM1RptElIsConsolidated returns a Boolean value to indicate whether an element in an Active Form is
consolidated. This worksheet function is used to create Active Forms.
This worksheet function is valid in worksheets only.
Syntax
TM1RptElIsConsolidated(RptRowFormula, Element)
Argument Description
TM1RptElIsExpanded
TM1RptElIsExpanded returns a boolean value to indicate whether an element is expanded in a row subset
within an Active Form. This worksheet function is used to create Active Forms.
This worksheet function is valid in worksheets only.
Syntax
TM1RptElIsExpanded(RptRowFormula, Element)
Argument Description
Syntax
TM1RptElLev(RptRowFormula, Element)
Argument Description
TM1RptFilter
TM1RptFilter defines the filter applied to an Active Form column dimension. This worksheet function is
used to create Active Forms.
This worksheet function is valid in worksheets only.
Syntax
TM1RptFilter(ReportView,Tuple,FilterFunction,FilterValue,SortOrder)
Argument Description
Example
=TM1RptFilter($B$4,"[month].[Jan]","TOPCOUNT",5,"asc")
TM1RptRow
TM1RptRow sets the Active Form control row definition. The control row definition governs the behavior
of all rows in the Active Form. This worksheet function is used to create Active Forms.
This worksheet function is valid in worksheets only.
Syntax
TM1RptRow(ReportView, Dimension, Subset, SubsetElements,
Alias, ExpandAbove,MDXStatement, Indentations, ConsolidationDrilling)
Argument Description
Alias A string that defines the alias used for the subset.
When this argument is supplied, it overrides
the default alias property defined by the subset
specified by the Subset argument.
If this argument is empty, the alias from the subset
specified by the Subset argument are used.
Example
=TM1RptRow($B$9,"sdata:region","",'{AR}01'!$B$17:$B$18,"",1,"",5, 0)
TM1RptTitle
TM1RptTitle defines an Active Form title dimension. This worksheet function is used to create Active
Forms.
This worksheet function is valid in worksheets only.
Argument Description
Example
TM1RptTitle("SData:model",$C$7)
TM1RptView
TM1RptView defines the view displayed in an Active Form. This worksheet function is used to create
Active Forms.
This worksheet function is valid in worksheets only.
Syntax
TM1RptView(ViewID,ZeroSuppression,TM1RptTitle,...)
Argument Description
=TM1RPTVIEW("SData:SalesCube:6", 0,
TM1RPTTITLE("SData:actvsbud",$C$6),
TM1RPTTITLE("SData:model",$C$7),
TM1RPTTITLE("SData:account1",$C$8),
TM1RPTFMTRNG,
TM1RPTFMTIDCOL)
TM1User
TM1User returns the user name of the current TM1 user.
If the current TM1 user is not connected to a server, or if the specified server is not running, TM1User
returns an empty string.
If TM1User is executed against a server that is configured to use CAM authentication, the function returns
the internal user name/CAMID, not the display name.
This worksheet function is valid in worksheets only.
Syntax
TM1User("ServerName")
Argument Description
Example
TM1User("SData")
If a user named BrianT is logged in to the SData server, and that user executes the TM1User function, the
above example returns BrianT.
TM1Val
TM1Val is a hierarchy spreadsheet formula that is available in IBM Planning Analytics TM1 Web and IBM
Planning Analytics for Microsoft Excel.
TM1Val is a hierarchy-aware writeback formula. This formula allows for cell-by-cell control of TM1 or
IBM TM1 Database 12 data by using tuple intersections that take hierarchies into consideration. TM1Val
currently only supports a low-workload count.
Note: TM1Val requires Planning Analytics for Microsoft Excel 2.0.92 and TM1 Web 2.0.92 to work.
Planning Analytics on Cloud customers must request that their TM1 Server be upgraded to [Link] IF1 or
higher for TM1 Web 2.0.92 to be deployed on cloud.
Syntax
=TM1Val("datasource uri”, “server”, “cube", 1, 945730358, "[dim1].[hier1].[elem1]","[dim2].
[hier2].[elem2]","[dim3].[hier3].[elem3]","[dim4].[hier4].[elem4]","[dim5].[hier5].[elem5]")
Example
=TM1VAL("[Link]
"Planning Sample",
"plan_BudgetPlan",
1,
945730358,
"[plan_version].[plan_version].[FY 2004 Budget]",
"[plan_business_unit].[plan_business_unit].[Total Business Unit]",
"[plan_department].[plan_department].[Total Organization]",
TM1Val Errors
The TM1Val formula output generates #NUM if the formula cannot be evaluated due to the following:
• There is an incomplete or non-existent dimension member name.
• A user does not have access to the dimension or hierarchy.
• The ODATA query returns a server error.
The TM1Val formula output generates #VALUE if there are missing or invalid arguments.
The TM1Val formula output generates #N/A if the server disconnects, or if the user is not logged in.
The TM1Val formula does not generate an output if the server name in the TM1Val arguments is spelled
incorrectly or references an invalid server.
VIEW
VIEW creates an optimized view of the cube specified by the cube argument.
A single VIEW function is created when you slice a view from a cube browse.
All DBR and DBRW formulas that refer to the VIEW function can then access this optimized view. In this
way, results are returned much faster.
Multiple VIEW functions can reside in the same spreadsheet if you have blocks of DBR formulas that refer
to different TM1 views or cubes.
This worksheet function is valid in worksheets only.
Argument Description
Example
VIEW("93sales",$B$2,$B$3,$B$4,"!","!")
Syntax
ASCIIDelete(FileName);
Argument Description
Example
This example deletes the ASCII file named [Link] from the C:\exported_data directory.
ASCIIDelete('C:\exported_data\[Link]');
ASCIIOutput
ASCIIOutput writes a comma-delimited record to an ASCII file.
This function is valid in TM1 TurboIntegrator processes only.
The ASCII file is opened when the first record is written, and is closed when the TurboIntegrator
procedure (Prolog, Metadata, Data, or Epilog) containing the ASCIIIOutput function finishes processing.
Each output record generated by ASCIIOutput is limited to 64 kilobytes. If an output record exceeds 64
kilobytes, the record is truncated and a warning is logged in the [Link] file.
When ASCIIOutput encounters a String argument that pushes the output record beyond the 64 kilobyte
limit, it ignores that argument and any further arguments. For example, if there are 10 String arguments
and output for the first seven arguments total 65,500 bytes (just under the 64 KB limit) while the output
for the eighth argument is 50 bytes, only the output for the first seven arguments will be written to the
record, as the eighth argument causes the output to exceed the 64 kilobyte limit. If there are ten String
arguments and the first argument is over 64 kilobytes, no output is written to the record.
If you use the ASCIIOutput function to write to the same file in multiple procedures (tabs) of a
TurboIntegrator process, the file will be overwritten each time it is opened for a new procedure.
The ASCIIOutput function generates a minor error if an error occurs while writing the ASCII file. In
addition, the function returns a value upon execution: 1 if the function successfully writes the ASCII file
and 0 on failure.
Note: The error will be generated and the value returned only when ASCIIOutput is writing to a disk
other than the one that the server is running on. For example, if the server is running on the C: drive and
ASCIIOutput is writing to the F: drive, and the F: drive runs out of space, the error will be trapped and the
server remains alive. If the server is running on the C: drive while ASCIIOutput is also writing to the C:
drive, and that drive runs out of space, the server will terminate (as expected).
Note: The ability to execute the ASCIIOutput function when the data source is a cube view is determined
by the Allow Export as Text capability assignment, which is set per user group. If a user is a member of
a group which is denied the ability to export data as text, any attempt by the user to execute ASCIIOutput
results in the process exiting with a permission error. The process message log indicates "Execution
was aborted. No security access for ASCIIOutput."
For details on how the Allow Export as Text capability is set, see "Capability Assignments" in TM1
Operations.
Syntax
ASCIIOutput(FileName, String1, String2, ...Stringn);
Argument Description
Example
This example writes a record to the [Link] ASCII file. Each field in the record corresponds to a
variable assigned by TurboIntegrator to a column in your data source.
ASCIIOutputOpen
ASCIIOutputOpen appends or overwrites content in a specified existing file.
This function is valid in TurboIntegrator processes only.
Syntax
ASCIIOutputOpen(FileName, OpeningMode);
Argument Description
Examples
Opens the [Link] file in overwrite mode, without shared read access:
ASCIIOutputOpen('[Link]', 0);
Opens the [Link] file in append mode, without shared read access:
ASCIIOutputOpen('[Link]', 1);
Opens the [Link] file in overwrite mode, shared read access enabled:
ASCIIOutputOpen('[Link]', 2);
Opens the [Link] file, in append mode, shared read access enabled:
ASCIIOutputOpen('[Link]', 3);
Opens the [Link] file in append mode, without shared read access:
ASCIIOutputOpen('[Link]', FILE_OPEN_APPEND());
Opens the [Link] file in append mode, shared read access enabled:
ASCIIOutputOpen('[Link]', FILE_OPEN_APPEND()+FILE_OPEN_SHARED());
NumberToString
NumberToString converts a number to a string, using the decimal separator for the current user locale.
This function is valid in TM1 TurboIntegrator processes only.
In Microsoft Windows, the decimal separator is a Regional Options setting.
The output of this function is similar to the 'general' number format; it does not use thousands separators
and uses the minus sign (-) to denote negative numbers.
Argument Description
Example
nRET = NumberToString(1234.5);
NumberToStringEx
NumberToStringEx converts a number to a string, using the passed string format, decimal separator, and
thousands separator.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
NumberToStringEx(Value, NumericFormat, DecimalSep, ThousandsSep);
Argument Description
Example
sRet=NUMBERTOSTRINGEX(7895.23,'#,0.#########', ',','.');
ASCIIOUTPUT('number_to_string.txt',sRet);
SetInputCharacterSet
SetInputCharacterSet function lets you specify the character set used in a TurboIntegrator data source.
This function is valid in TM1 TurboIntegrator processes only.
When a TurboIntegrator process reads an external file as input, it needs to know the character set
in which that external file was written. If the file contains a valid byte-order-mark, TM1 functions will
correctly convert the file to UTF-8 if required.
Syntax
SetInputCharacterSet (CharacterSet);
Argument Description
TM1CS_UTF8 UTF-8
SetInputCharacterSet ('TM1CS_ISO_8859_11');
This example specifies that the input character set for the TurboIntegrator data source is ISO-8859-11
Latin/Thai.
SetOutputCharacterSet
SetOutputCharacterSet lets you specify the character set to be used when writing to a text file using
TextOutput in a TurboIntegrator process.
This function is valid in TurboIntegrator processes only.
SetOutputCharacterSet should precede the TextOutput function in the process procedure (Prolog,
Metadata, Data. Epilog) where the TextOutput function appears. For example, if you want to write to a
text file using TextOutput in the Data procedure, you should first use SetOutputCharacterSet to specify
the character set in the Data procedure.
Syntax
SetOutputCharacterSet( FileName, CharacterSet );
Argument Description
FileName A full path to the text file for which you want to
specify a character set. The path must include a file
extension.
This argument should be identical to the FileName
argument for the TextOutput function.
SetOutputEscapeDoubleQuote
SetOutputEscapeDoubleQuote allows you to escape double quotes that appear in element names or data
values when exporting a cube view to a .csv file.
This function is valid in TM1 TurboIntegrator processes only.
When SetOutputEscapeDoubleQuote is included in your TurboIntegrator script and set to 1, the exported
file retains the double quote positions as they appear in your source cube view by escaping each double
quote within another pair of double quotes. For example, if an element in your source view is named
"Region", the element is exported as """Region""" in the .csv output file.
When SetOutputEscapeDoubleQuote is not included in your TurboIntegrator script or is set to 0, the
exported file does not escape any double quotes that appear in your source cube.
SetOutputEscapeDoubleQuote is used in conjunction with the ASCIIOutput function, which is the function
that actually writes the output file. SetOutputEscapeDoubleQuote should precede ASCIIOutput in your
TurboIntegrator script, and both functions should use the same FileName parameter value.
Argument Description
FileName A full path to the file to which you want to write the
cube view. Path must include a file extension.
Example
SetOutputEscapeDoubleQuote('C:\temp\[Link]', 1);
This example escapes any double quotes encountered in the source cube view when writing output to the
C:\temp\[Link] file.
StringToNumber
StringToNumber converts a string to a number, using the decimal separator for the current user locale. If
the input string is an invalid number string, the value returned will be an invalid floating point value. In
Microsoft Windows, the decimal separator is a Regional Options setting.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
StringToNumber(String);
Argument Description
Example
nRET = StringToNumber('123.45');
StringToNumberEx
StringToNumberEx converts a string to a number, using the passed decimal separator and thousands
separator. If the input string is an invalid number string, the value returned will be an invalid floating point
value.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
StringToNumberEx(String, DecimalSep, ThousandsSep);
Example
TextOutput
TextOutput writes a comma-delimited record to a text file.
This function is valid in TM1 TurboIntegrator processes only.
By default TextOutput writes characters in the locale character set of the server machine. To create a file
in a different character set, call the function SetOutputCharacterSet before calling TextOutput.
The text file is opened when the first record is written, and is closed when the TurboIntegrator procedure
(Prolog, Metadata, Data, or Epilog) containing the TextOutput function finishes processing.
If you use the TextOutput function to write to the same file in multiple procedures (tabs) of a
TurboIntegrator process, the file will be overwritten each time it is opened for a new procedure.
Each output record generated by TextOutput is limited to 8000 bytes. If an output record exceeds 8000
bytes, the record is truncated and a warning is logged in the [Link] file.
When TextOutput encounters a String argument that pushes the output record beyond the 8000 byte
limit, it ignores that argument and any further arguments. For example, if there are 10 String arguments
and output for the first seven arguments total 7950 bytes while the output for the eighth argument is 51
bytes, only the output for the first seven arguments will be written to the record. If there are ten String
arguments and the first argument is over 8000 bytes, no output will be written to the record.
The TextOutput function generates a minor error if an error occurs while writing the text file. In addition,
the function returns a value upon execution: 1 if the function successfully writes the text file and 0 on
failure.
The error will be generated and the value returned only when TextOutput is writing to a disk other than
the one that the server is running on. For example, if the server is running on the C: drive and TextOutput
is writing to the F: drive, and the F: drive runs out of space, the error will be trapped and the server
remains alive. If the server is running on the C: drive while TextOutput is also writing to the C: drive, and
that drive runs out of space, the server will terminate (as expected).
Note: The ability to execute the TextOutput function when the data source is a cube view is determined
by the Allow Export as Text capability assignment, which is set per user group. If a user is a member of
a group which is denied the ability to export data as text, any attempt by the user to execute TextOutput
results in the process exiting with a permission error. The process message log indicates "Execution
was aborted. No security access for TextOutput."
For details on how the Allow Export as Text capability is set, see "Capability Assignments" in the IBM
Cognos TM1 Operations documentation.
Syntax
TextOutput(FileName, String1, String2, ...Stringn);
Example
This example writes a record to the [Link] file. Each field in the record corresponds to a variable
assigned by TurboIntegrator to a column in your data source.
ATTRNL
ATTRNL returns a numeric attribute for a specified element of a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ATTRNL(DimName, ElName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Engine Size attribute of the L Series 1.8L
Sedan element in the Model dimension for the French locale.
ATTRSL
AttrSL returns a string attribute for a specified element of a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AttrSL(DimName, ElName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Currency attribute of the 10100 element in
the Plan_Business_Unit dimension for the French locale.
AttrDelete
AttrDelete deletes an element attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AttrDelete(DimName, AttrName);
Argument Description
Example
This example deletes the InteriorColor element attribute for the Model dimension.
AttrDelete('Model', 'InteriorColor');
Syntax
AttrInsert(DimName, PrevAttr, AttrName, Type);
Argument Description
Example
This example creates the InteriorColor string attribute for the Model dimension. This attribute is inserted
after the Transmission attribute.
AttrPutN
AttrPutN assigns a value to a numeric element attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AttrPutN( Value, DimName, ElName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the value 2257993 to the ProdCode attribute of the S Series 1.8L Sedan in the
Model dimension.
AttrPutS
AttrPutS assigns a value to a string element attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AttrPutS(Value, DimName, ElName, AttrName, [LangLocaleCode] );
Argument Description
ChoreAttrDelete
ChoreAttrDelete deletes a chore attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrDelete(AttrName);
Argument Description
Example
This example deletes the Description attribute for chores on your TM1 server.
ChoreAttrDelete('Description');
ChoreAttrInsert
ChoreAttrInsert creates a new attribute for chores on your TM1 server. The function can create a string,
numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Note: If you update an existing chore attribute, you must first delete the existing attribute using the
function ChoreAttrDelete. You can then use ChoreAttrInsert to recreate the attribute with your desired
changes. If you attempt to update an existing attribute without first deleting it, the insert fails without a
warning or error. The existing attribute remains unchanged; it is neither updated nor overwritten.
Syntax
ChoreAttrInsert( PrevAttrName, NewAttrName, AttrType);
Argument Description
Example
This example creates the Description string attribute for chores. This attribute is inserted after the Owner
attribute.
ChoreAttrN
ChoreAttrN returns a numeric attribute for a specified chore.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrN(ChoreName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Division_Code attribute of the Import chore.
ChoreAttrN('Import', 'Division_Code');
ChoreAttrNL
ChoreAttrNL returns an attribute's numeric value for a specified chore with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrNL(ChoreName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Division_Code attribute of the Import chore
for the French locale.
ChoreAttrPutN
ChoreAttrPutN assigns a value to a numeric chore attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrPutN(NumericValue, ChoreName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the value 7161994 to the Division_Code attribute of the Import chore for the French
language locale code.
ChoreAttrPutS
ChoreAttrPutS assigns a value to a string chore attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrPutS(String, ChoreName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Ricci to the Owner attribute of the Import chore, for the French
language locale code.
Syntax
ChoreAttrS(ChoreName, AttrName);
Argument Description
Example
In this example, the function returns the string value of the Owner attribute of the
Exchange_Rate_Updates chore.
ChoreAttrS('Exchange_Rate_Updates', 'Owner');
ChoreAttrSL
ChoreAttrSL returns a string attribute value for a specified chore with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreAttrSL(ChoreName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Owner attribute of the Depreciate_Inventory
chore for the French locale.
CubeAttrDelete
CubeAttrDelete deletes a cube attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeAttrDelete(AttrName);
Argument Description
Example
This example deletes the Description attribute for cubes on your TM1 server.
CubeAttrDelete('Description');
Syntax
CubeAttrInsert( PrevAttrName, NewAttrName, AttrType);
Argument Description
Example
This example creates the Description string attribute for cubes. This attribute is inserted after the Owner
attribute.
CubeAttrPutN
CubeAttrPutN assigns a value to a numeric cube attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeAttrPutN(NumericValue, CubeName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the value 07161994 to the AccountingCode attribute of the Sales cube for the
French language locale code.
CubeAttrPutS
CubeAttrPutS assigns a value to a string cube attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeAttrPutS(String, CubeName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Prototype to the Description attribute of the Sales cube for the
French language locale code.
Syntax
CubeATTRNL(CubeName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Product
cube for the French locale.
CubeATTRSL
CubeATTRSL returns a string attribute value for a specified cube with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes.
Argument Description
Example
In this example, the function returns the string value of the Owner attribute of the Product cube for the
French locale.
DimensionAttrDelete
DimensionAttrDelete deletes a dimension attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionAttrDelete(AttrName);
Example
This example deletes the Description attribute for dimensions on your TM1 server.
DimensionAttrDelete('Description');
DimensionAttrInsert
DimensionAttrInsert creates a new attribute for dimensions on your TM1 server. The function can create a
string, numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Note: If you update an existing dimension attribute, you must first delete the existing attribute using
the function DimensionAttrDelete. You can then use DimensionAttrInsert to recreate the attribute with
your desired changes. If you attempt to update an existing attribute without first deleting it, the insert
fails without a warning or error. The existing attribute remains unchanged; it is neither updated nor
overwritten.
Syntax
DimensionAttrInsert( PrevAttrName, NewAttrName, AttrType);
Argument Description
Example
This example creates the Description string attribute for dimensions. Because there is no PrevAttrName
parameter, this attribute is inserted as the first attribute for dimensions on your TM1 server.
DimensionAttrPutN
DimensionAttrPutN assigns a value to a numeric dimension attribute.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
This example assigns the value 07161994 to the AccountingCode attribute of the Models dimension for
the French language locale code.
DimensionAttrPutS
DimensionAttrPutS assigns a value to a string dimension attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionAttrPutS(String, DimensionName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Prototype to the Description attribute of the Model dimension for
the French language locale code.
DimensionATTRNL
DimensionATTRNL returns a numeric attribute value for a specified dimension with respect to a given
locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionATTRNL(DimName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the
Plan_Business_Unit dimension for the French locale.
DimensionATTRSL
DimensionATTRSL returns a string attribute value for a specified dimension with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionATTRSL(DimName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Plan_Business_Unit
dimension for the French locale.
ElementATTRNL
ElementATTRNL returns a numeric attribute for a specified element of a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementATTRNL(DimName, HierName, ElName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Engine Size attribute of the L Series 1.8L
Sedan element in the Model dimension for the French locale. This example applies to the 2015 hierarchy.
ElementATTRSL
ElementATTRSL returns a string attribute for a specified element of a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementATTRSL(DimName, HierName, ElName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Currency attribute of the 10100 element in
the Plan_Business_Unit dimension for the French locale.
ElementAttrPutN
ElementAttrPutN assigns a value to a numeric element attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementAttrPutN( Value, DimName, HierName, ElName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the value 2257993 to the ProdCode attribute of the S Series 1.8L Sedan in the
Automobile hierarchy of the Model dimension.
ElementAttrPutS
ElementAttrPutS assigns a value to a string element attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementAttrPutS(Value, DimName, HierName, ElName, AttrName, [LangLocaleCode] );
Argument Description
ElementAttrInsert
ElementAttrInsert creates a new element attribute for a dimension. The function can create a string,
numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementAttrInsert(DimName, HierName, PrevAttr, AttrName, Type);
Argument Description
Example
This example creates the InteriorColor string attribute in the Automobile hierarchy in the Model
dimension. This attribute is inserted after the Transmission attribute.
ElementAttrDelete
ElementAttrDelete deletes an element attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementAttrDelete(DimName, HierName, AttrName);
Example
This example deletes the InteriorColor element attribute from the Autombile hierarchy in the Model
dimension.
HierarchyAttrPutN
HierarchyAttrPutN assigns a value to a numeric attribute in a specified hierarchy within a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyAttrPutN(NumericValue, DimensionName, HierName, AttrName, [LocalLangCode] );
Argument Description
Example
This example assigns the value 07161994 to the AccountingCode attribute of the Models dimension
for the French language locale code. This change is applied to the Receivables hierarchy in the Models
dimension.
Syntax
HierarchyAttrPutS(String, DimensionName, HierName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Prototype to the Description attribute of the Model dimension
for the French language locale code. This change is applied to the Receivables hierarchy in the Model
dimension.
HierarchyATTRN
HierarchyATTRN returns a numeric attribute for a specified hierarchy within a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyATTRN(DimName, HierName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the
Plan_Business_Unit dimension. This example applies to the Equipment hierarchy.
HierarchyATTRS
HierarchyATTRS returns a string attribute for a specified hierarchy within a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyATTRS(DimName, AttrName);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Plan_Business_Unit
dimension. This example applies to the Equipment hierarchy.
HierarchyATTRNL
HierarchyATTRNL returns a numeric attribute value for a specified hierarchy within a dimension with
respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyATTRNL(DimName, HierName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the
Plan_Business_Unit dimension for the French locale. This function applies to the Equipment hierarchy.
HierarchyATTRSL
HierarchyATTRSL returns a string attribute value for a specified hierarchy within a dimension with respect
to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyATTRSL(DimName, HierName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Plan_Business_Unit
dimension for the French locale. This function applies to the Equipment hierarchy.
HierarchySubsetATTRS
HierarchySubsetATTRS returns a string attribute for a specified subset associated with a hierarchy in a
dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetATTRS(DimName, HierName, SubName, AttrName);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Sales subset from
Europe hierarchy in the Plan_Business_Unit dimension.
HierarchySubsetATTRN
HierarchySubsetATTRN returns a numeric attribute for a specified subset associated with a hierarchy in a
dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetATTRN(DimName, HierName, SubName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Sales
subset from the Europe hierarchy in the Plan_Business_Unit dimension.
HierarchySubsetATTRSL
HierarchySubsetATTRSL returns an attribute's string value for a specified subset (and locale) associated
with a hierarchy in a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Sales subset (from
the Europe hierarchy) for the French locale.
HierarchySubsetATTRNL
HierarchySubsetATTRNL returns an attribute's numeric value for a specified subset (and locale)
associated with a hierarchy in a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Sales
subset (from the Europe hierarchy) for the French locale.
HierarchySubsetAttrPutS
HierarchySubsetAttrPutS assigns a string value to an attribute for a specified subset associated with a
hierarchy in a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
This example assigns the string value Prototype to the Description attribute of the Z subset (from the
2016 hierarchy in the Model dimension) for the French language locale code.
HierarchySubsetAttrPutN
HierarchySubsetAttrPutN assigns a numeric value to an attribute for a specified subset associated with a
hierarchy in a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetAttrPutN(NumericValue, DimName, HierName, SubName, AttrName, [LocalLangCode] );
Argument Description
Example
This example assigns the value 07161994 to the AccountingCode attribute of the Z subset (from the 2016
hierarchy in the Models dimension) for the French language locale code.
HierarchySubsetAttrInsert
HierarchySubsetAttrInsert creates a new attribute for subsets on your TM1 server. The function creates a
string, numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
Note: If you update an existing subset attribute, you must first delete the existing attribute using the
function HierarchySubsetAttrDelete. You can then use HierarchySubsetAttrInsert to recreate the attribute
with your desired changes. If you attempt to update an existing attribute without first deleting it, the
insert fails without a warning or error. The existing attribute remains unchanged; it is neither updated nor
overwritten.
Argument Description
Example
This example creates the Description string attribute for subsets in the Z hierarchy of the Model
dimension. Because there is no PrevAttrName parameter, this attribute is inserted as the first attribute for
subsets on your TM1 server.
HierarchySubsetAttrDelete
HierarchySubsetAttrDelete deletes a subset attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetAttrDelete(Dimension, Hierarchy, AttrName);
Argument Description
Example
This example deletes the Description attribute for subsets from the Z hierarchy in the Model dimension.
ProcessAttrDelete
ProcessAttrDelete deletes a process attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessAttrDelete(AttrName);
Example
This example deletes the Description attribute for processes on your TM1 server.
ProcessAttrDelete('Description');
ProcessAttrInsert
ProcessAttrInsert creates a new attribute for processes on your TM1 server. The function can create a
string, numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Note: If you update an existing process attribute, you must first delete the existing attribute using the
function ProcessAttrDelete. You can then use ProcessAttrInsert to recreate the attribute with your desired
changes. If you attempt to update an existing attribute without first deleting it, the insert fails without a
warning or error. The existing attribute remains unchanged; it is neither updated nor overwritten.
Syntax
ProcessAttrInsert( PrevAttrName, NewAttrName, AttrType);
Argument Description
Example
This example creates the Description string attribute for processes. This attribute is inserted after the
Owner attribute.
ProcessAttrN
ProcessAttrN returns a numeric attribute for a specified process.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
In this example, the function returns the numeric value of the Store_Code attribute of the Daily_Sales
process.
ProcessAttrN('Daily_Sales', 'Store_Code');
ProcessAttrNL
ProcessAttrNL returns an attribute's numeric value for a specified process with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessAttrNL(ProcessName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Store_Code attribute of the Daily_Sales
process for the French locale.
ProcessAttrPutN
ProcessAttrPutN assigns a value to a numeric process attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessAttrPutN(NumericValue, CubeName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the value 8051997 to the Store_Code attribute of the Daily_Sales process for the
French language locale code.
ProcessAttrPutS
ProcessAttrPutS assigns a value to a string process attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessAttrPutS(String, ProcessName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Ricci to the Owner attribute of the Import_Transactional process,
for the French language locale code.
Syntax
ProcessAttrS(ProcessName, AttrName);
Argument Description
Example
In this example, the function returns the string value of the Owner attribute of the Refresh_Cubes
process.
ProcessAttrS('Refresh_Cubes', 'Owner');
ProcessAttrSL
ProcessAttrSL returns a string attribute value for a specified process with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessAttrSL(ProcessName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Owner attribute of the Exchange_Rate_Update
process for the French-Canada locale.
SubsetATTRS
SubsetATTRS returns a string attribute for a specified subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetATTRS(DimName, SubName, AttrName);
Argument Description
SubsetATTRN
SubsetATTRN returns a numeric attribute for a specified subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetATTRN(DimName, SubName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Sales
subset from the Plan_Business_Unit dimension.
SubsetATTRSL
SubsetATTRSL returns an attribute's string value for a specified subset with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetATTRSL(DimName, SubName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the string value of the Manager attribute of the Sales subset for the
French locale.
SubsetATTRNL
SubsetATTRNL returns an attribute's numeric value for a specified subset with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetATTRNL(DimName, SubName, AttrName, [LangLocaleCode]);
Argument Description
Example
In this example, the function returns the numeric value of the Accounting_Code attribute of the Sales
subset for the French locale.
SubsetAttrPutS
SubsetAttrPutS assigns a string value to an attribute for a specified subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetAttrPutS(String, DimensionName, SubName, AttrName, [LangLocaleCode] );
Argument Description
Example
This example assigns the string value Prototype to the Description attribute of the Z subset (from the
Model dimension) for the French language locale code.
SubsetAttrPutN
SubsetAttrPutN assigns a numeric value to an attribute for a specified subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetAttrPutN(NumericValue, DimensionName, SubName, AttrName, [LocalLangCode] );
Argument Description
Example
This example assigns the value 07161994 to the AccountingCode attribute of the Z subset (from the
Models dimension) for the French language locale code.
Syntax
SubsetAttrInsert( Dimension, PrevAttrName, NewAttrName, AttrType);
Argument Description
Example
This example creates the Description string attribute for subsets in the Model dimension. Because there is
no PrevAttrName parameter, this attribute is inserted as the first attribute for subsets on your TM1 server.
SubsetAttrDelete
SubsetAttrDelete deletes a subset attribute from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetAttrDelete(Dimension, AttrName);
Argument Description
Example
This example deletes the Description attribute for subsets in the Model dimension.
SubsetAttrDelete('Model', 'Description');
ViewAttrDelete
ViewAttrDelete deletes a view attribute for a specific cube from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrDelete(CubeName, AttrName);
Argument Description
Example
This example deletes the Description attribute for views of the Sales cube on your TM1 server.
ViewAttrDelete('Sales', 'Description');
ViewAttrInsert
ViewAttrInsert creates a new attribute for views of a specific cube on your TM1 server. The function can
create a string, numeric, or alias attribute.
This function is valid in TM1 TurboIntegrator processes only.
Note: If you update an existing view attribute, you must first delete the existing attribute using the
function ViewAttrDelete. You can then use ViewAttrInsert to recreate the attribute with your desired
changes. If you attempt to update an existing attribute without first deleting it, the insert fails without a
warning or error. The existing attribute remains unchanged; it is neither updated nor overwritten.
Syntax
ViewAttrInsert( CubeName, PrevAttrName, NewAttrName, AttrType);
Argument Description
CubeName The parent cube for which you want to insert a view
attribute.
Example
This example creates the Description string attribute for views of the Sales cube. This attribute is inserted
after the Owner attribute.
ViewAttrN
ViewAttrN returns a numeric attribute for a specified view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrN(CubeName, ViewName, AttrName);
Argument Description
Example
In this example, the function returns the numeric value for the Category_Code attribute of the Product
view of the Sales cube.
ViewAttrNL
ViewAttrNL returns an attribute's numeric value for a specified view with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
CubeName The parent cube for the view whose attribute value
you want to retrieve.
Example
In this example, the function returns the numeric value for the Category_Code attribute of the Product
view of the Sales cube, for the French locale.
ViewAttrPutN
ViewAttrPutN assigns a value to a numeric view attribute.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrPutN(NumericValue, CubeName, ViewName, AttrName, [LangLocaleCode] );
CubeName The parent cube of the view for which you want to
assign an attribute value.
Example
This example assigns the value 8222001 to the Category_Code attribute of the Product view of the Sales
cube, for the French language locale code.
ViewAttrPutS
ViewAttrPutS assigns a string value to an attribute for a specified view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrPutS(String, CubeName, ViewName, AttrName, [LangLocaleCode] );
Argument Description
CubeName The cube parent of the view for which you want to
assign an attribute value.
ViewName The name of the view for which you want to assign
an attribute value.
Example
This example assigns the string value Rocheford to the Owner attribute of the Individual_Stores view of
the Sales cube, for the French language locale code.
ViewAttrS
ViewAttrS returns a string attribute for a specified view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrS(CubeName, ViewName, AttrName);
Argument Description
CubeName The parent cube of the view for which you want to
return an attribute value.
Example
In this example, the function returns the string value of the Manager attribute of the Sales view of the
Plan_Business_Unit cube.
ViewAttrSL
ViewAttrSL returns an attribute's string value for a specified view with respect to a given locale.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewAttrSL(CubeName, ViewName, AttrName, [LangLocaleCode]);
CubeName The parent cube of the view for which you want to
return an attribute value.
Example
In this example, the function returns the string value of the Manager attribute of the Sales view of the
Plan_Business_Unit cube, for the French-Canada locale.
ChoreError
ChoreError causes the immediate termination of a chore. It can be called from any process within a chore.
The ChoreError TurboIntegrator function causes an immediate termination of a single chore. Chores
terminated with this function are flagged with an error status.
This function is valid in TM1 TurboIntegrator processes only.
Arguments
None.
ChoreQuit
ChoreQuit causes the immediate termination of a chore. It can be called from any process within a chore.
The current chore is terminated with an error status, and a message is written to the server log file
indicating that ChoreQuit was called to terminate the chore.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreQuit;
Arguments
None.
ChoreRollback
ChoreRollback initiates a chore rollback. When used inside a TurboIntegrator process, this function
throws out all pending edits and cancels further processing. An error message appears in the
[Link] and [Link] files.
When used in a single-commit mode chore, ChoreRollback throws out all pending edits from all previous
processes and chore execution stops with an error code. When used in a multi-commit mode chore,
ChoreRollback throws out all pending edits from the current processes and chore execution stops with an
error code. Changes that have already been committed cannot be rolled back.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ChoreRollback;
Arguments
None.
SetChoreVerboseMessages
SetChoreVerboseMessages is used to turn on (or off) more verbose reporting of messages to the [Link]
file. You can use this function to debug chores in which several processes call each other with the
ExecuteProcess function.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
SetChoreVerboseMessages(Flag);
Argument Description
AddCubeDependency
AddCubeDependency lets you predefine cube inter-dependencies to avoid lock contention problems
during normal system use.
In normal operations, cube dependencies are established when data which crosses cube boundaries
(such as data that is derived by a rule that references an external cube) is retrieved. To create the
dependency information, the server must lock the cubes while the dependency is established, potentially
maintaining the lock during a long view calculation. Since this is a 'write' lock, other users are prevented
from accessing the cubes. The AddCubeDependency function allows the dependency to be established
when the server starts up, preventing later lock contention as no new dependency need be established.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AddCubeDependency(BaseCube, DependentCube);
Argument Description
Example
Consider a cube named 'SalesCube' that includes the rule ['net']=!Units *
DB('PriceCube', ... );
In this example, 'SalesCube' is the dependent cube, as it is dependent on values in the base cube named
'PriceCube' to calculate the value of 'net'. To establish this dependency, you should run the following
function in a TurboIntegrator process: AddCubeDependency( 'PriceCube', 'SalesCube' );
CellGetN
CellGetN retrieves a value from a numeric cube cell.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellGetN(Cube, e1, e2 [,...en]);
Argument Description
V1 = CELLGETN('PNLCube', 'fred','argentina','Sales','Jan');
IF(V1 = 454);
ASCIIOUTPUT('[Link]', 'if logic not working properly');
ENDIF;
Note: This example artificially breaks the line of code for easier reading.
CellGetS
CellGetS retrieves a value from a string cube cell.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellGetS(Cube, e1, e2 [,...en]);
Argument Description
See the note at “CellGetN” on page 273 concerning IF logic with this function.
Example
This example retrieves the string value at the intersection of the Rep, Europe, and Product elements in the
Personnel cube.
CellIncrementN
CellIncrementN increments an existing numeric cell value by a specified value.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
CellIncrementN(1000, 'y2ksales', 'Actual', 'Argentina', 'S Series 1.8L Sedan', 'Sales', 'Jan');
This example increments the value at the intersection of the Actual, Argentina, S Series 1.8L Sedan, Sales,
and Jan elements in the y2ksales cube by 1000.
CellIsUpdateable
CellIsUpdateable determines whether a cube cell can be written to. The function returns 1 if the cell can
be written to, otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellIsUpdateable(Cube, e1, e2 [,...en]);
Argument Description
This example determines if the cell defined by the elements Actual, Argentina, S Series 1.8L Sedan, Sales,
and Jan in the y2ksales cube can be written to. If the cell can receive a value, the function returns 1,
otherwise it returns 0.
CellPutN
CellPutN sends a numeric value to a cube cell.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellPutN(x, Cube, e1, e2 [,..., en]);
Argument Description
x A numeric value.
Note: If you supply invalid arguments to the CellPutN() function in a TurboIntegrator process when the
cube does not exist, an error is sent to the [Link].
Example
CellPutN(12345, 'y2ksales', 'Actual', 'Argentina', 'S Series 1.8L Sedan', 'Sales', 'Jan');
This example sends the value 12345 to the intersection of the Actual, Argentina, S Series 1.8L Sedan,
Sales, and Jan elements in the y2ksales cube.
CellPutProportionalSpread
CellPutProportionalSpread distributes a specified value to the leaves of a consolidation proportional to
existing cell values. CellPutProportionalSpread replaces existing cell values; it cannot be used to add to or
subtract from existing cell values.
The function is analogous to the Proportional Spread data spreading method. If you must add to or
subtract from existing cell values, use the Proportional Spread method, which can be executed through
the user interface or through data spreading syntax.
Note: When using CellPutProportionalSpread to distribute a value to the leaves of a consolidation, only
those leaves already containing non-zero values are changed. This is because zero values cannot be
incremented or decremented proportionally; any proportion of zero is still zero.
Syntax
CellPutProportionalSpread( value, cube, e1, e2, e3...,en );
Argument Description
Example
This example distributes the value 7000 to the children of the consolidation in the SalesCube identified by
the elements Actual, North America, S Series 1.8L Sedan, Sales, and Jan.
CellPutS
CellPutS sends a string value to a cube cell.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellPutS(String, Cube, e1, e2 [,...en]);
Argument Description
String A string.
Example
This example sends the string 'jones' to the intersection of the Rep, Europe, and Product elements in the
personnel cube.
CubeClearData
CubeClearData clears all of the data in a cube. This function is much faster than doing an operation such
as creating a view to cover the entire cube, and then doing a ViewZeroOut() to zero out the entire cube.
When you use CubeClearData to clear data from a cube, any cells in the cube that are fed with feeders
are also cleared. You must resave the rule that establishes the feeders or use the CubeProcessFeeders
function to restore the fed cells.
This function deletes only the cube data, it does not delete and re-create the cube itself. This has
implications when sandboxes are used. If a cube is deleted and then re-created, any sandboxes a user
may have will be discarded, since the cube against which those sandboxes were created was deleted
(even though a cube may have been re-created with the same name). If, however, CubeClearData is used,
the sandbox data will still be considered valid, since the cube against which the sandbox was created
continues to exist.
CubeClearData is valid in processes only.
Note: The effect of the CubeClearData function is not recorded in the transaction log; the log will not
contain any entries relating to the removal of data from the cube resulting from the use of CubeClearData.
Syntax
CubeClearData( name-of-cube-as-string );
Argument
The name of the cube to clear, as a string.
Example
CubeClearData( 'expense' );
CubeCreate
CubeCreate creates a cube from specified dimensions. The order of dimensions specified in the function
will be the order of dimensions in the cube definition. After execution, CubeCreate automatically saves
the resulting .cub file to disk.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeCreate(Cube, d1, d2 [,...dn]);
Argument Description
Example
This example creates a cube named y2ksales using the dimensions Actvsbud, Region, Model, Account1,
and Month.
CubeDestroy
CubeDestroy deletes a specified TM1 cube.
This function is valid in TM1 TurboIntegrator processes only.
You can use CubeDestroy to delete control cubes.
Syntax
CubeDestroy(Cube);
Argument Description
Example
CubeDestroy('y2ksales');
CubeDimensionCountGet
CubeDimensionCountGet returns the number of dimensions in a cube.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeDimensionCountGet(CubeName);
Example
CubeDimensionCountGet('Sales');
In this example, the function returns the number of dimensions in the Sales cube.
CubeExists
CubeExists determines whether a specific cube exists on the server from which a TurboIntegrator process
is executed. The function returns 1 if the cube exists on the server, otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeExists(CubeName);
Argument Description
Example
CubeExists('Inventory');
CubeGetLogChanges
CubeGetLogChanges returns the Boolean value of the Logging property for a specified cube.
The Logging property is set in the Security Assignments dialog box and stored in the }CubeProperties
control cube. If Logging is turned on for a cube, the function returns 1. If logging is turned off the function
returns 0.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeGetLogChanges(CubeName);
Argument Description
CubeName The cube for which you want to return the value of
the Logging property.
Example
CubeGetLogChanges('2002sales');
CubeSaveData
CubeSaveData() serializes a cube.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
To improve performance, transaction logging may be disabled while loading data. To safeguard newly
loaded data in the unlikely event of a server crash, the changes can be serialized to disk. SaveDataAll has
been used to serialize data to disk and to truncate the transaction log. When processing a SaveDataAll
command, the server acquires a READ lock on every cube and an IX lock on every changed cube. This can
cause significant contention with user activity if SaveDataAll is run during periods of user activity.
Typically not all the cubes affected by SaveDataAll need to be serialized since not all cubes are typically
loaded with new data. CubeSaveData is used to serialize an individual cube to disk. CubeSaveData
serializes the cube's data that has been committed to memory including the modifications that have been
performed against it in the current TurboIntegrator process but not yet committed.
Syntax
CubeSaveData(Cube);
Argument Description
Example
CubeSaveData ('SalesCube');
CellPutN(500, 'y2ksales', 'Actual', 'Argentina', 'S Series 1.8 L Wagon', 'Sales', 'Jan');
CubeSaveData('y2ksales');
CellPutN(1000, 'y2ksales', 'Actual', 'Argentina', 'S Series 1.8 L Wagon', 'Sales', 'Jan');
When the CubeSaveData command is processed, the value of 500 for the January Sales cell will be
included in the cube's serialization to disk, even though it has not yet been committed. The update of the
January Sales cell to 1000 will not be part of the serialization.
Transaction Log
A new transaction entry appears in the Transaction log when CubeSaveData has been run. When
processing a transaction log file during recovery, all updates to a cube that have been applied so far
will be discarded when a CubeSaveData directive against the cube is encountered as all of the updates
have already been serialized to the cube.
CubeSetConnParams
CubeSetConnParams is used to encrypt the password for a virtual cube in the }CubeProperties cube.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeSetConnParams(cubeName, providerName, dataSourceLocation,dataSourceName,
dataSourceCatalog, userID, password, sapClientID, sapClientLang, providerString);
Argument Description
cubeName The name of the cube for which you want to set the
password.
providerName
dataSourceName
providerString
Example
CubeSetLogChanges
CubeSetLogChanges sets the Logging property for a cube.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Argument Description
Cube The name of the cube for which you want to set the
LOGGING property.
CubeTimeLastUpdated
CubeTimeLastUpdated returns a serial value that indicates the date and time at which a specified cube
was last updated.
The serial value that is returned by this function uses a starting time of Jan 1 1900 12:00:00 A.M., which
is equivalent to the value 1.0. Dates are represented by integers, while times are represented as decimal
numbers between .0 and .999999. This is consistent with the way date and time serial values are stored
and reported in Microsoft Excel.
Note: By default, TM1 date and time serial values use a starting time of Jan 1 1960 12:00:00
A.M. To resolve the inconsistency between Excel and TM1 date and time serial values, you can set
UseExcelSerialDate=T in your [Link] file to instruct the TM1 server to use date and time serial
values that conform to Excel standards.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeTimeLastUpdated(cube);
Argument Description
Example
CubeTimeLastUpdated('Sales');
This example returns a value corresponding to the time when the Sales cube was last updated.
CubeUnload
CubeUnload unloads a specified cube, along with all associated cube views, from memory.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeUnload(CubeName);
Argument Description
CubeUnload('ManufacturingBudget');
This example unloads the ManufacturingBudget cube, and any associated views, from server memory.
CubeDataReservationAcquire
CubeDataReservationAcquire acquires a Data Reservation for the specified cube, user and tuple.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeDataReservationAcquire(Cube, User, bForce, Address, [AddressDelimiter])
Argument Description
bForce Boolean value that determines the behavior if the requested reservation
conflicts with an existing reservation.
If set to 0 (false), then the request is rejected if it conflicts with an existing
reservation.
If set to 1 (true) and the user running the TurboIntegrator process has
the DataReservationOverride capability, then the conflicting reservations are
released, and the requested one is granted.
Address Tokenized string sequence of element names that define the tuple. The order
must match the original dimension order of the cube.
All the cells in the cube contained by the tuple make up the region being
reserved. You can choose one element from each dimension or use an empty
string between the delimiters to select an entire dimension. Depending on
where the element is located in the hierarchy, the request reserves a single
cell, a slice, or the entire cube.
AddressDelimiter Optional character string that is used to separate element names in the
Address parameter.
Default value is '|'.
Example
CubeDataReservationAcquire('DRTestCube','User1',0,'ElemX|ElemY|ElemZ');
The following example sets the bForce parameter to 1 to force the DR request if a conflict exists and uses
a different delimiter character for the AddressDelimiter parameter.
CubeDataReservationAcquire('DRTestCube','User2',1,'ElemX*ElemY*ElemZ','*');
CubeDataReservationRelease
CubeDataReservationRelease releases the specified Data Reservation.
If the user specified is not the same as the owner of the reservation, then the release will only succeed if
the user specified has the DataReservationOverride capability enabled.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeDataReservationRelease(Cube, User, Address,[AddressDelimiter])
Argument Description
Address Tokenized string sequence of element names that define the tuple. The
order must match the original dimension order of the cube.
AddressDelimiter Optional character string that is used to separate element names in the
Address parameter.
Default value is '|'.
Return Value
Boolean - returns true if the release succeeded.
Example
CubeDataReservationRelease('DRTestCube','User1','ElemX|ElemY|ElemZ');
The following example uses a different character for the AddressDelimiter parameter.
CubeDataReservationRelease('DRTestCube','User2','ElemX*ElemY*ElemZ','*');
Syntax
CubeDataReservationReleaseAll(Cube, UserFilter, Address, [AddressDelimiter])
Argument Description
Address Tokenized string sequence of element names that define the tuple. The order
must match the original dimension order of the cube.
AddressDelimiter Optional character string that is used to separate element names in the
Address parameter.
Default value is '|'.
Return Value
Boolean - returns true if no errors.
Example
CubeDataReservationReleaseAll('DRTestCube','User1','ElemX|ElemY|ElemZ');
The following example releases all reservations in the specified cube for all users.
CubeDataReservationReleaseAll('DRTestCube','','||');
CubeDataReservationGet
CubeDataReservationGet finds existing reservations on a specific cube for all or one user.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeDataReservationGet(Index, Cube, User, [AddressDelimiter]) returns Address;
Index A one-based loop index to use for iterating through reservations on the
specified cube.
AddressDelimiter Optional character string that is used to separate element names in the
returned Address parameter.
Default value is '|'.
Return Value
Address - Reservation creation time, name of the reservation owner and Element address of the
reservation. Creation time comes first, followed by delimiter, followed by UserID, followed by delimiter,
followed by Elements IDs separated by the delimiter in order of dimensions in the cube (original order).
An empty string is returned if there is no entry for the specified index.
The format of the return value is:
[creation time][delimiter][owner name][delimiter][element1][delimiter]
[element2][delimiter]…[elementN]
For example:
"20100622211601|Fred Bloggs|Element1|Element2|Element3"
Note: The reservations can change while iterating the list of reservations so the use of index is not
guaranteed to give a complete list of reservations. Reservations can be added or removed at any position
in the list, so reservations can be skipped or repeated when looping through index values.
If the owner filter is specified, then the index applies only to the members of the filtered list. If the list
of reservations has owners as follows: User1, User1, User2 and the request specifies an owner of User2
then an index of 1 will retrieve the third member of the list.
Example
CubeDataReservationGet(1,'DRTestCube','User1','*');
CubeDataReservationGet(1,'DRTestCube','');
The following sample would find all the reservations owned by user Fred Bloggs in the Expense Input
cube and do "something useful" with them:
vIndex = 1;
vCube = 'Expense Input';
vUserFilter = 'Fred Bloggs';
vDelim = '|';
vAddress = CubeDataReservationGet( vIndex, vCube, vUserFilter,vDelim);
WHILE (vAddress @<> '');
vSep1 = SCAN( vDelim, vAddress);
vDRUser = SUBST( vAddress, 1, vSep1 - 1);
vDRAddress = SUBST( vAddress, vSep1 + 1, LONG(vDRAddress) - vSep1);
CubeDataReservationGetConflicts
CubeDataReservationGetConflicts finds existing reservations on a specific cube that would conflict with
the specified user, address and tuple.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
CubeDataReservationGetConflicts(Index, Cube, User, Address, [AddressDelimiter])returns
ConflictAddress;
Argument Description
Index A one-based loop index to use for iterating through conflicts that satisfy
this query.
User The query will search for reservations that will conflict with this user.
Address Tokenized string sequence of element names that define the tuple. The
order must match the original dimension order of the cube.
AddressDelimiter Optional character string that is used to separate element names in the
Address parameter.
Default value '|'.
Return Value
ConflictAddress - Reservation creation time, name of the reservation owner and Element address of
the reservation. The creation time comes first, followed by delimiter, followed by UserID, followed by
delimiter, followed by Elements IDs separated by the delimiter in order of dimensions in the cube (original
order).
An empty string is returned if there is no entry for the specified index.
The format of the return value is:
For example:
"20100622211601|Fred Bloggs|Element1|Element2|Element3"
Note: The reservations can change while iterating the list of conflict reservations so the use of index is not
guaranteed to give a complete list of reservations. Reservations can be added or removed at any position
in the list, so reservations can be skipped or repeated when looping through index values.
Syntax
FormatDate(Date, <Pattern>, <Index>)
Argument Description
Example
sDate = FormatDate(18000);
NewDateFormatter
NewDateFormatter defines a date formatter. It returns an index for use in the ParseDate and FormatDate
functions. The indices start at 0 and go up by one for each call to NewDateFormat. Date formatters are
valid during execution of the process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
NewDateFormatter(Locale, <TimeZone>, <UseUNIXTime>, <FormatterStyle>, <FormatterType>,
<TimeType>)
Argument Description
UseUNIXTime If 'unix' is specified, then times are treated as milliseconds since January 1,
1970. Otherwise, they are treated in TM1 serial format.
Note that only dates later than January 1, 1970 can be processed even if TM1
serial format is used.
FormatterStyle Controls the date format used when an empty pattern is specified to the
FormatDate or ParseDate functions.
Valid values are 'full', 'long', 'medium' or 'short'.
The default is 'medium'.
FormatterType Controls the type of format used when an empty pattern is specified to the
FormatDate or ParseDate functions.
Valid values are 'time', 'date' or 'datetime'.
The default is 'date'.
Example
dfUNIX = NewDateFormatter('', 'Etc/UTC', 'unix');
ParseDate
ParseDate parses a date string according to a formatter defined with the NewDateFormatter function.
A date value that is either serial or UNIX, depending on the formatter specified, is returned. If the date
cannot be parsed then an undefined value is returned. This can be tested with the ISUND function.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ParseDate (DateString, <Pattern>, <Index>)
Argument Description
Index Index returned by a call to the NewDateFormatter function. The default value is
0. If no date formatter exists at the index, then a default formatter is used as
though it had been created with the following call:
NewDateFormatter('', 'Etc/UTC', 'serial', 'medium', 'date')
Example
nDate = ParseDate('2011/11/24', 'yyyy/MM/dd');
DimensionCreate
DimensionCreate creates a new dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionCreate(DimName);
Argument Description
Example
DimensionCreate('Product');
DimensionDeleteAllElements
DimensionDeleteAllElements deletes all the elements in a dimension. This function is useful for
recreating dimension hierarchies.
Note: Deleting an element deletes all cube data identified by that element. However, if you use
DimensionDeleteAllElements to delete elements, then recreate those elements with the same names
in the Metadata tab, any data points in a cube identified by the elements will be retained after rebuilding
the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
DimensionDeleteAllElements('Model');
DimensionDeleteElements
DimensionDeleteElements deletes all elements from a dimension using the subset of elements. All
elements in the referenced subset are deleted, including C level elements.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionDeleteElements (DimensionName, Subset )
Argument Description
DimensionDestroy
DimensionDestroy deletes a dimension from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionDestroy(DimName);
Argument Description
Example
DimensionDestroy('Product');
This example deletes the Product dimension from the TM1 database.
Syntax
DimensionElementComponentAdd(DimName, ConsolidatedElName,ElName, ElWeight);
Argument Description
Example
This example adds the child Expenses to the Net Sales consolidation in the Measures dimension. The
child has a weight of -1 in the consolidation.
DimensionElementComponentAddDirect
DimensionElementComponentAddDirect adds a component (child) to a consolidated element by directly
editing a dimension.
This function is valid in TM1 TurboIntegrator processes only.
The default means 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
DimensionElementComponentAdd) are used in the Metadata procedure 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 modification 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.
Argument Description
Example
This example adds the child Expenses to the Net Sales consolidation in the Measures dimension. The
child has a weight of -1 in the consolidation.
DimensionElementComponentDelete
DimensionElementComponentDelete deletes a component (child) from a consolidated element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionElementComponentDelete(DimName, ConsolidatedElName,ElName);
Argument Description
Example
DimensionElementComponentDelete('Region', 'Benelux','Belgium');
This example deletes the Belgium child from the Benelux consolidation in the Region dimension.
DimensionElementComponentDeleteDirect
DimensionElementComponentDeleteDirect deletes a component (child) from a consolidated element by
directly editing the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionElementComponentDeleteDirect(DimName, ConsolidatedElName,ElName);
Argument Description
Example
DimensionElementComponentDeleteDirect('Region', 'Benelux','Belgium');
This example deletes the Belgium child from the Benelux consolidation in the Region dimension.
DimensionElementDelete
DimensionElementDelete deletes an element from a dimension.
Note: Deleting an element deletes all cube data identified by that element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionElementDelete(DimName, ElName);
Argument Description
Example
DimensionElementDelete('Region', 'Belgium');
This example deletes the element Belgium from the Region dimension.
DimensionElementDeleteDirect
DimensionElementDeleteDirect deletes an element from a dimension by directly editing the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Note: Deleting an element deletes all cube data identified by that element.
The default means 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 DimensionElementDelete) are
used in the Metadata procedure 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 modification 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.
Syntax
DimensionElementDeleteDirect(DimName, ElName);
Argument Description
Example
DimensionElementDeleteDirect('Region', 'Belgium');
This example deletes the element Belgium from the Region dimension.
Syntax
DimensionElementExists(DimName, ElName);
Argument Description
Example
This example determines whether the element Belgium exists in the Region dimension on the server.
DimensionElementExists('Region', 'Belgium');
DimensionElementInsert
DimensionElementInsert adds an element to a dimension. You can use this function to add numeric,
string, or consolidated elements. You can't use this function in the Data or Epilog procedures of a
TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionElementInsert(DimName, InsertionPoint, ElName,ElType);
Argument Description
Example
DimensionElementInsert('Region','Belgium','Netherlands','S');
This example adds the string element Netherlands to the Region dimension. Netherlands is added
immediately before Belgium in the dimension.
DimensionElementInsert('Region','','Netherlands','S');
This example adds the string element Netherlands to the Region dimension. Netherlands is added to the
end of the dimension.
DimensionElementInsertDirect
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.
Syntax
DimensionElementInsertDirect(DimName, InsertionPoint, ElName,ElType);
Example
This example adds the numeric element Netherlands to the Region dimension. Netherlands displays
immediately before Belgium in the dimension definition.
DimensionElementPrincipalName
DimensionElementPrincipalName returns the principal name of an element or element alias.
TurboIntegrator must use principal element names when updating dimensions; element aliases cannot
be used. This function is useful for determining principal element names while attempting to update a
dimension when only element aliases are available to the TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionElementPrincipalName( DimName, ElName )
Argument Description
Example
If ElName is not in the currently saved version of DimName, the function returns ElName.
DimensionExists
DimensionExists determines whether a specific dimension exists on the server from which a
TurboIntegrator process is executed. The function returns 1 if the dimension exists on the server,
otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionExists(DimName);
Argument Description
Example
DimensionExists('Region');
DimensionHierarchyCreate
DimensionHierarchyCreate creates a new hierarchy in an existing dimension. The hierarchy cannot have
the same name as the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionHierarchyCreate(DimName, HierName);
Argument Description
Example
DimensionHierarchyCreate('Vehicles', 'Trucks');
This example creates the empty Trucks hierarchy in the Vehicles dimension.
Syntax
DimensionSortOrder(DimName, CompSortType, CompSortSense, ElSortType , ElSortSense);
Argument Description
Example
This example sets a sort order for the Region dimension. All dimension elements are sorted by level in
ascending order, and any components of consolidations are sorted in descending alphabetical order.
DimensionTimeLastUpdated
DimensionTimeLastUpdated returns a serial value that indicates the date and time at which a specified
dimension was last updated.
The serial value returned by this function uses a starting time of Jan 1 1900 12:00:00 A.M., which is
equivalent to the value 1.0. Dates are represented by integers, while times are represented as decimal
numbers between .0 and .999999. This is consistent with the way date/time serial values are stored and
reported in Microsoft Excel.
Note: By default, TM1 date/time serial values use a starting time of Jan 1 1960 12:00:00 A.M. To resolve
the inconsistency between Excel and TM1 date/time serial values, you can set UseExcelSerialDate=T
in your [Link] file to instruct the TM1 server to use date/time serial values that conform to Excel
standards.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionTimeLastUpdated(dimension);
Argument Description
Example
DimensionTimeLastUpdated('Region');
This example returns information on when the Region dimension was last updated.
DimensionTopElementInsert
DimensionTopElementInsert creates a root element in a dimension. If the dimension already has a single
root, then this element will not be created.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Example
This example adds the root element World to the Region dimension. World is inserted displays
immediately before Netherlands in the dimension definition.
DimensionTopElementInsertDirect
DimensionTopElementInsertDirect creates a root element in a dimension by directly editing the
dimension. If the dimension already has a single root, then this element will not be created.
This function is valid in TM1 TurboIntegrator processes only.
The default means 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 DimensionTopElementInsert)
are used in the Metadata procedure 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 modification 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.
Syntax
DimensionTopElementInsertDirect(DimName, InsertionPoint, ElName);
Example
This example adds the root element World to the Region dimension. World is inserted displays
immediately before Netherlands in the dimension definition.
DimensionUpdateDirect
DimensionUpdateDirect performs a full rewrite of a dimension that has been subject to direct editing in a
TurboIntegrator process, essentially compacting the memory footprint of the dimension.
A dimension that undergoes a series of direct-only edits (element deletions, in particular) will eventually
use more memory than its fully-rewritten counterpart would. This function can optionally be used
after directly editing a dimension with DimensionElementInsertDirect, DimensionElementDeleteDirect,
DimensionElementComponentAddDirect, DimensionElementComponentDeleteDirect, and/or
DimensionTopElementInsertDirect. Calling DimensionUpdateDirect incurs an initial full-copy memory
cost, however it can be used to guarantee that the dimension is at its smallest possible memory footprint
after processing is complete.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DimensionUpdateDirect(DimName);
Argument Description
Example
DimensionUpdateDirect('Region');
Syntax
CreateHierarchyByAttribute(DimName, AttrName [, emptyParent [, rootName ] ] );
Argument Description
Example
This example creates a hierarchy from the City attribute in the Country dimension.
HierarchyContainsAllLeaves
HierarchyContainsAllLeaves returns true only if the specified hierarchy contains the full set of leaf
elements that are present in the dimension. That is, it contains all the leaf elements that can be seen
in the special Leaves hierarchy. If the specified hierarchy is missing one or more leaf elements, this
function returns false.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyContainsAllLeaves(DimName, HierName);
Example
HierarchyContainsAllLeaves('Region', 'Leaves');
This example determines if the Leaves hierarchy, in the Region dimension, contains all leaf members.
HierarchyCreate
HierarchyCreate creates a new hierarchy in an existing dimension. The hierarchy cannot have the same
name as the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyCreate(DimName, HierName);
Argument Description
Example
HierarchyCreate('Vehicles', 'Trucks');
This example creates the empty Trucks hierarchy in the Vehicles dimension.
HierarchyDeleteAllElements
HierarchyDeleteAllElements deletes all the elements in a hierarchy. This function is useful for recreating
dimension hierarchies.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyDeleteAllElements(DimName, HierName);
Argument Description
Example
HierarchyDeleteAllElements('Equipment','Helmets');
This example deletes all elements in the Helmets hierarchy in the Equipment dimension.
HierarchyDeleteElements
HierarchyDeleteElements deletes elements from a hierarchy using a subset of elements.
This function is valid only in TurboIntegrator processes.
Syntax
HierarchyDeleteElements (DimensionName, HierarchyName, Subset)
Argument Description
HierarchyDestroy
HierarchyDestroy deletes a hierarchy from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyDestroy(DimName, HierName);
Argument Description
HierarchyDestroy('Product','Transmissions');
This example deletes the Transmissions hierarchy from the TM1 database.
HierarchyElementComponentAdd
HierarchyElementComponentAdd adds a component (child) to a consolidated element. You can't use this
function in the Epilog procedure of a TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementComponentAdd(DimName, HierName, ConsolidatedElName, ElName, ElWeight);
Argument Description
Example
HierarchyElementComponentAdd('Measures', 'Europe', 'Net Sales', 'Expenses',
-1);
This example adds the child Expenses to the Net Sales consolidation in the Europe hierarchy of the
Measures dimension. The child has a weight of -1 in the consolidation.
HierarchyElementComponentAddDirect
HierarchyElementComponentAddDirect adds a component (child) to a consolidated element by directly
editing a dimension.
This function is valid in TM1 TurboIntegrator processes only.
The default method of editing a dimension in Cognos 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
HierarchyElementComponentAdd) are used in the Metadata procedure 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.
Syntax
HierarchyElementComponentAddDirect(DimName, HierName, ConsolidatedElName, ElName, ElWeight);
Argument Description
Example
HierarchyElementComponentAddDirect('Measures', 'Europe', 'Net Sales',
'Expenses', -1);
This example adds the child Expenses to the Net Sales consolidation in the Europe hierarchy of the
Measures dimension. The child has a weight of -1 in the consolidation.
HierarchyElementComponentDelete
HierarchyElementComponentDelete deletes a component (child) from a consolidated element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementComponentDelete(DimName, HierName, ConsolidatedElName, ElName);
Argument Description
This example deletes the Belgium child from the Benelux consolidation in the Western hierarchy of the
Region dimension.
HierarchyElementComponentDeleteDirect
HierarchyElementComponentDeleteDirect deletes a component (child) from a consolidated element by
directly editing the dimension.
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
HierarchyElementComponentDelete) are used in the Metadata procedure 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 modification 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.
Syntax
HierarchyElementComponentDeleteDirect(DimName, HierName, ConsolidatedElName, ElName);
Argument Description
Example
This example deletes the Belgium child from the Benelux consolidation in the Western hierarchy of the
Region dimension.
Syntax
HierarchyElementDelete(DimName, HierName, ElName);
Argument Description
Example
This example deletes the element Belgium from the Western hierarchy in the Region dimension.
HierarchyElementDeleteDirect
HierarchyElementDeleteDirect deletes an element from a dimension by directly editing the dimension.
This function is valid in TM1 TurboIntegrator processes only.
Note: Deleting an element deletes all cube data identified by that element.
The default means 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 DimensionElementDelete) are
used in the Metadata procedure 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 modification 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.
Syntax
HierarchyElementDeleteDirect(DimName, HierName, ElName);
Example
This example deletes the element Belgium from the Western hierarchy in the Region dimension.
HierarchyElementExists
HierarchyElementExists determines whether a specific elements exists in a hierarchy on the server from
which a TurboIntegrator process is executed. The function returns 1 if the elements exists in the hierarchy
on the server, otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementExists(DimName, HierName, ElemName);
Argument Description
Example
This example determines whether element Belgium from the Western hierarchy in the Region dimension
exists on the server.
HierarchyElementInsert
HierarchyElementInsert adds an element to a dimension. You can use this function to add numeric,
string, or consolidated elements. You can't use this function in the Data or Epilog procedures of a
TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementInsert(DimName, HierName, InsertionPoint, ElName, ElType);
Example
This example adds the numeric element Netherlands to the Western hierarchy in the Region dimension.
Netherland displays immediately before Belgium in the dimension definition.
HierarchyElementInsertDirect
HierarchyElementInsertDirect 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 means 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 HierarchyElementInsert) 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.
Argument Description
Example
This example adds the numeric element Netherlands to the Western hierarchy in the Region dimension.
Netherlands displays immediately before Belgium in the dimension definition.
HierarchyElementPrincipalName
HierarchyElementPrincipalName returns the principal name of an element or element alias.
TurboIntegrator must use principal element names when updating dimensions; element aliases cannot
be used. This function is therefore useful for determining principal element names while attempting to
update a dimension when only element aliases are available to the TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementPrincipalName( DimName, HierName, ElName )
Argument Description
Example
If ElName is not in the currently saved version of DimName, the function returns ElName.
If ElName is in DimName, whether as an element alias or a principal element name, it returns the
principal name of the element.
HierarchyExists
HierarchyExists determines whether a specific hierarchy exists on the server from which a
TurboIntegrator process is executed. The function returns 1 if the hierarchy exists on the server,
otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyExists(DimName, HierName);
Argument Description
Example
HierarchyExists('Region', 'Europe');
This example determines if the Europe hierarchy, in the Region dimension, exists on the server.
HierarchyHasOrphanedLeaves
HierarchyHasOrphanedLeaves returns an integer that represents the number of members in the specified
hierarchy that are not components of a parent member in that hierarchy (that is, orphaned leaves). If
there are no members, the function returns 0.
This function is valid in TurboIntegrator processes only.
Syntax
HierarchyHasOrphanedLeaves(DimName, HierName);
Argument Description
Example
HierarchyHasOrphanedLeaves('Region', 'Europe');
This example determines if the Europe hierarchy, in the Region dimension, contains any orphaned leaves.
HierarchySortOrder
HierarchySortOrder sets a sort type and sense for dimension elements and for components of
consolidated elements within a dimension. The sort order defined by DimensionSortOrder determines
how the subset displays in the Subset Editor.
DimensionSortOrder sets properties for a dimension; the dimension is not actually sorted until it is saved
on the server.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySortOrder(DimName, HierName, CompSortType, CompSortSense,ElSortType , ElSortSense);
Argument Description
Example
This example sets a sort order for the Europe hierarchy in the Region dimension. All dimension elements
are sorted by level in ascending order, and any components of consolidations are sorted in descending
alphabetical order.
HierarchyTimeLastUpdated
HierarchyTimeLastUpdated indicates when a specified dimension hierarchy was last updated. The
function returns a real number that represents the current day (including the hour, minute, second, and
millisecond) since the beginning of the year 1900.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyTimeLastUpdated(dimension, hierarchy);
Argument Description
Example
HierarchyTimeLastUpdated('Region', 'Europe');
This example returns information on when the Europe hierarchy of the Region dimension was last
updated. If a value of 42548.<hours>.<minutes>.<milliseconds> is returned, you can divide 42548 by
HierarchyTopElementInsert
HierarchyTopElementInsert creates a root element in a dimension. If the dimension already has a single
root, then this element will not be created.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyTopElementInsert(DimName, HierName, InsertionPoint, ElName);
Argument Description
Example
This example adds the root element World to the Western hierarchy of the Region dimension. World is
inserted displays immediately before Netherlands in the dimension definition.
HierarchyTopElementInsertDirect
HierarchyTopElementInsertDirect creates a root element in a dimension by directly editing the dimension.
If the dimension already has a single root, then this element will not be created.
This function is valid in TM1 TurboIntegrator processes only.
The default means 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 HierarchyTopElementInsert)
are used in the Metadata procedure 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 modification needed
Syntax
HierarchyTopElementInsertDirect(DimName, HierName, InsertionPoint, ElName);
Argument Description
Example
This example adds the root element World to the Western hierarchy of the Region dimension. World is
inserted displays immediately before Netherlands in the dimension definition.
HierarchyUpdateDirect
HierarchyUpdateDirect performs a full rewrite of a hierarchy that has been subject to direct editing in a
TurboIntegrator process, essentially compacting the memory footprint of the hierarchy.
A dimension that undergoes a series of direct-only edits (element deletions, in
particular) will eventually use more memory than its fully-rewritten counterpart would.
This function can optionally be used after directly editing a dimension with
HierarchyElementInsertDirect, HierarchyElementDeleteDirect, HierarchyElementComponentAddDirect,
HierarchyElementComponentDeleteDirect, and/or HierarchyTopElementInsertDirect. Calling
HierarchyUpdateDirect incurs an initial full-copy memory cost, however it can be used to guarantee that
the dimension is at its smallest possible memory footprint after processing is complete.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyUpdateDirect(DimName, HierName);
Argument Description
HierarchyUpdateDirect('Region', 'Western');
ODBCClose
ODBCClose closes a connection to an ODBC data source.
This function is valid in TurboIntegrator processes only.
Syntax
ODBCClose(Source);
Argument Description
Example
ODBCClose('Accounting');
ODBCOpen
ODBCOpen opens an ODBC data source for output.
This function is valid in TurboIntegrator processes only.
Syntax
ODBCOpen(Source, ClientName, Password);
Argument Description
Example
This example opens the Accounting ODBC data source for the Jdoe client using the password Bstone.
Syntax
Format is: ODBCOPENEx (dataset name, dataset client name, client password, (use-Unicode-interface
flag) )
Argument Description
Example
chinese= ;
chinese = CHARW( 37123 );
fieldval = chinese | SomeNewText;
sql= Update TestTable set ForeName = N | fieldval | WHERE CustomerId= 1
ODBCOUTPUT( Unicode, sql );
ODBCOutput
ODBCOutput executes an SQL update query against an open ODBC data source. You should use the
ODBCOpen function to open the data source before calling ODBCOutput, and use ODBCClose to close the
data source before exiting the process.
This function is valid in TurboIntegrator processes only.
Syntax
ODBCOutput(Source, SQLQuery, [SQLQuery2, SQLQuery3, ...]);
Argument Description
Example
This example executes the specified query against the Accounting data source.
SetODBCUnicodeInterface
SetODBCUnicodeInterface sets whether the ODBC interface should use the Unicode wide functions or the
regular single-byte character functions. Setting this function to 1 uses the wide character ODBC interface.
Some ODBC driver support either the older single-byte interface as well as a Unicode style 'wide-
character' interface, where characters are passed and retrieved as 16-bit quantities. If the driver chosen
does not support one or the other style, a flag is provided to force TurboIntegrator to use a particular style
of interface.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
SetODBCUnicodeInterface=1
Argument Description
ExecuteCommand
ExecuteCommand executes a command line during a process. You can use ExecuteCommand to run a
desktop application, but not a service.
If you use ExecuteCommand to run an executable, the following conditions apply:
Syntax
ExecuteCommand(CommandLine, Wait);
Argument Description
ExecuteProcess
ExecuteProcess lets you execute a TurboIntegrator process from within another process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ExecuteProcess(ProcessName, [ParamName1, ParamValue1,ParamName2, ParamValue2]);
Argument Description
ProcessName The name of the process to be executed. This process must reside on
the same server as the process from which ExecuteProcess is called.
If the process named by this argument cannot be found at runtime, the
calling process is immediately terminated. (TurboIntegrator does not
check for a valid ProcessName at compilation.)
The parameter names passed in the ExecuteProcess function are matched at runtime against the
parameter names specified in the process to be executed. If the passed names cannot be found in the
parameter list of the process to be executed, a serious error results, causing the immediate termination of
the process from which ExecuteProcess is called.
Return Values
ExecuteProcess returns a real value that can be tested against one of the following return value functions:
Function Description
ProcessExitByChoreQuit() indicates that the process exited due to execution of the ChoreQuit
function
ProcessExitWithMessage() Indicates that the process exited normally, with a message written to
[Link].
Example
To record when a process called by ExecuteProcess fails because of a serious error, use code similar to
the following:
return_value = ExecuteProcess('create_sales_cube');
ASCIIOutput('C:\temp\process_return_value.txt', 'Process exited
with serious errors at', TIME, 'on', TODAY);if(return_value = ProcessExitSeriousError() )
endif;
Syntax
GetProcessErrorFileDirectory;
Arguments
None.
GetProcessErrorFilename
GetProcessErrorFilename returns the name of the TurboIntegrator process error log file associated with a
process. If the process has not yet generated an error log file, the function returns an empty (null) string.
Important: A process error log file is not generated until all statements in a given process tab (Prolog,
Metadata, Data, or Epilog) have executed. Accordingly, you can use GetProcessErrorFilename to check if
any previous tabs have generated an error log file, but you cannot use the function to determine if the
current process tab causes errors to be written to a log file.
For example, by determining that GetProcessErrorFilename returns a non-null string in the Epilog tab,
you can tell that errors were generated in the Prolog, Metadata, or Data tabs. However, you cannot use
GetProcessErrorFilename in the Data tab to determine if the Data tab generates errors.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
GetProcessErrorFilename;
Arguments
None.
GetProcessName
GetProcessName returns as a string the name of the current process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
GetProcessName()
Arguments
None.
Name = GetProcessName();
Syntax
If(expression);
statement1;
ElseIf(expression);
statement2;
ElseIf(expression);
statement3;
Else;
statement4;
EndIf;
Arguments
None.
Examples
If (x=5);
ASCIIOutput('c:\temp\[Link]','x equals five');
ElseIf (x=1);
ASCIIOutput ('c:\temp\[Link]', 'x equals one');
ElseIf (x=2);
ASCIIOutput ('c:\temp\[Link]', 'x equals two');
ElseIf (x=3);
ASCIIOutput ('c:\temp\[Link]', 'x equals three');
ElseIf (x=4);
ASCIIOutput ('c:\temp\[Link]', 'x equals four');
Else;
ASCIIOutput ('c:\temp\[Link]', 'x falls outside expected range');
EndIf;
This example evaluates the value of X. If X=5, the ASCIIOutput function is executed to write the string
x equals five to c:\temp\[Link]. If X does not equal 5, the first ElseIf statement is evaluated. If X=1,
the ASCIIOutput function is executed to write the string x equals one to c:\temp\[Link]. This
processing continues until the EndIf is executed.
Simple If statements can also be constructed without the use of ElseIf, as in this example:
IF(expression);
statement1;
ELSE;
statement2;
ENDIF;
ItemReject
ItemReject rejects a source record and places it in the error log, along with a specified error message.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ItemReject(ErrorString);
Argument Description
ErrorString The error message you want written to the error log
when a record is rejected.
Example
This example places a source record in the error log, along with the error message Value outside of
acceptable range. when the source record contains a value that is beyond a defined range.
ItemSkip
ItemSkip forces a process to skip the current data source item.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ItemSkip;
Arguments
None.
ProcessBreak
ProcessBreak stops processing source data and proceeds to the Epilog portion of a process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessBreak;
Arguments
None.
ProcessError
ProcessError causes an immediate termination of a process.
This function is valid in TM1 TurboIntegrator processes only.
Arguments
None.
ProcessExists
ProcessExists determines whether a specific TurboIntegrator process exists.
The ProcessExists function returns one of three possible values:
• If a TurboIntegrator process with the specified name does not exist, the function returns 0.
• If a process with the specified name does exist and is valid, the function returns 1.
• If a process with the specified name does exist, but has compilation errors, the function returns -1.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessExists(ProcessName);
Argument Description
ProcessName The name of the process for which you are trying to
determine status.
ProcessExitByChoreRollback
ProcessExitByChoreRollback initiates a chore rollback and exits with an error code. Similar to
ChoreRollback, when used inside a TurboIntegrator process, this function throws out all pending
edits and cancels further processing. An error message appears in the [Link] and
[Link] files.
When used in a single-commit mode chore, ProcessExitByChoreRollback throws out all pending edits
from all previous processes and exits.
When used in a multi-commit mode chore, ProcessExitByChoreRollback throws out all pending edits from
the current processes and then exits. Changes that have already been committed cannot be rolled back.
ProcessExitByChoreRollback returns the error code number.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessExitByChoreRollback;
Arguments
None.
ProcessExitByProcessRollback
ProcessExitByProcessRollback initiates a process rollback and exits with an error code. Similar
to ProcessRollback, when used inside a TurboIntegrator process, this function throws out all
Syntax
ProcessExitByProcessRollback;
Arguments
None.
ProcessQuit
ProcessQuit terminates a TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ProcessQuit;
Arguments
None.
ProcessRollback
ProcessRollback initiates a process rollback. When used inside a TurboIntegrator process, this function
throws out all pending edits and cancels further processing. An error message appears in the
[Link] and [Link] files.
Note: In IBM Planning Analytics version 2.0.8 or later, when a TurboIntegrator process rolls back and
restarts, the process is now represented in the [Link] file as three steps: starting, restarting
because of lock contention or rollback, and then finishing.
An entry is added to the [Link] file that shows the TurboIntegrator process as restarting due to
lock contention or rollback instead of just starting. This logging is enabled by default without setting any
specific debug options.
When used in a single-commit mode chore, ProcessRollback throws out all pending edits from all previous
processes and continues execution at the next process in the chore. If lock contention is encountered
after the call to ProcessRollback, the entire chore is restarted.
When used in a multi-commit mode chore, ProcessRollback throws out all pending edits from the current
process and then continues execution at the next process in the chore. Changes that have already been
committed cannot be rolled back. If lock contention is encountered after the call to ProcessRollback, only
the current process is restarted.
This function is valid in TM1 TurboIntegrator processes only.
Arguments
None.
RunProcess
RunProcess lets you run TurboIntegrator processes in parallel, each on its own thread that is managed by
TM1 Server. This approach speeds up data load and other operations where TurboIntegrator processes
are used to divide the work.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
RunProcess(ProcessName, [ParamName1, ParamValue1,ParamName2, ParamValue2]);
Argument Description
ProcessName The name of the process to be run. This process must reside on the
same server as the process from which RunProcess is called.
If the process named by this argument cannot be found at runtime, the
calling process is immediately terminated. (TurboIntegrator does not
check for a valid ProcessName at compilation.)
The parameter names passed in the RunProcess function are matched at runtime against the parameter
names specified in the process to be run. If the passed names cannot be found in the parameter list of the
process to be run, a serious error results, causing the immediate termination of the process from which
RunProcess is called.
Return values
RunProcess returns a string. The string is the JobID, or an empty string if an error occurs.
Sleep
Use this function to pause, or 'sleep' a process for a specified interval, expressed in milliseconds.
Syntax
Sleep(ms);
Example
Synchronized
Synchronized is used in a TurboIntegrator script to force serial execution of a designated set of
TurboIntegrator processes.
This function is valid in TurboIntegrator processes only.
Syntax
The Synchronized function uses the following syntax.
Synchronized takes a single required parameter that is a user-defined name for a lock object. This lock
object name can be used in multiple TurboIntegrator processes in order to serialize their execution as a
group.
nonBlocking Optional. If set to 1, this function does not block if the lock object is
already in use. Instead, the function returns a value of 1. This allows
the calling process to take alternative action, such as exiting early by
using the ProcessQuit function.
If set to 0 or not defined, the function blocks normally if the lock object
is already in use.
Semantics
A TurboIntegrator process may make any number of calls to Synchronized, with any number of lock
objects. Serializing is effective from the time synchronized is called, until the containing transaction
completes.
For example, if Synchronized is called from a subprocess (Ps) of primary process (Pp) or primary chore
(Cp), the Lock Object is released when Pp or Cp completes. The exception is that a SaveDataAll (SDA)
prematurely ends a transaction mid-process execution; this applies to Lock Objects as well.
The Synchronized call can be placed anywhere within a TurboIntegrator script, but serialization applies
to the entire TurboIntegrator process when it is encountered.
Consider a TurboIntegrator process with a Synchronized call somewhere in the middle of its script, and
an operation O1 preceding that call. Two instances of this TurboIntegrator process may start at the same
Example
Consider that TurboIntegrator process P needs to update two cubes, Cube_1 and Cube_2.
Other TurboIntegrator processes may also need to update Cube_1 or Cube_2.
To cause all TurboIntegrator processes that will update Cube_1 or Cube_2, to run one at a time, P could
call Synchronized in this manner:
sCube_1='Cube_1';
sCube_2='Cube_2';
sE1='Elm1';
sE2='Elm2';
sE4='Units';
sE5='Price';
Synchronized( sCube_1 );
Synchronized( sCube_2 );
# ...
Other TurboIntegrator processes that will update Cube_1 or Cube_2 must also call
Synchronized( sCube_1 ) and/or Synchronized( sCube_2 ) in a similar way.
In this example, the two lock objects' names were chosen to be the same as the cubes' names. But a lock
object's name does not have to be the same as other objects (cubes, dimensions, subsets).
While
The While statement allows a process to repeat a series of statements while a given condition is true.
While statements can be nested.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
WHILE(logical expression);
statement1;
statement2;
...
statement n;
END;
Arguments
None.
CubeProcessFeeders
CubeProcessFeeders reprocesses all feeders in the rules for a specified cube.
This function reprocesses all feeders in the rules for a specified cube. The feeders are normally reprocess
automatically when a rule file edit is saved, however, if the data changes, and those data changes will
change some conditional feeders, this function will need to be called to get those conditional feeders
re-evaluated.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CubeProcessFeeders(CubeName);
Argument Description
Example
CubeProcessFeeders('2003sales');
This example reprocesses all feeders in the rules for the 2003sales cube.
CubeRuleAppend
CubeRuleAppend appends a single line of rule text to a Planning Analytics cube rule.
Essentially, this function adds a single line of text to a rule (.rux) file. The line of text is typically a rule
statement, but can also be a comment. If there is no rule associated with the cube at the time this
function is executed, a new rule is created, containing only the passed line.
This function is valid only in Planning Analytics processes.
Syntax
CubeRuleAppend(CubeName, RuleText, IsCalculationRule);
Argument Description
Examples
This example inserts the calculation statement ['CL3'] = ['CL4'] + ['Trial']; at the end of the
calculation section of the rule for the MyCube cube.
This example inserts the feeder statement ['Trial'] => ['CL3']; at the end of the rule for the
MyCube cube.
CubeRuleDestroy
CubeRuleDestroy deletes any rule that exists for a specified cube.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
CubeName The name of the cube associated with the rule that
you want to delete
Example
CubeRuleDestroy('SalesProjections');
CubeRuleGet
CubeRuleGet retrieves a specified cube rule as a single string. This function is valid only in Planning
Analytics processes.
Syntax
CubeRuleGet(RuleName);
Argument Description
RuleName The name of the rule that you want to retrieve. You
do not need to specify the .rux file extension.
The rule must exist on the database where the
process is executed.
Example
CubeRuleGet('RevenueRule');
The RevenueRule contains these three lines:
CubeRuleSet
CubeRuleSet replaces the content of a cube rule with a specified string. This function is valid only in
Planning Analytics processes.
Syntax
CubeRuleSet(RuleName, RuleString);
RuleName The name of the cube rule for which you want
to replace content. You do not need to specify
the .rux file extension.
If the rule does not exist on the database where
the process is executed, a new rule is created
upon execution of this function, containing the rule
statements included in the RuleString.
Example
CubeRuleSet('RevenueRule', '[''Gross Margin %'']=c: ([''Gross Margin'']\
[''Gross Revenue''])*100; [''Unit Price''] = c: [''Gross Revenue'']\[''Units
Sold'']; [''Unit Cost''] = c: [''Cost of Sales'']\[''Units Sold''];');
Note that all member references in the RuleString are enclosed in double single quotes to escape the
single quotes that normally enclose member names.
This example replaces any existing content in RevenueRule with these three lines:
If RevenueRule does not already exist, it is created on the database where the process is executed.
DeleteAllPersistentFeeders
DeleteAllPersistentFeeders deletes any .feeder files that have persisted. When this function is used, all
cubes are marked as "do not save feeders" so a subsequent SaveData will not persist feeders which
means all feeders will be re-calculated on a server re-start.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DeleteAllPersistentFeeders;
Arguments
None.
Syntax
ForceSkipCheck()
Arguments
None.
RuleLoadFromFile
RuleLoadFromFile creates a TM1 rule for a specified cube from a text file. Each rule statement must end
with a semi-colon (;) and comments must be prefixed with the # character. If a rule already exists for the
specified cube, the rule is overwritten by the rule created by RuleLoadFromFile.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
RuleLoadFromFile(Cube, TextFile);
Argument Description
Cube The name of the cube for which you want to create
a rule.
TextFile The name of the text file from which you want to
create a rule.
You can specify the full path to this file, including
file name and extension. (Refer to Example 1.)
If you specify only the file name and extension,
TurboIntegrator looks for the file in the server's
data directory.
If you do not specify a file extension,
TurboIntegrator assumes the .rux extension by
default. (Refer to Example 2.)
If you leave the TextFile argument empty, TurboIntegrator looks for a source file with the same name as
the cube (but with a .rux extension) in the server's data directory. (Refer to Example 3.)
RuleLoadFromFile('Sales', 'C:\temp\[Link]');
Example 2:
This example creates a rule for the Sales cube using the file named [Link] in the server's data
directory:
RuleLoadFromFile('Sales', 'cuberule');
Example 3:
This example creates a rule for the Sales cube using the file named [Link] in the server's data
directory:
RuleLoadFromFileEx
RuleLoadFromFileEx creates a Planning Analytics rule for a specified cube from a text file using a
specified character set. Each rule statement in the text file must end with a semi-colon (;) and comments
must be prefixed with the # character. If a rule already exists for the specified cube, the rule is
overwritten by the rule created by RuleLoadFromFileEx.
This function is valid in TurboIntegrator processes only.
This function is similar to the “RuleLoadFromFile” on page 337 function, but provides the ability to specify
the character encoding used in the text file.
Syntax
RuleLoadFromFileEx(Cube, TextFile, CharacterSet);
Argument Description
Cube The name of the cube for which you want to create
a rule.
TextFile The name of the text file from which you want to
create a rule.
You can specify the full path to this file, including
file name and extension.
If you specify only the file name and extension,
TurboIntegrator looks for the file in the server's
data directory.
If you do not specify a file extension,
TurboIntegrator assumes the .rux extension by
default.
Sandbox Functions
These functions are used with sandboxes.
GetUseActiveSandboxProperty
GetUseActiveSandboxProperty returns a Boolean value that indicates whether a process reads and writes
data to the base data or to the user's active sandbox.
This function is valid in TM1 TurboIntegrator processes only.
The default is for processes to read and write to the base data.
• If the return is 0, the process is currently reading and writing to the base data.
• If the return is 1, the process is currently reading and writing to the active sandbox.
Note: This function returns the permanent value for this property as set in the Architect / Server
Explorer user interface unlessyou have used the SetUseActiveSandboxProperty function in the process.
In that case, the value for this property is determined by the value that was last set with the
SetUseActiveSandboxProperty function.
Syntax
GetUseActiveSandboxProperty()
Arguments
None.
Example
return_value = GetUseActiveSandboxProperty();
This example will return a Boolean value indicating whether the process is currently reading and writing
cube data to the active sandbox or to the base data.
ServerActiveSandboxGet
ServerActiveSandboxGet returns the name of the user's active sandbox. If the user has no active sandbox,
an empty string is returned. Because chores run in the context of a special admin user, and can have no
active sandbox, this function always returns an empty string when executed using a chore.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerActiveSandboxGet();
Arguments
None.
return_value = ServerActiveSandboxGet();
This example will return the active sandbox of the user executing the TI process in which the function call
is made.
ServerActiveSandboxSet
ServerActiveSandboxSet sets the active sandbox of the executing user. An empty string is used to clear
the executing user's active sandbox. This function throws an error if the executing user does not own a
sandbox with the passed name.
Because chores run in the context of a special admin user, and can have no active sandbox, this function
always throws an error when executed using a chore.
Note: For a TurboIntegrator process to read and write values in the context of the executing user's active
sandbox, the UseActiveSandbox property must be set. See “GetUseActiveSandboxProperty” on page 339
and “SetUseActiveSandboxProperty” on page 348.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerActiveSandboxSet(SandboxName)
Argument Description
ServerActiveSandboxSet('Best case');
Example: Clear the executing user's active sandbox and set context back to the base data
ServerActiveSandboxSet('');
ServerSandboxClone
ServerSandboxClone clones an existing sandbox into a new sandbox.
Sandboxes are private workspaces in which a user can enter and store data values separate from TM1
base data. Sandboxes are stored on disk and, when in use, in memory.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerSandboxClone(sandboxName,newSandboxName );
Argument Description
ServerSandboxCreate
ServerSandboxCreate creates a new sandbox.
Sandboxes are private workspaces in which a user can enter and store data values separate from TM1
base data. Sandboxes are stored on disk and, when in use, in memory.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerSandboxCreate( sandboxName );
Argument Description
Example
ServerSandboxesDelete
ServerSandboxesDelete allows administrators to discard user sandboxes that match certain criteria.
Sandboxes are private workspaces in which a user can enter and store data values separate from TM1
base data. Sandboxes are stored on disk and, when in use, in memory.
This function operates server side and is available through TurboIntegrator and the API function
ServerSandboxesDelete. Using this feature in a TurboIntegrator process, administrators can schedule
maintenance using automated chores.
This function is valid in TM1 TurboIntegrator processes only.
Description
This function uses a "predicate" to describe the sandbox being deleted. A predicate can be read as:
"Delete sandboxes whose attribute is condition value."
For example: "Delete sandboxes whose size is greater than 10 MB." In this example, the attribute is the
"size" of the sandbox, the condition is "greater than", and the value is "10 MB".
There are two optional delimiter character parameters to the TurboIntegrator function. Because a
sandbox has no restrictions on which characters can be used in their name, administrators can supply
their own "safe" delimiter when needed.
For example, ServerSandboxesDelete( 'client:=:Admin, name:=:best case
scenario' );"
In the following example, the colon character is used in the sandbox name ("best::case::scenario") so
another delimiter is needed:
Note: The exact syntax of a predicate differs between the TurbIntegrator and API forms of this function.
Argument Description
Predicates The name of the process to be executed. This process must reside on
the same server as the process from which RunProcess is called.
Required
String
No default
An arbitrary length list of predicates. Each predicate is a string
containing three tokens. The first token indicates an attribute of a
sandbox. The second indicates a condition, for example ">" or "=". The
third token is a possible value of the attribute on which sandboxes
should be conditionally filtered. The entire string may not exceed
10,000 characters in length.
PredicateDelimiter Optional
String
default is : (colon)
Optional delimiter character.
The string may not exceed 1 character in length.
PredicateListDelimiter Optional
String
default is , (comma)
Optional delimiter character.
The string may not exceed 1 character in length.
Filter Attributes
Filter attributes are properties of a sandbox on which it can be conditionally matched. Attribute names
and their corresponding valid conditions are case insensitive and ignore embedded whitespace. For
example, the following two calls are both valid:
ServerSandboxesDelete( 'client:=:Admin' );
ServerSandboxesDelete( 'C L I E N T : = :Admin' );
Semantics
Predicate List
Multiple predicates passed in a single call to ServerSandboxesDelete are conjunctive. In other
words, for a sandbox to match the passed criteria, all predicates must be true. Multiple calls to
ServerSandboxesDelete can be used to achieve disjunctive behavior. Only one occurrence of each
attribute is allowed per call to ServerSandboxesDelete. For example, passing client twice is invalid
as a sandbox has only one owning client. When multiple occurrences of an attribute are detected, a
warning displays in the detailed report, however, the operation will not abort in failure. In such a case,
the predicates are tested as with any other query, but the results set is always empty.
Locking
To avoid massive locking issues, ServerSandboxesDelete looks at the sandboxes of a client as a
point-in-time snapshot and then, when possible, release any locks that would ensure a serializable
transaction. Because of this behavior, once a client is "passed" in the iteration of all clients, a sandbox
matching the filter criteria may be added to that client before the maintenance transaction completes.
This behavior is similar to the behavior that occurs when a sandbox is added to the client immediately
after the transaction completes.
Scope
Members of the ADMIN (super-user) and the DataAdmin groups will have access to all sandboxes
of all clients. They must explicitly specify the client attribute to limit the scope of their call to
ServerSandboxesDelete to only their own sandboxes. All other users have access to only their own
sandboxes; if they specify a different client, or a group to which they do not belong, the function will
abort in failure and return a privilege error.
A user is working with sandbox over the course of two days (perhaps for a much shorter period
encompassing the day change.) At time 4, when the sandbox is unloaded, Last Update Date is set to
2, rather than 1 where the last update actually occurred. Last Access Date is also set to 2 at time 4 in
this case. If Write1 were instead a read, only Last Access Date would be set to 2, while Last Update
Date wouldn't be changed.
Example
ServerSandboxDiscardAllChanges
ServerSandboxDiscardAllChanges discards all changes in an existing sandbox.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerSandboxDiscardAllChanges( sandboxName );
Argument Description
Example
ServerSandboxDiscardAllChanges( 'MySandbox' );
Syntax
ServerSandboxMerge( src, tgt, conflictRes, waitForLocks);
Argument Description
src The name of the source sandbox owned by the executing user to be
merged with the <tgt> sandbox.
The <src> sandbox is not changed.
Required
String
tgt The name of a sandbox owned by the executing user to be merged with
the <src> sandbox.
The <tgt> sandbox is updated.
If <tgt> is blank, you are merging <src> with base data and updating
base.
Required. To leave this parameter blank, use 2 concatenated single
quotes: ''.
String
Example
Merge mySandbox to base.
ServerSandboxMerge(mySandbox, '');
Syntax
ServerSandboxExists( sandboxname )
or
Arguments
The name of the sandbox whose existence is being tested. ServerSandboxExists takes an optional
string parameter, the owning client's name. The calling client can use the optional parameter to specify
a client other than themselves if the calling client has the appropriate privileges. A privilege error will
result if the specified client is not the executing client and the executing client is not a member of the
DataAdmin or ADMIN groups. If the optional parameter is not used, the active client's sandboxes are the
subject.
Example
The following snippet shows how the ServerSandboxExists, ServerSandboxGet, and
ServerSandboxListCountGet functions can be used to iterate the sandboxes of user called User1
and output those sandboxes to a text file. The TurboIntegrator process would successfully execute for
members of the Admin or Data Admin groups and for user called User1. The TurboIntegrator process
would fail with a privilege error for any other users.
SandboxIndex = 1;
NumSandboxes = ServerSandboxListCountGet( 'User1' );
ENDIF;
SandboxIndex = SandboxIndex + 1;
END;
ServerSandboxGet
ServerSandboxGet returns the name of the sandbox identified by the number N, where N is the parameter
entered.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerSandboxGet( index )
or
Example
The following snippet shows how the ServerSandboxExists, ServerSandboxGet, and
ServerSandboxListCountGet functions can be used to iterate the sandboxes of user called User1
and output those sandboxes to a text file. The TurboIntegrator process would successfully execute for
members of the Admin or Data Admin groups and for user called User1. The TurboIntegrator process
would fail with a privilege error for any other users.
SandboxIndex = 1;
NumSandboxes = ServerSandboxListCountGet( 'User1' );
ENDIF;
SandboxIndex = SandboxIndex + 1;
END;
ServerSandboxListCountGet
ServerSandboxListCountGet returns the count of sandboxes as a number.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerSandboxListCountGet()
or
ServerSandboxListCountGet( username )
Arguments
ServerSandboxListCountGet takes an optional string parameter, the owning client's name. The
calling client can use the optional parameter to specify a client other than themselves if the calling client
has the appropriate privileges. A privilege error will result if the specified client is not the executing client
and the executing client is not a member of the DataAdmin or ADMIN groups. If the optional parameter is
not used, the active client's sandboxes are the subject.
Example
The following snippet shows how the ServerSandboxExists, ServerSandboxGet, and
ServerSandboxListCountGet functions can be used to iterate the sandboxes of user called User1
SandboxIndex = 1;
NumSandboxes = ServerSandboxListCountGet( 'User1' );
ENDIF;
SandboxIndex = SandboxIndex + 1;
END;
SetUseActiveSandboxProperty
SetUseActiveSandboxProperty controls whether a process reads and writes cube data to the base data or
to the user's active sandbox. The default is for processes to read and write to the base data.
The scope of this function applies only to the current running process and temporarily overrides the
permanent value for this property that is set in the Architect / Server Explorer user interface.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SetUseActiveSandboxProperty(PropertyValue)
Argument Description
Example
SetUseActiveSandboxProperty(1);
This example will cause the process to read/write cube data to the active sandbox for the rest of this
execution.
Syntax
AddClient(ClientName);
Argument Description
Example
AddClient('Brian');
AddGroup
AddGroup creates a new user group on the server. Changes applied through the AddGroup function do not
take effect until the Metadata procedure in a process is completed. This function, like all functions that
update metadata, should not be used in the Data or Epilog tabs of a process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AddGroup(GroupName);
Argument Description
Example
AddGroup('Finance');
AssignClientToGroup
AssignClientToGroup assigns an existing client on a server to an existing user group. This function assigns
an existing client on a server to an existing user group.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
AssignClientToGroup(ClientName, GroupName);
Example
AssignClientToGroup('Brian', 'Finance');
This example assigns the existing client Brian to the existing user group Finance.
AssignClientPassword
AssignClientPassword assigns a password to an existing client on a server. AssignClientPassword returns
1 if the password assignment is successful and returns 0 if the assignment fails.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
AssignClientPassword (ClientName, Password);
Argument Description
ClientName The name of the client for which you want to assign
a password.
Example
This example assigns the password 'flyfisher' to the client named Brian.
AssociateCAMIDToGroup
AssociateCAMIDToGroup creates an association between a TM1 user group and a CAMID.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
AssociateCAMIDToGroup(GroupName, CAMID, CAMIDDisplayValue);
CellSecurityCubeCreate
CellSecurityCubeCreate creates a security cube from an existing cube using a reduced set of dimensions.
This function, like all functions that update metadata, should not be used in the Data or Epilog tabs of a
process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellSecurityCubeCreate (‘DataCube’, ‘0:0:1:0’);
Argument Description
Example
This example creates an RDCLS cube from the cube called Data Cube.
CellSecurityCubeDestroy
CellSecurityCubeDestroy destroys a security cube that was created from an existing cube. This function,
like all functions that update metadata, should not be used in the Data or Epilog tabs of a process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
CellSecurityCubeDestroy (‘DataCube’, ‘0:0:1:0’);
Example
CellSecurityCubeDestroy (‘DataCube’);
DeleteClient
DeleteClient deletes a client from the server. Changes applied through the DeleteClient function do not
take effect until the Metadata procedure in a process is completed. This function, like all functions that
update metadata, should not be used in the Data or Epilog tabs of a process
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DeleteClient(ClientName);
Argument Description
ClientName The name of the client you want to delete from the
server.
Example
DeleteClient('Brian');
DeleteGroup
DeleteGroup deletes a user group from the server. Changes applied through the DeleteGroup function do
not take effect until the Metadata procedure in a process is completed. This function, like all functions
that update metadata, should not be used in the Data or Epilog tabs of a process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
DeleteGroup(GroupName);
Argument Description
DeleteGroup('Finance');
This example deletes the Finance user group from the server.
ElementSecurityGet
ElementSecurityGet retrieves the security level assigned to a specified group for a dimension element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementSecurityGet(DimName, ElName, Group);
Argument Description
Example
This example returns the security level assigned to the Budgeting user group for the Germany element of
the Region dimension.
ElementSecurityPut
ElementSecurityPut assigns a security level to a specified group for a dimension element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ElementSecurityPut(Level, DimName, ElName, Group);
Argument Description
Level The security level you are assigning. There are six
possible Level values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
This example assigns Reserve security to the Budgeting group for the Germany element of the Region
dimension.
HierarchyElementSecurityGet
HierarchyElementSecurityGet retrieves the security level assigned to a specified group for a dimension
element.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchyElementSecurityGet(DimName, HierName, ElName, Group);
Argument Description
Example
This example returns the security level assigned to the Budgeting user group for the Germany element.
The element appears in the Europe hierarchy of the Region dimension.
HierarchyElementSecurityPut
HierarchyElementSecurityPut assigns a security level to a specified group for a dimension element.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Level The security level you are assigning. There are six
possible Level values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
This example assigns Reserve security to the Budgeting group for the Germany element. The element
appears in the Europe hierarchy of the Region dimension.
RemoveCAMIDAssociation
RemoveCAMIDAssociation removes all associations between TM1 user groups and a specified CAMID.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
RemoveCAMIDAssociation(CAMID, RemoveCAMID);
Argument Description
CAMID The name of the CAMID group for which you want
to remove all security associations.
RemoveCAMIDAssociationFromGroup
RemoveCAMIDAssociationFromGroup removes an association between a TM1 user group and a CAMID.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
RemoveCAMIDAssociationFromGroup(GroupName, CAMID);
Argument Description
GroupName The name of the TM1 user group for which you
want to remove the association.
CAMID The name of the CAMID group for which you want
to remove the association.
RemoveClientFromGroup
RemoveClientFromGroup removes a specified client from a user group.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
RemoveClientFromGroup(ClientName, GroupName);
Argument Description
GroupName The user group from which you want to remove the
client.
Example
RemoveClientFromGroup('Brian', 'Finance');
This example removes the client Brian from the Finance user group.
Syntax
SetHierarchyGroupsSecurity(securityLevel, dimension, hierarchy)
Argument Description
securityLevel The security level that you are assigning. There are
six possible values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
This example assigns Reserve security to all existing groups in the Europe hierarchy of the Region
dimension.
SetHierarchyElementGroupsSecurity
SetHierarchyElementGroupsSecurity sets the security level for a specified element from a hierarchy in a
dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SetHierarchyElementGroupsSecurity(securityLevel, dimension, hierarchy, element)
securityLevel The security level you are assigning. There are six
possible values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
This example assigns Reserve security to the Germany element of the Europe hierarchy in the Region
dimension.
SetDimensionGroupsSecurity
SetDimensionGroupsSecurity sets the security level for all existing groups for the specified dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SetDimensionGroupsSecurity(securityLevel, dimension)
Argument Description
securityLevel The security level you are assigning. There are six
possible values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
SetDimensionGroupsSecurity('Reserve', 'Region');
SetElementGroupsSecurity
SetElementGroupsSecurity sets the security level for a specified element in a dimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SetElementGroupsSecurity(securityLevel, dimension, element)
Argument Description
securityLevel The security level you are assigning. There are six
possible values:
• None
• Read
• Write
• Reserve
• Lock
• Admin
Example
This example assigns Reserve security to the Germany element of the Region dimension.
SecurityOverlayGlobalLockCell
SecurityOverlayGlobalLockCell is used to restrict the access rights of a node to read-only by locking it.
It uses the global overlay so all users are affected. The overlay cube must be created prior to using this
command. The elements provided in the address must be only for the dimensions used in the overlay.
The process must be configured to modify security data to successfully execute
SecurityOverlayGlobalLockCell.
The function returns True if successful and a major error if unsuccessful.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SecurityOverlayGlobalLockCell(bLock, Cube, element1,..., elementN)
Argument Description
Example
SecurityOverlayGlobalLockCell(1,’Sales’,’MA’);
SecurityOverlayGlobalLockCell(0,’Products’,’MA','2011’);
In the first example, there is only one dimension used for the overlay. The second example uses two
dimensions.
SecurityOverlayCreateGlobalDefault
SecurityOverlayCreateGlobalDefault is used to create or destroy a Security Overlay cube, and to set the
overlay for a given area of a data cube.
Creating a data cube with a name that signifies an overlay cube will cause the data cube to be made
into an overlay if the server is restarted. When the cube is loaded it will be configured as an overlay if a
matching data cube is found.
Global overlays apply to all users.
The process must be configured to modify security data to successfully execute
SecurityOverlayCreateGlobalDefault.
The function returns True if successful and a major error if unsuccessful.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SecurityOverlayCreateGlobalDefault (Cube, DimensionMap)
Argument Description
Example
SecurityOverlayCreateGlobalDefault(‘DataCube’,
‘0:0:1:0’);
Syntax
SecurityOverlayDestroyGlobalDefault (Cube)
Argument Description
Example
SecurityOverlayDestroyGlobalDefault(‘DataCube’);
SecurityOverlayGlobalLockNode
SecurityOverlayGlobalLockNode is used to restrict the access rights of a node to read-only by locking it.
It uses the global overlay so all users are affected. The overlay cube must be created prior to using this
command. The elements provided in the address must be only for the dimensions used in the overlay.
The process must be configured to modify security data to successfully execute
SecurityOverlayGlobalLockNode.
The function returns True if successful and a major error if unsuccessful.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SecurityOverlayGlobalLockNode(bLock, Cube, Address, [AddressDelimiter])
Argument Description
SecurityOverlayGlobalLockNode(1,’Sales’,’MA’);
SecurityOverlayGlobalLockNode(0,’Products’,’MA | 2011’);
SecurityOverlayGlobalLockNode(0,’Products’, ‘MA : 2011’, ‘:’);
In the first example there is only one dimension used for the overlay. The other two examples use two
dimensions.
SecurityRefresh
SecurityRefresh reads all the security control cubes and regenerates the internal structures in the server
that are used by TM1 API functions.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SecurityRefresh;
Arguments
None.
BatchUpdateFinish
BatchUpdateFinish instructs the server to exit batch update mode.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Semantics
When multiple processes are running in batch update mode and applying changes to a single cube, the
TM1 locking scheme may prevent one of the processes from updating the cube. This is by design; when
one process obtains a lock to write changes to a cube, other processes will be prevented from writing to
that cube in the interest of maintaining data integrity.
This locking scheme can be illustrated using an example of two processes, Process 1 and Process 2, that
update a single cube.
• Both processes start and call the BatchUpdateStart function to initiate batch updates.
• Each process operates on a unique data source.
• Process 1 completes processing data and calls the BatchUpdateFinish function. The process obtains a
write lock to the cube and commits changes.
• While Process 1 still holds a write lock to the cube, Process 2 completes processing data and calls the
BatchUpdateFinish function. However, because Process 1 retains the lock, Process 2 cannot obtain a
lock to the cube. All data changes applied in Process 2 are rolled back and Process 2 is restarted. This
ensures data integrity.
Syntax
BatchUpdateFinish(SaveChanges);
Argument Description
Example
BatchUpdateFinish(0);
This example instructs the server to save changes to TM1 data and exit batch update mode.
BatchUpdateFinishWait
BatchUpdateFinishWait is identical to BatchUpdateFinish except the process waits until the lock becomes
available and then commits changes. If a process calls BatchUpdateFinishWait but is unable to secure a
cube write lock to commit changes, the process waits until the lock becomes available and then commits
changes.
This function is valid in processes only.
Data changes applied in the process are not rolled back and the process is not re-executed.
Syntax
BatchUpdateFinishWait(SaveChanges);
Argument Description
Example
BatchUpdateFinishWait(0);
This example instructs the server to save changes to TM1 data and exit batch update mode.
BatchUpdateStart
BatchUpdateStart enables batch updates.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
BatchUpdateStart;
Arguments
None.
DisableBulkLoadMode
DisableBulkLoadMode disables bulk load processing.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
See “EnableBulkLoadMode” on page 365 for details.
Syntax
You can enable Bulk Load Mode in either the Prolog or Epilog section of a TurboIntegrator process. For
efficiency, enable Bulk Load Mode in the first, or very close to the first, statement in the Prolog section of
your process.
After enabling Bulk Load Mode in a process, it can only be disabled on the last line in the Epilog section. If
you attempt to disable Bulk Load Mode anywhere else in the process, the process will not compile.
If the mode is enabled in one TurboIntegrator process, it remains enabled until explicitly disabled or until
the chore completes. This means you can enable the mode in a process within a chore and then run
a series of TurboIntegrator processes before disabling it. You can also enter and exit Bulk Load Mode
repeatedly, using the mode only for certain critical parts of a chore.
Use the following TurboIntegrator commands to enable and disable Bulk Load Mode in a TurboIntegrator
process.
EnableBulkLoadMode();
Use the following TurboIntegrator function only on the last line in the Epilog section of your TI process
when using Bulk Load Mode.
DisableBulkLoadMode();
RefreshMdxHierarchy
RefreshMdxHierarchy updates the MDX hierarchies in a server without requiring you to restart the server.
Use this function after configuring or editing the custom named hierarchy levels for a dimension in
the }HierarchyProperties control cube.
For details on using named levels with dimensions, see the related section in the TM1 for Developers
documentation.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
RefreshMdxHierarchy(dimensionName, hierarchy)
Argument Description
RefreshMdxHierarchy('');
RefreshMdxHierarchy('customers');
SaveDataAll
SaveDataAll saves all TM1 data from server memory to disk and restarts the log file.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
SaveDataAll;
Arguments
None.
ServerShutdown
ServerShutdown shuts down a server running as an application. ServerShutdown cannot be used to shut
down a server running as a Windows service.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ServerShutDown(SaveData);
Argument Description
Example
ServerShutdown(1);
This example shuts down the server and saves data to disk.
Syntax
HierarchySubsetAliasGet(DimName, HierName, SubName);
Argument Description
Example
This example retrieves the alias for the Northern Europe subset of the European hierarchy in the Region
dimension.
HierarchySubsetAliasSet
HierarchySubsetAliasSet sets the alias attribute to be used in an hierarchy subset.
HierarchySubsetAliasSet returns 1 if successful, 0 otherwise.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetAliasSet(DimName, HierName, SubName, AliasName);
Argument Description
HierarchySubsetCreate
HierarchySubsetCreate creates an empty public subset of a specified hierarchy and dimension.
When the optional AsTemporary argument is set to 1, the subset is temporary and persists only for the
duration of the TurboIntegrator process or chore in which the subset is created.
Note:
Syntax
HierarchySubsetCreate(DimName, HierName, SubName, [AsTemporary]);
Argument Description
Example
This example creates the temporary Northern Europe subset of the European hierarchy in the Region
dimension. You can use SubsetElementInsert to add elements to the subset.
HierarchySubsetDeleteAllElements
HierarchySubsetDeleteAllElements deletes all elements from a public subset of a dimension hierarchy.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetDeleteAllElements(DimName, HierName, SubsetName);
Example
This example deletes all elements from the Central Europe subset of the European hierarchy in the Region
dimension.
HierarchySubsetDestroy
HierarchySubsetDestroy deletes a subset from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetDestroy(DimName, HierName, SubName);
Argument Description
Example
This example deletes the Northern Europe subset of the European hierarchy in the Region dimension.
HierarchySubsetElementExists
HierarchySubsetElementExists determines whether a specific element exists within a specific public
subset on the server from which a TurboIntegrator process is executed. HierarchySubsetElementExists
cannot be used to determine if an element exists in a private subset.
If the element exists in the specified subset, the function returns 1, otherwise it returns 0.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetElementExists(DimName, HierName, SubsetName, ElementName);
Example
This example determines if the Italy element exists in the Europe subset of the Eastern hierarchy from the
Region dimension.
HierarchySubsetElementDelete
HierarchySubsetElementDelete deletes an element from a subset of a dimension hierarchy.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetElementDelete(DimName, HierName, SubName, Index);
Argument Description
Example
This example deletes the third element from the Northern Europe subset of the European hierarchy in the
Region dimension.
HierarchySubsetElementGetIndex
HierarchySubsetElementGetIndex retrieves the index of an element in a subset of a dimension hierarchy.
The function returns the index of the first occurrence of the specified element. If the element does not
exist in the subset or cannot be found, then zero is returned. If the dimension or subset cannot be found
or an out-of-range start index is specified, then an error is thrown and the TurboIntegrator function is
stopped.
Syntax
HierarchySubsetElementGetIndex(DimName, HierName, SubsetName, ElementName, StartIndex);
Argument Description
Example
This example retrieves the index for Italy from the Europe subset of the Country hierarchy in the Region
dimension. The search starts at index 3.
HierarchySubsetElementInsert
HierarchySubsetElementInsert adds an element to an existing subset in a dimension hierarchy.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetElementInsert(DimName, HierName, SubName, ElName, Position);
Argument Description
Example
HierarchySubsetExists
HierarchySubsetExists determines if a specific public subset exists on the server from which a
TurboIntegrator process is executed. The function returns 1 if the subset exists on the server, otherwise it
returns 0. Note that this function cannot be used to determine the existence of private subsets.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetExists(DimName, HierName, SubsetName);
Argument Description
Example
This example determines if the Northern Europe subset exists within the Industrialized hierarchy of the
Region dimension.
HierarchySubsetGetSize
HierarchySubsetGetSize returns the number of elements in a subset of a dimension hierarchy.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetGetSize(DimName, HierName, SubsetName);
Argument Description
Example
This function returns the number of elements in the EurAsia subset of the Eastern hierarchy in the Region
dimension.
Syntax
HierarchySubsetGetElementName(DimName, HierName, SubsetName, ElementIndex);
Argument Description
Example
This example returns the name of the fourth element in the Americas subset of the Western hierarchy in
Region dimension.
HierarchySubsetIsAllSet
HierarchySubsetIsAllSet sets a subset to use all elements of the parent dimension.
HierarchySubsetIsAllSet returns 1 if successful, 0 otherwise.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetIsAllSet(DimName, HierName, SubName, Flag);
Argument Description
HierarchySubsetMDXGet
HierarchySubsetMDXGet retrieves the MDX expression used to create a subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetMDXGet(DimName, HierName, SubName);
Argument Description
DimName The parent dimension of the subset.
HierName The name of the hierarchy within the dimension.
SubName The subset for which you want to retrieve the MDX
expression.
Example
HierarchySubsetMDXSet
HierarchySubsetMDXSet applies a specified MDX expression to an existing public subset of a hierarchy.
If the passed MDX expression is valid, the specified subset is saved as a dynamic subset defined by the
MDX expression.
If the passed MDX expression is an empty string, the subset is converted to a static subset that contains
the elements that are in place when HierarchySubsetMDXSet is executed.
The function returns the number of elements that the subset contains.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
HierarchySubsetMDXSet(DimName, HierName, SubName, MDX_expression);
Argument Description
DimName The parent dimension of the subset.
HierName The name of the hierarchy within the dimension.
Example
This example updates the Sub1 subset of the World hierarchy to a dynamic subset that contains the
current leaf elements of the Cities dimension. When leaf elements are added or removed from the
Cities dimension, the mySub1 subset is dynamically updated to reflect the changes in the parent
dimension.
PublishSubset
PublishSubset publishes a named private subset on the server. This function was introduced in Planning
Analytics [Link]/TM1 Server 11.8.9 and cannot be used in previous versions.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
PublishSubset(DimName, SubName, OverwriteExistingSubset);
Argument Description
Example
SubsetAliasGet
SubsetAliasGet returns the alias attribute for a subset. This function was introduced in Planning Analytics
[Link]/TM1 Server 11.8.9 and cannot be used in previous versions.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetAliasGet( DimName, SubName);
Argument Description
Example
This example retrieves the alias for the Central Europe subset of the Region dimension.
SubsetAliasSet
SubsetAliasSet sets the alias attribute to be used in a subset. SubsetAliasSet returns 1 if successful, 0
otherwise.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetAliasSet( DimName, SubName, AliasName );
Argument Description
SubsetCreate
SubsetCreate creates an empty public subset of a specified dimension.
When the AsTemporary argument is set to 1, the subset is temporary and persists only for the duration
of the TurboIntegrator process or a single-commit chore in which the subset is created. If a parent
TurboIntegrator process invokes child TurboIntegrator processes by using the ExecuteProcess or
ExecuteProcessWithReturn function, and the temporary subset is created in one of these child
TurboIntegrator processes, the subset persists for the duration of the parent TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetCreate(DimName, SubName, [AsTemporary]);
Argument Description
Example
This example creates the temporary Northern Europe subset of the Region dimension. You can use
SubsetElementInsert to add elements to the subset.
Syntax
SubsetCreateByMDX(SubName, MDX_expression, DimName, 1)
Argument Description
Example
This example creates a temporary subset based on an MDX expression that returns a subset that consists
of all the dimensions whose names start with "plan_".
This example returns an empty set as the MDX tries to create a subset that consists of Engine size of 2.0
models. Since only models with an Engine size of 1.6 or 1.8 exist, an empty set returns.
ExecuteProcess('Process-B');
DatasourceDimensionSubset = 'My2003Months';
Process-B/prolog:
SubsetDeleteAllElements
SubsetDeleteAllElements deletes all elements from a public subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetDeleteAllElements(DimName, SubsetName);
Argument Description
This example deletes all elements from the Central Europe subset of the Region dimension.
SubsetDestroy
SubsetDestroy deletes a subset from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetDestroy(DimName, SubName);
Argument Description
Example
This example deletes the Northern Europe subset of the Region dimension.
SubsetElementDelete
SubsetElementDelete deletes an element from a subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetElementDelete(DimName, SubName, Index);
Argument Description
Example
This example deletes the third element from the Northern Europe subset of the Region dimension.
Syntax
SubsetElementExists(DimName, SubsetName, ElementName);
Argument Description
Example
This example determines if the Italy element exists in the Europe subset of the Region dimension.
SubsetElementGetIndex
SubsetElementGetIndex retrieves the index of an element in a subset. The function returns the index of
the first occurrence of the specified element.
If the element does not exist in the subset or cannot be found, then zero is returned. If the dimension
or subset cannot be found or an out-of-range start index is specified, then an error is thrown and the
TurboIntegrator function is stopped.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetElementGetIndex(DimName, SubsetName, ElementName, StartIndex);
Argument Description
This example retrieves the index for Italy from the Europe subset of the Region dimension. The search
starts at index 3.
SubsetElementInsert
SubsetElementInsert adds an element to an existing subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetElementInsert(DimName, SubName, ElName, Position);
Argument Description
Example
This example adds the element Finland to the Northern Europe subset of the Region dimension. Finland is
the third element in the subset definition.
SubsetExists
SubsetExists determines whether a specific public subset exists on the server from which a
TurboIntegrator process is executed.
The function returns 1 if the subset exists on the server, otherwise it returns 0. Note that this function
cannot be used to determine the existence of private subsets.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetExists(DimName, SubsetName);
Argument Description
This example determines if Northern Europe subset of the Region dimension exists on the server.
SubsetExpandAboveSet
SubsetExpandAboveSet sets the Expand Above property for a subset. The function returns 1 if successful,
otherwise it returns 0.
When this property is set to TRUE, children of a consolidation are displayed above the consolidation when
the consolidation displays on a row, and to the left of the consolidation when the consolidation displays
on a column.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetExpandAboveSet( DimName, SubsetName, ExpandAboveFlag);
Argument Description
Example
SubsetExpandAboveSet('Region', 'Europe', 1 );
This example sets the Expand Above property to TRUE for the Europe subset of the Region dimension.
SubsetFormatStyleSet
SubsetFormatStyleSet applies an existing display style to a named subset.
Display styles are defined for specific elements. If you apply an existing display style to a subset that
includes elements that are not included in the display style, no formatting is applied to those elements.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetFormatStyleSet( DimName, SubsetName, FormatName);
Example
This example applies the BoldCurrencyLeftJustified display style to the Northern Europe subset of the
Region dimension.
SubsetGetElementName
SubsetGetElementName returns the name of the element at a specified index location within a given
subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetGetElementName(DimName, SubsetName, ElementIndex);
Argument Description
Example
This example returns the name of the fourth element in the Americas subset of the Region dimension.
SubsetGetSize
SubsetGetSize returns the number of elements in a subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetGetSize(DimName, SubsetName);
Example
SubsetGetSize('Region', 'EurAsia');
This function returns the number of elements in the EurAsia subset of the Region dimension.
SubsetIsAllSet
SubsetIsAllSet sets a subset to use all elements of the parent dimension. SubsetIsAllSet returns 1 if
successful, 0 otherwise.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetIsAllSet(DimName, SubName, Flag);
Argument Description
SubsetMDXGet
SubsetMDXGet retrieves the MDX expression used to create a subset.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetMDXGet(DimName, SubName);
Argument Description
DimName The parent dimension of the subset.
SubName The subset for which you want to retrieve the MDX expression.
SubsetMDXSet
SubsetMDXSet applies a specified MDX expression to a public or temporary subset.
If the passed MDX expression is valid, the specified subset is saved as a dynamic subset defined by the
MDX expression.
If the passed MDX expression is an empty string, the subset is converted to a static subset that contains
the elements that are in place when SubsetMDXSet is executed.
The function returns the number of elements that the subset contains.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
SubsetMDXSet(DimName, SubName, MDX_expression);
Argument Description
DimName The parent dimension of the subset.
SubName The subset to which you want to apply the
MDX expression. SubName must be a public or
temporary subset. If this subset does not exist, an
error is logged.
MDX_expression The MDX expression that you want to apply to
the subset. If the MDX expression is invalid,
TurboIntegrator processing stops, the subset is not
modified, and an error is logged.
If the MDX_expression argument is an empty
string, the subset is converted to a static subset.
Examples
This example updates the mySub1 subset to a dynamic subset that contains the current leaf elements of
the YZProducts dimension. When leaf elements are added or removed from the YZProduct dimension,
the mySub1 subset is dynamically updated to reflect the changes in the parent dimension.
One possible use of the SubsetMDXSet function is to apply an MDX expression to update an existing
subset, and then immediately convert the subset to static.
This two-call sequence updates the mySub1 subset to a static subset that contains the current top-level
elements of the YZProducts dimension.
The first call of SubsetMDXSet applies the { [YZProducts].[YZProducts].
[level000].members } MDX expression to the mysub1 subset, resulting in a dynamic subset that
includes all top-level (level 0) elements of the YZProducts dimension.
The second call of SubsetMDXSet passes an empty string as the MDX_expression argument, so the
mysub1 subset is converted to a static subset.
PublishView
PublishView publishes a named private view on the server.
This function is valid in TurboIntegrator processes only.
Syntax
PublishView(Cube, View, PublishPrivateSubsets, OverwriteExistingView);
Argument Description
DisableMTQViewConstruct
DisableMTQViewConstruct disables multi-threaded query processing when calculating a view to be used
as a TurboIntegrator datasource for a single TurboIntegrator process. When MTQQuery=T in the [Link]
file, DisableMTQViewConstruct can be called to override this value on a TurboIntegrator process.
This function must appear in the Prolog, it has no effect in any other procedure within a process.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
Note: If the value of the MTQ parameter is 1 (or OFF), this functionality is turned off entirely and cannot be
overridden.
The value of MTQQuery can be overridden on a single TurboIntegrator process by calling the
DisableMTQViewConstruct function.
If MTQQuery=T (the default), DisableMTQViewConstruct can be called to disable the functionality for
individual TurboIntegrator processes.
After enabling EnableMTQViewConstruct in a process, it can only be disabled on the last line in the Epilog
section. If you attempt to use DisableMTQViewConstruct anywhere else in the process, the process will
not compile.
If the mode is enabled in one TurboIntegrator process, it remains enabled until explicitly disabled or
until the chore completes. This means you can enable the mode in a process and then run a series of
TurboIntegrator processes before disabling it.
Example
Use the following TurboIntegrator commands to disable multi-threaded query processing when
calculating a view to be used as a TurboIntegrator datasource for a single TurboIntegrator process.
DisableMTQViewConstruct()
EnableMTQViewConstruct
EnableMTQViewConstruct enables multi-threaded query processing when calculating a view to be used
as a TurboIntegrator datasource for a single TurboIntegrator process. When MTQQuery=F in the [Link]
file, EnableMTQViewConstruct can be called to override this value on a TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Example
Use the following TurboIntegrator commands to enable multi-threaded query processing when
calculating a view to be used as a TurboIntegrator datasource for a single TurboIntegrator process.
EnableMTQViewConstruct()
ViewColumnDimensionSet
ViewColumnDimensionSet sets a column dimension for a TM1 view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewColumnDimensionSet(CubeName, ViewName, DimName, StackPosition);
Argument Description
CubeName The parent cube of the view for which you are
setting the column dimension.
ViewName The view for which you are setting the column
dimension.
This example sets Month as a column dimension for the 1Quarter view of the 98sales cube. In the event
of stacked column dimensions, Month is placed in the top-most position.
ViewColumnSuppressZeroesSet
ViewColumnSuppressZeroesSet suppresses or enables the display of columns containing only zero values
in a TM1 cube view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewColumnSuppressZeroesSet(Cube, ViewName, Flag);
Argument Description
Cube The parent cube of the view for which you want to
suppress or enable the display of zero values.
Example
This example suppresses the display of any columns containing only zeroes in the 1st Quarter Actuals
view of the 99sales cube.
ViewConstruct
ViewConstruct constructs, pre-calculates, and stores a Stargate view in memory on a server. This function
is useful for pre-calculating and storing large views so they can be quickly accessed after a data load or
update.
This function is valid in processes only.
Syntax
ViewConstruct(CubeName, ViewName);
Argument Description
Example
This example creates the view 1st Quarter Actuals of the 99sales cube.
ViewCreate
ViewCreate creates an empty view of a specified cube.
When the optional AsTemporary argument is set to 1, the view is temporary and persists only for the
duration of the TurboIntegrator process or chore in which the view is created.
Note:
For TM1 Server version 11.2.0 and earlier, temporary views were visible and usable only by the process
that created it and any of its child processes. Temporary views were not visible to the ancestor and sibling
processes. You could create same-named views in sibling child processes with the same parent process.
For TM1 Server version 11.3.0 and later, these temporary views are visible to the ancestor and sibling
processes. If a parent TurboIntegrator process A invokes two child TurboIntegrator processes A1 and A2,
and the child TurboIntegrator process A1 creates a temporary view S, the temporary view S exists for
the duration of the parent TurboIntegrator process A. You cannot create a temporary view with the same
name S in the sibling TurboIntegrator process A2 since the view is visible and usable by siblings A1 and
A2.
While a temporary view exists, the temporary view takes precedence over any same-named public view.
If another TurboIntegrator function references a view that exists in both a temporary and permanent
state, the function operates upon the temporary view.
Temporary objects have transaction scope. When a transaction is committed, all temporary objects are
cleaned up. If a chore is run in single-commit mode where all processes in the chore are logically run
within the context of one transaction, then temporary objects that are created in a process still exist,
visible, and available for use, in subsequent processes run by the chore. However, in multi-commit mode,
these processes are cleaned up at commit time of the transaction that wrapped the execution of the
process that created the temporary object.
There is no locking associated with a temporary view, as a temporary view is never saved. This can result
in improved performance, because there is no need for TurboIntegrator to wait for locks to be released
before operating upon a temporary view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewCreate(Cube, ViewName, <AsTemporary>);
Argument Description
Example
This example creates a temporary view named 1st Quarter Actuals from the Sales cube.
ViewCreateByMDX
ViewCreateByMDX creates a view with a specified MDX expression.
When the optional AsTemporary argument is set to 1, the view is temporary and persists only for the
duration of the TurboIntegrator process or chore in which the view is created.
Note:
For TM1 Server version 11.2.0 and earlier, temporary views were visible and usable only by the process
that created it and any of its child processes. Temporary views were not visible to the ancestor and sibling
processes. You could create same-named views in sibling child processes with the same parent process.
For TM1 Server version 11.3.0 and later, these temporary views are visible to the ancestor and sibling
processes. If a parent TurboIntegrator process A invokes two child TurboIntegrator processes A1 and A2,
and the child TurboIntegrator process A1 creates a temporary view S, the temporary view S exists for
the duration of the parent TurboIntegrator process A. You cannot create a temporary view with the same
name S in the sibling TurboIntegrator process A2 since the view is visible and usable by siblings A1 and
A2.
While a temporary view exists, the temporary view takes precedence over any same-named public view.
If another TurboIntegrator function references a view that exists in both a temporary and permanent
state, the function operates upon the temporary view.
Temporary objects have transaction scope. When a transaction is committed, all temporary objects are
cleaned up. If a chore is run in single-commit mode where all processes in the chore are logically run
within the context of one transaction, then temporary objects that are created in a process still exist,
visible, and available for use, in subsequent processes run by the chore. However, in multi-commit mode,
these processes are cleaned up at commit time of the transaction that wrapped the execution of the
process that created the temporary object.
There is no locking associated with a temporary view, as a temporary view is never saved. This can result
in improved performance because there is no need for TurboIntegrator to wait for locks to be released
before operating upon a temporary view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewCreateByMDX(Cube, ViewName, MDX_expression , <AsTemporary>);
Argument Description
Example
This example, based on the Planning Sample database, creates a temporary view named Account in the
plan_BudgetPlan cube.
ViewCreateByMDX('plan_BudgetPlan', 'Account',
'select {[plan_version].[FY 2003 Budget]} on 0,
{[plan_business_unit].[10300]} on 1 from plan_budgetplan where
[plan_department].[200][plan_chart_of_accounts].[41101][plan_exchange_rates].[local]
[plan_source].[goal][plan_time].[Jan-2003]'
,1);
ViewDestroy
ViewDestroy deletes a view from the TM1 database.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewDestroy(Cube, ViewName);
Argument Description
Example
This example deletes the 1st Quarter Actuals view of the 99sales cube.
ViewExists
ViewExists determines whether a specific public view exists on the server from which a TurboIntegrator
process is executed. The function returns 1 if the view exists on the server, otherwise it returns 0. Note
that this function cannot be used to determine the existence of private views.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewExists(CubeName, ViewName);
CubeName The name of the cube that is the parent of the view
whose existence you want to confirm.
Example
ViewExists('Inventory', 'FebClosing');
This example determines if FebClosing view of the Inventory cube exists on the server.
ViewExtractFilterByTitlesSet
ViewExtractFilterByTitlesSet sets an option to filter by titles on consolidated values that are excluded
from a view or any associated view extracts.
TM1 allows the storing of strings on calculated values. When you exclude a calculated value from a view
or view extract you may want to exclude the message string also from the view.
Note: This function affects views as they exist on the server. The scope of this function is not restricted to
extracts generated from a view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewExtractFilterByTitlesSet (Cube, ViewName, FilterByTitles, Temporary);
Argument Description
Cube The parent cube of the view for which you are
setting the option.
ViewName The view for which you are setting the option.
Example
Syntax
ViewExtractSkipCalcsSet (Cube, ViewName, Flag);
Argument Description
Cube The parent cube of the view for which you are
setting the option.
ViewName The view for which you are setting the option.
Example
This example turns on the Skip Consolidated Values option for the 1st Quarter Actuals view. The view
extract will not include any consolidated values.
ViewExtractSkipConsolidatedStringsSet
ViewExtractSkipConsolidatedStringsSet sets an option to exclude strings on consolidated values that are
excluded from a view or any associated view extracts. A view extract is a TM1 view exported as an ASCII
comma-delimited (.cma) file.
TM1 allows the storing of strings on calculated values. When you exclude a calculated value from a view
or view extract you may want to exclude the message string also from the view.
Note: This function affects views as they exist on the server. The scope of this function is not restricted to
extracts generated from a view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewExtractSkipConsolidatedStringsSet (Cube, ViewName, Flag);
Argument Description
Cube The parent cube of the view for which you are
setting the option.
ViewName The view for which you are setting the option.
Note: Read about the impact of enabling a specific combination of view manipulation functions.
Example
This example turns on the Skip Rule for Consolidated String option for the extract created from the 1st
Quarter Actuals view. The extract will not include any string on the consolidated value.
ViewExtractSkipRuleValuesSet
ViewExtractSkipRuleValuesSet sets an option to include/exclude rule-calculated values in a view and any
associated view extracts. A view extract is a TM1 view exported as an ASCII comma-delimited (.cma) file.
ViewExtractSkipRuleValuesSet is the equivalent of the Skip Rule Calculated Values option in the View
Extract dialog box.
Note: This function affects views as they exist on the server. The scope of this function is not restricted
to extracts generated from a view. Setting ViewExtractSkipRuleValuesSet=1 causes a "rules off"
mode, which turns off all rule evaluation. This means that not only are rule-calculated cells excluded, but
their contribution to consolidations is also ignored. This can result in consolidated values in the view being
different from the consolidated values in the cube.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Cube The parent cube of the view for which you are
setting the option.
ViewName The view for which you are setting the option.
Note: Read about the impact of enabling a specific combination of view manipulation functions.
Example
This example turns on the Skip Rule Calculated Values option for the extract created from the 1st Quarter
Actuals view. The extract will not include any rule-calculated values.
ViewExtractSkipZeroesSet
ViewExtractSkipZeroesSet sets an option to include/exclude zero values in a view and any associated
view extracts. A view extract is a TM1 view exported as an ASCII comma-delimited (.cma) file.
ViewExtractSkipZeroesSet is the equivalent of the Skip Zero/Blank Values option in the View Extract
dialog box.
Note: This function affects views as they exist on the server. The scope of this function is not restricted to
extracts generated from a view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewExtractSkipZeroesSet (Cube, ViewName, Flag);
Argument Description
Cube The parent cube of the view for which you are
setting the Skip Zeroes option.
ViewName The view for which you are setting the Skip Zeroes
option.
Example
This example turns on the Skip Zeroes option for the extract created from the 1st Quarter Actuals view.
The extract will not include any zero or blank values.
ViewMDXSet
ViewMDXSet sets the MDX expression for an existing MDX view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewMDXSet(Cube, ViewName, MDX_expression);
Argument Description
Example
ViewMDXSet('Sales', 'Account',
"select {[plan_version].[FY 2003 Budget]} on 0,
{[plan_business_unit].[10300]} on 1 from plan_budgetplan where
[plan_department].[200][plan_chart_of_accounts].[41101][plan_exchange_rates].[local]
[plan_source].[goal][plan_time].[Jan-2003]"
);
This example sets the MDX expression for the "Account" view from the "Sales" cube.
ViewMDXGet
ViewMDXGet retrieves the MDX expression for an existing MDX view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewMDXGet(Cube, ViewName);
Argument Description
ViewMDXGet('Sales', 'Account');
This example retrieves the MDX expression from the "Account" view.
ViewRowDimensionSet
ViewRowDimensionSet sets a row dimension for a view.
This function is valid in TurboIntegrator processes only.
Syntax
ViewRowDimensionSet(CubeName, ViewName, DimName, StackPosition);
Argument Description
CubeName The parent cube of the view for which you are
setting the row dimension.
ViewName The view for which you are setting the row
dimension.
Example
This example sets Month as a row dimension for the 1Quarter view of the 98sales cube. In the event of
stacked row dimensions, Month is placed in the left-most position.
ViewRowSuppressZeroesSet
ViewRowSuppressZeroesSet suppresses or enables the display of rows containing only zero values in a
TM1 cube view.
This function is valid in TM1 TurboIntegrator processes only.
Argument Description
Cube The parent cube of the view for which you want to
suppress or enable the display of zero values.
Example
This example suppresses the display of any rows containing only zeroes in the 1st Quarter Actuals view of
the 99sales cube.
ViewSubsetAssign
ViewSubsetAssign assigns a named subset to a cube view.
Note: It is possible to create a temporary subset with the CreateSubset or CreateSubsetByMDX functions.
If you attempt to use ViewSubsetAssign to assign a temporary subset to a permanent view, the function
will fail with error notification.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewSubsetAssign(Cube, ViewName, DimName, SubName);
Argument Description
Example
This example assigns the Q1 subset of the Month dimension to the 1st Quarter view.
Syntax
ViewSuppressZeroesSet(Cube, ViewName, Flag);
Argument Description
Cube The parent cube of the view for which you want to
suppress or enable the display of zero values.
Example
This example suppresses the display of any rows or columns containing only zeroes in the 1st Quarter
Actuals view of the 99sales cube.
ViewTitleDimensionSet
ViewTitleDimensionSet sets a title dimension for a TM1 view.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewTitleDimensionSet(CubeName, ViewName, DimName);
Argument Description
CubeName The parent cube of the view for which you are
setting the title dimension.
ViewName The view for which you are setting the title
dimension.
Example
ViewTitleElementSet
ViewTitleElementSet sets a title element for a TM1 view. ViewTitleElementSet is used in conjunction with
the ViewTitleDimensionSet function.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
ViewTitleElementSet(CubeName, ViewName, DimName, Index);
Argument Description
CubeName The parent cube of the view for which you are
setting the title element.
ViewName The view for which you are setting the title
element.
Example
This example sets the third element of the Model dimension as a title element for the Quarter1 view of the
98sales cube.
ViewZeroOut
ViewZeroOut sets all data points in a view to zero.
This function is valid in TM1 TurboIntegrator processes only.
Note: When using ViewZeroOut on a cube which has UNDEFVALS enabled, the values in the view will be
set to zero, not the UNDEFVAL state.
Syntax
ViewZeroOut(Cube, ViewName);
Argument Description
Cube The parent cube of the view you want to zero out.
Example
AddInfoCubeRestriction
AddInfoCubeRestriction filters InfoCube data as it is pulled into TM1. Use this function to restrict the
values that are imported for a specified characteristic. This function must be placed in the Prolog. The
function can be called multiple times to filter more than one characteristic in a single process.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
AddInfoCubeRestriction(STRING CharactName, STRING sign,STRING compOperator,
STRING lowValue, STRING highValue)
Argument Description
STRING lowValue Contains the low value for the operator specified in
the row before. The data type has to be a character
string with a length equal to or less than 60.
STRING highValue Contains the high value for the operator specified
two rows before. The data type has to be a
character string with a length equal to or less than
60. It is only needed for the operators BT and NB,
otherwise it is ignored, and in this case an empty
string should be placed here.
Example
The following example returns all characteristic values between 1997 and 2000.
AddInfoCubeRestriction('0CALYEAR','E','BT','1997','2000');
The following example returns all characteristic values not between 1997 and 2000.
AddInfoCubeRestriction('0CALYEAR','I','NB','1997', '2000') ;
The following example returns all characteristic values not equal to USD.
ExecuteJavaN
ExecuteJavaN executes a Java™ TurboIntegrator process that returns a number. If you want to execute a
Java TurboIntegrator process that returns a string, use ExecuteJavaS.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
ExecuteJavaN('JavaTIClass', ['OptionalParameter1', 'OptionalParameter2', ...] )
Argument Description
A Java TurboIntegrator class, which returns a number and can be called from ExecuteJavaN, must use the
following pattern:
package [Link];
import [Link];
Example
ExecuteJavaN('[Link]', 'First', 'Second', 'Third');
ExecuteJavaS
ExecuteJavaS executes a Java TurboIntegrator process that returns a string. If you want to execute a Java
TurboIntegrator process that returns a number, use ExecuteJavaN.
This function is valid in processes only.
This function is not supported in processes on TM1 Database 12.
Syntax
ExecuteJavaS('JavaTIClass', ['OptionalParameter1', 'OptionalParameter2', ...] )
Argument Description
A Java TurboIntegrator class, which returns a string and is called from ExecuteJavaS, must use the
following pattern.
package [Link];
import [Link];
@JavaTI
public class MyTestTI {
public static String MyTestTI (String [] args) [
...
return ...;
}
}
Example
ExecuteJavaS('[Link]', 'First', 'Second', 'Third');
Syntax
Expand(String);
Argument Description
Example
This example illustrates the use of the Expand function within the ODBCOutput function. The example
inserts records into a relational table named Sales that consists of three columns: Month, Product, and
Sales.
The Expand function converts the variables V0, V1, and V2 to their actual values within the view.
Assuming that the first value in the view is 123.456, and is defined by the elements Jan and Widget
Expand( 'INSERT INTO SALES ( MONTH, PRODUCT, SALES ) VALUES ("%V0%", "%V1%",%V2% )' )
becomes
at run time.
FileExists
FileExists determines whether a specified file exists. The function returns 1 if the file exists, 0 if it does
not.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
FileExists(File);
Example
FileExists('C:\tm1s7\pdata\[Link]');
LogOutput
LogOutput writes a message to the [Link] file and optionally the process log file when an error
of a specified severity level is encountered in a TurboIntegrator process.
This function is valid in TM1 TurboIntegrator processes only.
Prerequisite
To enable message logging from TurboIntegrator, you must add the [Link] debugger
to the [Link] file and set the debugger to the wanted level. For example, adding
[Link]=DEBUG to [Link] enables logging for all severity levels. For more
information on the [Link] file, see "Configuring and Enabling Server Message Logging" in
TM1 Operations.
Syntax
LogOutput('SeverityLevel', 'MessageString', 'ProcessLog');
Argument Description
SeverityLevel The severity level that initiates logging to the
[Link] filelog files. Valid values for this
argument are:
• 'DEBUG'
• 'INFO'
• 'WARN'
• 'ERROR'
• 'FATAL'
TM1User
TM1User returns a string giving the current TM1 client. When executed in a process that the user is
running directly, it will return the user's TM1 client name. When executed in a chore that the user runs
directly, it will also return the user's TM1 client name.
If run from a scheduled chore, it will return a name in the form R*<chore name>, for example,
R*UpdateRegionDimension.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
TM1User()
WildcardFileSearch
WildcardFileSearch lets you use wildcard characters to search for files in a specified directory.
The results of the WildCardFileSearch function may vary depending on the operating system in use.
Files in a Windows directory are sorted in alphabetical order while files in a UNIX directory are sorted
in random order. Because the order of sorting varies between the operating systems, the identical
WildCardFileSearch function executed against identical directories, one on Windows and one on UNIX,
will yield different results.
This function is valid in TM1 TurboIntegrator processes only.
Syntax
WildcardFileSearch( Pathname, PriorFilename);
Argument Description
Example
The following example shows the use of the WildcardFileSearch function to determine the first server log
file generated in 2004:
This example returns the first file matching the wildcard sequence 'tm1s2004*.log' from the C:\Program
Files\Cognos\TM1\Custom\TM1Data\SData\ directory.
Because server log files are named and saved with sequential time stamps, and because the second
parameter to WildcardFileSearch is empty, the function returns the first server log file starting with the
characters 'tm1s2004'. This would be the first server log file generated in the year 2004.
The following example shows the use of the WildcardFileSearch function to return the first server log file
generated after [Link] was generated:
DatasourceASCIIDecimalSeparator
This TurboIntegrator local variable sets the decimal separator to be used in any conversion of
a string to a number or a number to a string. If you set this variable you must also set the
DatasourceASCIIThousandSeparator variable.
The character specified must be a standard ASCII printable character, with a decimal value between 33
and 127 inclusive.
Syntax
DatasourceASCIIDecimalSeparator='Char';
or
DatasourceASCIIDecimalSeparator=Char(xx);
Argument Description
Either of the following examples sets the comma character (,) as the separator.
DatasourceASCIIDecimalSeparator=',';
DatasourceASCIIDecimalSeparator=Char(44);
DatasourceASCIIDelimiter
This TurboIntegrator local variable sets the ASCII character to be used as a field delimiter when the
DatasourceType is 'CHARACTERDELIMITED".
The character specified must be a standard ASCII printable character, with a decimal value between 33
and 127 inclusive.
Syntax
DatasourceASCIIDelimiter='Char';
DatasourceASCIIDelimiter=Char(xx);
Argument Description
Either of the following examples sets the hyphen character (-) as the field delimiter.
DatasourceASCIIDelimiter='-';
DatasourceASCIIDelimiter=Char(45);
DatasourceASCIIHeaderRecords
This TurboIntegrator local variable indicates the number of records to be skipped before processing the
data source.
Syntax
DatasourceASCIIHeaderRecords=N;
Argument Description
DatasourceASCIIQuoteCharacter
This TurboIntegrator local variable sets the ASCII character used to enclose the fields of the source file
when DatasourceType is 'CHARACTERDELIMITED'.
The character specified must be a standard ASCII printable character, with a decimal value between 33
and 127 inclusive.
Syntax
DatasourceASCIIQuoteCharacter='Char';
or
DatasourceASCIIQuoteCharacter=Char(xx);
Argument Description
DatasourceASCIIQuoteCharacter='*';
DatasourceASCIIQuoteCharacter=Char(42);
DatasourceASCIIThousandSeparator
This TurboIntegrator local variable sets the thousands separator to be used in any conversion of a string
to a number or a number to a string.
If you set this variable you must also set the DatasourceASCIIDecimalSeparator variable.
The character specified must be a standard ASCII printable character, with a decimal value between 33
and 127 inclusive.
Syntax
DatasourceASCIIThousandSeparator='Char';
or
DatasourceASCIIThousandSeparator=Char(xx);
Argument Description
Either of the following examples sets the period character (.) as the thousands separator.
DatasourceASCIIThousandSeparator='.';
DatasourceASCIIThousandSeparator=Char(46);
DatasourceCubeview
This TurboIntegrator local variable sets the view to process if the DatasourceType is 'VIEW'.
Syntax
DatasourceCubeview='ViewName';
Argument Description
DatasourceDimensionSubset
This TurboIntegrator local variable sets the subset to process if the DatasourceType is 'SUBSET.'
DatasourceNameForServer=Dimension name is also needed in conjunction with
DATASOURCEDIMENSIONSUBSET so TM1 can identify where the subset is located.
Argument Description
DatasourceJsonRootPointer
This TurboIntegrator local variable stores a JSON-Pointer object, which identifies and locates a specific
value in the JSON document.
This variable allows TurboIntegrator processes to use JSON files as data sources. Not specifying a root
pointer results in the complete record (a JSON value) to be assigned to one variable.
Syntax
DatasourceJsonRootPointer='RootPointerValue';
Argument Description
DatasourceJsonVariableMapping
This TurboIntegrator local variable maps specific values in the JSON document to individual variables.
This variable allows TurboIntegrator processes to use JSON files as data sources. The mapping is defined
by using a JSON object in which each property (which identifies the variable by name) maps to a JSON-
Pointer object that identifies the specific value in the JSON document that the TurboIntegrator processes
uses as a data source.
Syntax
DatasourceJsonVariableMapping='JsonStringValue';
Argument Description
To build a JSON string with multiple lines, use multiple JsonAdd() functions.
For example, to create a JSON object that represents the following mapping:
{
"vName": "/Name",
"vStreet": "/Address/Street",
"vCity": "/Address/City",
"vSecondPhoneNumber": "/PhoneNumbers/1"
}
DatasourceNameForServer
This TurboIntegrator local variable sets the name of the data source (.cma/.csv file, cube name, ODBC
source) used by the server when executing the process.
Syntax
DatasourceNameForServer='Name';
Argument Description
DatasourceNameForClient
This TurboIntegrator local variable sets the name of the data source (.cma file, cube name, ODBC source)
used by the client when creating or editing the process.
Syntax
DatasourceNameForClient='Name';
Argument Description
Name For a .cma data source, the full path of the .cma
file.
For cubes, the cube name prefaced with the string
'local:'.
For an ODBC source, the source name.
DatasourcePassword
This TurboIntegrator local variable sets the password used to connect to the data source.
Syntax
DatasourcePassword='Password';
DatasourceQuery
This TurboIntegrator local variable sets the query string to use with the data source.
Syntax
DatasourceQuery='Query';
Argument Description
Query The query string to use with the data source that
was set with DatasourceNameForServer.
DatasourceType
This TurboIntegrator local variable sets the type of the data source.
Syntax
DataSourceType='Type';
Argument Description
DatasourceUsername
This TurboIntegrator local variable sets the name used to connect to the data source.
Syntax
DatasourceUserName='Name';
Argument Description
MinorErrorLogMax
This TurboIntegrator local variable defines the number of minor errors that will be written to the
[Link] file during process execution. If this variable is not defined in the process, the
default number of minor errors written to the log file is 1000.
Argument Description
Example Result
NValue
When the DatasourceType is 'VIEW', this TurboIntegrator local variable determines the value of the
current cell when Value_Is_String is 0. (That is, when the current cell is numeric.)
Syntax
Nvalue=N;
Argument Description
OnMinorErrorDoItemSkip
This TurboIntegrator local variable instructs TurboIntegrator to skip to the next record when a minor error
is encountered while processing a record.
This variable is useful in scenarios where a single bad field/value in a record causes multiple minor errors.
For example, if you have 100 CELLPUTN functions in a process and one of the fields in a given
record is 'bad' or invalid, the minor error count is incremented by 100. (1 for each CELLPUTN function
that encounters the error.) These 100 minor errors count towards the minor error limit defined by
MinorErrorLogMax. A TurboIntegrator process fails when it surpasses the number of minor errors defined
by MinorErrorLogMax.
Syntax
OnMinorErrorDoItemSkip=N;
Argument Description
SValue
When the DatasourceType is 'VIEW', this TurboIntegrator local variable determines the value of the
current cell when Value_Is_String is not 0. (That is, when the current cell contains a string.)
Syntax
Svalue='String';
Argument Description
[Link] file
When a TurboIntegrator process encounters an error, it generates a [Link] file. This log file
is saved to the data directory of the server on which the process resides.
Note: In a Planning Analytics on Cloud environment, the [Link] file is retained for three
months. Any [Link] files that are older than three months are permanently deleted during
the regularly scheduled maintenance window. If you want to retain your [Link] files beyond
the three month maintenance interval, please compress them to a zip file. For more information on log file
retention in Planning Analytics on Cloud, see Log file retention periods.
A [Link] file contains a list of errors that are encountered by the process. For each error
encountered, the log file records the tab and line that caused the error, along with a brief description of
the error.
When a process error log file is generated, TM1 assigns a unique name that lets you readily identify which
TurboIntegrator process generated the error file and the time at which the file was created. File names
are assigned with the following convention:
TM1ProcessError_<time stamp>_<UID>_<process name>.log.
In this convention:
• <time stamp> is the time (expressed as yyyymmddhhmmss GMT) at which the file was generated
Value_Is_String
When the DatasourceType is 'VIEW', this TurboIntegrator local variable determines whether the current
cell should be treated as a string or a numeric value.
Syntax
Value_Is_String=N;
Argument Description
StringGlobalVariable('VariableName');
Use this function to define a string global variable.
NumericGlobalVariable('PrologMinorErrorCount');
DataMinorErrorCount
This TurboIntegrator global variable counts the minor errors that occur in the Data portion of a
TurboIntegrator process. For each minor error encountered, the variable value is incremented by 1.
Syntax
DataMinorErrorCount=N;
Argument Description
MetadataMinorErrorCount
This TurboIntegrator global variable counts the minor errors that occur in the Metadata portion of a
TurboIntegrator process. For each minor error encountered, the variable value is incremented by 1.
Syntax
MetadataMinorErrorCount=N;
Argument Description
ProcessReturnCode
This TurboIntegrator global variable stores the exit status of the most recently executed TurboIntegrator
process.
Syntax
ProcessReturnCode=StatusCode;
PrologMinorErrorCount
This TurboIntegrator global variable counts the minor errors that occur in the Prolog portion of a
TurboIntegrator process. For each minor error encountered, the variable value is incremented by 1.
Syntax
PrologMinorErrorCount=N;
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property
Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in
any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of
the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
Any performance data contained herein was determined in a controlled environment. Therefore, the
results obtained in other operating environments may vary significantly. Some measurements may have
been made on development-level systems and there is no guarantee that these measurements will be
the same on generally available systems. Furthermore, some measurements may have been estimated
through extrapolation. Actual results may vary. Users of this document should verify the applicable data
for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of
those products.
All statements regarding IBM's future direction or intent are subject to change or withdrawal without
notice, and represent goals and objectives only.
This information is for planning purposes only. The information here is subject to change before the
products described become available.
This information contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs
in any form without payment to IBM, for the purposes of developing, using, marketing or distributing
application programs conforming to the application programming interface for the operating platform
for which the sample programs are written. These examples have not been thoroughly tested under
all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these
programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be
liable for any damages arising out of your use of the sample programs.
Each copy or any portion of these sample programs or any derivative work, must include a copyright
notice as follows:
© (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs. ©
Copyright IBM Corp. _enter the year or years_.
If you are viewing this information softcopy, the photographs and color illustrations may not appear.
This Software Offering does not use cookies or other technologies to collect personally identifiable
information.
424 Notices
©
Product Information
This document applies to IBM Planning Analytics version 2.0.0 and may also apply to subsequent
releases.
Copyright
Licensed Materials - Property of IBM
© Copyright IBM Corp. 2007, 2022.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule
Contract with IBM Corp.
IBM, the IBM logo, and [Link] are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the web in "
Copyright and trademark information " at [Link]/legal/[Link].
Other trademarks
The following terms are trademarks or registered trademarks of other companies:
• Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
• Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
• The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the
exclusive licensee of Linus Torvalds, owner of the mark on a worldwide basis.
• UNIX is a registered trademark of The Open Group in the United States and other countries.
• Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle
and/or its affiliates.
• Red Hat®, JBoss®, OpenShift®, Fedora®, Hibernate®, Ansible®, CloudForms®, RHCA®, RHCE®, RHCSA®,
Ceph®, and Gluster® are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in the
United States and other countries.
Microsoft product screen shot(s) used with permission from Microsoft.
Notices 425
426 IBM Planning Analytics: Reference
Index
A B
ABS 142 BatchUpdateFinish 281, 362
access BatchUpdateFinishWait 363
privileges Security Assignments 47 BatchUpdateStart 364
ACOS 143 bookmarks 43
action button buttons
properties 1 TurboIntegrator Editor 83
AddClient 349
AddCubeDependency 272
AddGroup 349
C
AddInfoCubeRestriction 404 Calculation functions 99
Admin CAPIT 150
Security Assignments 50 CellGetN 273
Server Transport Layer Security, TM1 Options 68 CellGetS 274
advanced CellIncrementN 274
Mapping Grid 4 CellIsUpdateable 275
Options 4 CellPutN 276
TurboIntegrator Editor tab 89 CellPutProportionalSpread 276
all screens CellPutS 277
Print Report Wizard 36 CellSecurityCubeCreate 351
appearance action button 4 CellSecurityCubeDestroy 351
application CellValueN 107
Server Explorer 54 CellValueS 107
arithmetic operators 93 CHAR 150
ASCII character set 213
and Text TurboIntegrator Functions 209 check syntax 43
ASCIIDelete 210 Chinese 43
ASCIIOutput 210 chore
ASCIIOutputOpen 211 Management TurboIntegrator Functions 270
ASIN 143 Quit 271
assign Server Explorer 61
Security Assignments grid 47 Setup Wizard 13
AssignClientPassword 350 ChoreAttrDelete 224
AssignClientToGroup 349 ChoreAttrInsert 224
AssociateCAMIDToGroup 350 ChoreAttrN 225
ATAN 143 ChoreAttrNL 225
AttrDelete 221 ChoreAttrPutN 226
attribute ChoreAttrPutS 227
Editor 6 ChoreAttrS 228
Manipulation TurboIntegrator Functions 219 ChoreAttrSL 228
TurboIntegrator Editor 85 ChoreError 270
AttrInsert 222 ChoreRollback 271
ATTRN 94 Clients
ATTRNL 219 /Group Window 14
AttrPutN 222 /Groups grid 14, 15
AttrPutS 223 menu Clients/Groups 15
ATTRS 95 Messaging Center Dialog Box 16
AttrSL 220 CODE 151
Audit log CODEW 151
details window 12 column dimensions
window 9 Cube Viewer 20
Audit log details window 12 comments 43
Audit log window 9 comparison 93
auto-complete 45 Connect Server 34
automatic mapping 4 ConsolidatedAvg 99
ConsolidatedCount 102
Index 427
ConsolidatedCountUnique 103 Data Reservation TurboIntegrator functions (continued)
ConsolidatedMax 104 CubeDataReservationRelease 285
ConsolidatedMin 106 CubeDataReservationReleaseAll 286
consolidation DataMinorErrorCount 420
TurboIntegrator Editor 85 DatasourceASCIIDecimalSeparator 411
CONTINUE 141 DatasourceASCIIDelimiter 411
control DatasourceASCIIHeaderRecords 412
objects 45 DatasourceASCIIQuoteCharacter 412
options 45 DatasourceASCIIThousandSeparator 413
COS 144 DatasourceCubeview 413
create DatasourceDimensionSubset 413
cube dialog box 17 DatasourceJsonRootPointer 414
dimension dialog box 17 DatasourceJsonVariableMapping 414
server replication object 17 DatasourceNameForClient 415
CreateHierarchyByAttribute 305 DatasourceNameForServer 415
cube DatasourcePassword 415
Information Subset Editor 41 DatasourceQuery 416
optimizing 18 DatasourceType 416
Properties Dialog Box 19 DatasourceUsername 416
Server Explorer 55 DATE 112
TurboIntegrator Editor 85 date and time
TurboIntegrator manipulation functions 272 TurboIntegrator functions 288
Viewer 20 DATES 113
CubeAttrDelete 229 DAY 114
CubeAttrInsert 230 DAYNO 114
CubeATTRN 96 DBProportionalSpread 161
CubeATTRNL 232 DBR 179
CubeAttrPutN 230 DBRA 180
CubeAttrPutS 231 DBRW 180
CubeATTRS 96 DBS 181
CubeATTRSL 232 DBSA 182
CubeClearData 278 DBSS 183
CubeCreate 278 DBSW 183
CubeDataReservationAcquire 284 DELET 151
CubeDataReservationGet 286 Delete Named Subsets Dialog Box 23
CubeDataReservationGetConflicts 288 Delete Named Views Dialog Box 23
CubeDataReservationRelease 285 DeleteAllPersistentFeeders 336
CubeDataReservationReleaseAll 286 DeleteClient 352
CubeDestroy 279 DeleteGroup 352
CubeDimensionCountGet 279 DFRST 184
CubeExists 280 dialog boxes 1
CubeGetLogChanges 280 dimension
CubeProcessFeeders 333 Dimension Editor menu 23
CubeRuleAppend 333 Element Insert Dialog Box 27
CubeRuleDestroy 334 Element Ordering Dialog Box 27
CubeSetConnParams 282 Element Properties Dialog Box 28
CubeSetLogChanges 282 Information Rules Functions 120
CubeTimeLastUpdated 283 Information Subset Editor 42
CubeUnload 283 Manipulation TurboIntegrator Functions 291
CubeView Server Explorer 56
Server Explorer 58 TurboIntegrator Editor 85
DimensionAttrDelete 233
DimensionAttrInsert 234
D DimensionATTRN 97
D_FSAVE 160 DimensionATTRNL 236
D_PICK 159 DimensionAttrPutN 234
D_SAVE 160 DimensionAttrPutS 235
data DimensionATTRS 97
source tab TurboIntegrator Editor 71 DimensionATTRSL 237
TurboIntegrator Editor 85, 89 DimensionCreate 291
Data Reservation TurboIntegrator functions DimensionDeleteAllElements 291
CubeDataReservationAcquire 284 DimensionDeleteElements 292
CubeDataReservationGet 286 DimensionDestroy 292
CubeDataReservationGetConflicts 288 DimensionElementComponentAdd 293
Index 429
G HierarchySubsetExists 373
HierarchySubsetGetElementName 374
Get View Dialog Box (In-Spreadsheet Browser) 34 HierarchySubsetGetSize 373
GetProcessErrorFileDirectory 325 HierarchySubsetIsAllSet 374
GetProcessErrorFilename 325 HierarchySubsetMDXGet 375
GetProcessName 325 HierarchySubsetMDXSet 375
GetUseActiveSandboxProperty 339 HierarchyTimeLastUpdated 317
Global variables 419 HierarchyTopElementInsert 318
grid HierarchyTopElementInsertDirect 318
TurboIntegrator Editor 83 HierarchyUpdateDirect 319
groups menu
Clients/Groups
15
I
I_EXPORT 163
H I_NAMES 163
I_PROCESS 164
help menu If 326
Message Log Window 36 IF 141
hierarchy implicit global variables 420
TurboIntegrator manipulation functions 304 import 43
hierarchy rules functions 139 In-Spreadsheet Browser Menu 34
HierarchyATTRN 244 indent 43
HierarchyATTRNL 245 insert cube reference 45
HierarchyAttrPutN 243 INSRT 152
HierarchyAttrPutS 244 INT 144
HierarchyATTRS 245 ISUND 145
HierarchyATTRSL 246 ISUNDEFINEDCELLVALUE 109
HierarchyContainsAllLeaves 305 ItemReject 326
HierarchyCreate 306 ItemSkip 327
HierarchyDeleteAllElements 306
HierarchyDeleteElements 307
HierarchyDestroy 307
J
HierarchyElementComponentAdd 308 Japanese 43
HierarchyElementComponentAddDirect 308
HierarchyElementComponentDelete 309
HierarchyElementComponentDeleteDirect 310 K
HierarchyElementDelete 311
KEY_ERR 179
HierarchyElementDeleteDirect 311
Korean 43
HierarchyElementExists 312
HierarchyElementInsert 312
HierarchyElementInsertDirect 313 L
HierarchyElementPrincipalName 314
HierarchyElementSecurityGet 354 large character sets 43
HierarchyElementSecurityPut 354 left pane (Tree pane)
HierarchyExists 315 Server Explorer 51
HierarchyHasOrphanedLeaves 315 LevelCount 137
HierarchySortOrder 316 line numbers 45
HierarchySubsetAliasGet 368 LN 145
HierarchySubsetAliasSet 368 local server
HierarchySubsetAttrDelete 253 TM1 Options 67
HierarchySubsetAttrInsert 252 local variables 411
HierarchySubsetATTRN 248 lock
HierarchySubsetATTRNL 249 Security Assignments 49
HierarchySubsetAttrPutN 251 lock contention 366
HierarchySubsetAttrPutS 250 LOG 145
HierarchySubsetATTRS 247 logical
HierarchySubsetATTRSL 248 operators 93
HierarchySubsetCreate 368 Rules Functions 141
HierarchySubsetDeleteAllElements 369 login parameters
HierarchySubsetDestroy 370 TM1 Options 67
HierarchySubsetElementDelete 371 LONG 153
HierarchySubsetElementExists 370 LOWER 153
HierarchySubsetElementGetIndex 371
HierarchySubsetElementInsert 372
O
Q
ODBC TurboIntegrator Functions 320
ODBCClose 320 QUDEFINE 167
ODBCOpen 320 QUDEFINEEX 169
ODBCOPENEx 321 QUEXPORT 170
ODBCOutput 321 QULOOP 171
OnMinorErrorDoItemSkip 417 QUSUBSET 172
open subset dialog box 36
open view dialog box 36 R
OPTGET 165
optimizing cubes 18 R_SAVE 172
options RAND 147
Attributes 7 range parameters
cube viewer menu 22 View Extract 91
Dimension Element Properties 28 read
OPTSET 165 Security Assignments 48
RefreshMdxHierarchy function 365
regional settings properties 7
P RemoveCAMIDAssociation 355
parameters RemoveCAMIDAssociationFromGroup 356
TurboIntegrator Editor 89 RemoveClientFromGroup 356
ParseDate 290 replicate
PAYMT 138 Server Explorer 59
Preferences 45 replicate cube
Index 431
replicate cube (continued) SetChoreVerboseMessages 271
dialog box 41 SetDimensionGroupsSecurity 358
Server Explorer 60 SetElementGroupsSecurity 359
reserve SetHierarchyElementGroupsSecurity 357
Security Assignments 49 SetHierarchyGroupsSecurity 357
right pane (Properties pane) SetInputCharacterSet 213
Server Explorer 51 SetODBCUnicodeInterface 322
ROUND 147 SetOutputEscapeDoubleQuote 216
ROUNDP 148 SetUseActiveSandboxProperty 348
row SIGN 148
Cube Viewer 20 SIN 149
rule skip parameters
functions 93 View Extract 91
macro functions 159 SQRT 149
Subset Editor Information 41 status bar 45
TurboIntegrator management functions 333 STET 142, 209
RuleLoadFromFile 337 STR 154
run method 159 StringGlobalVariable(ariableName 420
RunProcess 330 StringSessionVariable(ariableName 422
StringToNumber 217
StringToNumberEx 217
S SUBDEFINE 173
Sandbox functions 339 SUBNM 194
SAPCharacteristicTexts 416 SUBPICK 173
save subset
In-Spreadsheet Browser View dialog box editor 62
46 Server Explorer 58, 59
subset dialog box 46 Subset Editor menu 63
View Dialog Box 46 TurboIntegrator manipulation functions 367
SaveDataAll 366 SubsetAliasGet 377
SCAN 154 SubsetAliasSet 377
schedule tab SubsetAttrDelete 264
TurboIntegrator Editor 90 SubsetAttrInsert 264
security SubsetATTRN 260
Assignments dialog box 47 SubsetATTRNL 261
Clients/Groups menu 14 SubsetAttrPutN 263
TurboIntegrator functions 348 SubsetAttrPutS 262
SecurityOverlayCreateGlobalDefault 360 SubsetATTRS 259
SecurityOverlayDestroyGlobalDefault 361 SubsetATTRSL 260
SecurityOverlayGlobalLockCell 359 SubsetCreate 377
SecurityOverlayGlobalLockNode 361 SubsetCreateByMDX 379
SecurityRefresh 362 SubsetDeleteAllElements 380
select cube SubsetDestroy 381
dialog box 51 SubsetElementDelete 381
for rules dialog box 51 SubsetElementExists 382
select dimension SubsetElementGetIndex 382
dialog box 51 SubsetElementInsert 383
security assignments 51 SubsetExists 383
select element SubsetExpandAboveSet 384
dialog box 51 SubsetFormatStyleSet 384
view extract 91 SubsetGetElementName 385
server SubsetGetSize 385
Explorer (Main Window) 51 SubsetIsAllSet 386
Server Explorer 52 SubsetMDXGet 386
TurboIntegrator manipulation functions 362 SubsetMDXSet 387
ServerActiveSandboxGet 339 SUBSIZ 194
ServerActiveSandboxSet 340 SUBST 156
Servers Group SValue 418
Server Explorer 52
ServerSandboxesDelete 341 T
ServerSandboxExists 346
ServerSandboxGet 346 T_CLEAR 174
ServerSandboxListCountGets 347 T_CREATE 174
ServerShutdown 367 T_CREATE16 175
Index 433
Y
YEAR 120