#### Overview of this book

IBM Cognos TM1 is enterprise planning software that provides a complete, dynamic environment for developing timely, reliable and personalized forecasts and budgets. It is a real time, in memory tool that helps any sized business perform planning, budgeting and forecasting as well as other financial exercises. This book prepares you to master COG-310 certification using an example-driven method that is easy to understand. The IBM Cognos TM1 Developer's Certification guide provides key technical details and background to clear the current IBM Cognos TM1 Developer (test COG-310) certification exam. This certification book covers all the modules of the certification clearly and in depth. The initial chapters cover in detail the components that make up Cognos TM1 and designing and creating dimensions and cubes. The book then dives deep into basic and advanced scripting using TurboIntegrator and then we learn to understand and write basic Rules. We then learn about the drill-through functionality of TM1, virtual and lookup cubes and lastly Time, and presenting and reporting data
IBM Cognos TM1 Developer's Certification Guide
Credits
www.PacktPub.com
Preface
Free Chapter
The Components of TM1
Dimensions and Cubes
TurboIntegrator (TI)
Rules
Drill-through
Virtual and Lookup Cubes
Time Considerations
Data Presentation and Reporting

## Conditional drill rules

At some point you may want to add some additional logic to your drill process rule. You can use any valid TM1 Rules function to do this in your rule.

Some simple examples of this might be as follow﻿s:

```# Sample drill number 1
#- Define the area- in this case the model dimension is used and the
#- area is defined as 'Standard #- Model'. If the standard model in the #- surfboard Meta cube is X then execute the drill process
#- named launch_standard_model
['Standard Model']=s:IF(DB('Surfboard Meta',!subclass, !version, 'Standard Model')@='X','launch_Standard_Model','');
```

and

```# Sample drill number 2
#- Define the area- in this case the model dimension is used and the
#- area is defined as 'Long
#- Board Model'. If the long board model in the surfboard meta ube is X #- then the user will be #- presented with a choice to execute the drill #- process launch_long_board_model
```

or

```#- launch_standard_model
['Long Board Model']=s:IF(DB('model_meta',!subclass,!version,'% of Channel...```