Вы находитесь на странице: 1из 420

IBM Cognos Business Intelligence Series 7 IBM Cognos Series 7 PowerPlay Transformer

Version 7.5

Step-by-Step Transformer

Product Information
This document applies to IBM Cognos Series 7 PowerPlay Transformer Version 7.5 and may also apply to subsequent releases. To check for newer versions of this document, visit the IBM Cognos Information Centers (http://publib.boulder.ibm.com/infocenter/cogic/v1r0m0/index.jsp).

Copyright
Licensed Materials - Property of IBM Copyright IBM Corp. 1996, 2010. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM, the IBM logo, ibm.com, and Cognos are trademarks or registered trademarks of International Business Machines Corp., 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 at www.ibm.com/legal/copytrade.shtml. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries.

Table of Contents
Introduction 15 PowerPlay Editions 15 Chapter 1: Use the Interface

19

Work with the Dimension Map: Overview 19 Add or Delete a Dimension 20 Add or Delete a Level 20 Show Measure or Data Source Scope 21 Show Category Counts 22 Work with Diagrams: Overview 22 Connect a Category to Descendants 23 Customize Menus 23 Set Up a Launch Menu Command 25 Customize Toolbars and Buttons 25 Show or Hide Toolbars 25 Create a Custom Toolbar 26 Customize Toolbar Buttons 26 Set Up a Launch Button 27 Distribute Custom Menus and Toolbars 28 Chapter 2: Get Your Data into the Model

29

Create a New Model 30 Import an Existing Model in MDL Format 31 Add a Data Source to an Existing Model 31 Modify SQL 32 Re-order the Columns and Data Sources 32 Set Up Currency Conversion: Overview 33 Create a Base Currency Table 34 Create a Euro Currency Table 36 Enable Currency Conversion 39 Create or Update a Currency Table Manually 39 Use Multiple Data Sources in Your Model: Overview 40 View the Scope of a Data Source 40 Control When Transformer Reads the Source Data 43 Use Local Data Sources: Overview 44 Use Spreadsheet Data Sources 44 Use PowerHouse Data Sources 47 Use Local Databases as Data Sources 48 Use Text Data Sources 49 Use .iqd Files to Access Server Data 50 Define Columns: Overview 51 Define Columns in Fixed-Field Text Data Sources 52 Scale Input Values 53 Set the Degree of Detail for Dates 54 Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

Table of Contents Use Monthly or Quarterly Time Arrays 55 Specify Date Categories in Two Centuries 57 Chapter 3: Map Your Data into Dimensions

59

Make a Preliminary Design with AutoDesign 60 Create a New Dimension 60 Define a Calculated Column 61 Add Levels to a Dimension: Overview 62 Add Source Levels to a Dimension 63 Add Manual Levels to a Dimension 63 Create an Alternate Drill-down Path 65 Create Categories Manually 67 Create Calculated Categories 68 Define Category Sets for Calculated Categories 70 Order Categories Within Levels 71 Order Categories Using a Global Preference Setting 72 Create Unbalanced Hierarchies Within a Dimension 73 Define a Scenario Dimension and a Default Opening Level 74 Set Up the Time Dimension: Overview 74 Define the Date Input Format 76 Use the Date Wizard 76 Create a Time Dimension Manually 77 Set Up Fiscal Years, Quarters, and Months 79 Set Up Calendar and Fiscal Years Within a Single Time Dimension 79 Control How Transformer Splits Weeks 81 Set Up Lunar Time Periods 82 Control When Transformer Adds Extra Weeks for Lunar Time Periods 83 Limit the Range of Dates Included in the Model 84 Generate Date Categories 85 Format Date Values 85 Set Up a Custom Time Dimension 85 Set Up Relative Time Categories: Overview 87 Set the Current Period Automatically 88 Set the Current Period Manually 88 Measure Past Performance for a Single Time Period 89 Measure Past Performance To Date 90 Measure Past Performance Over Several Time Periods 91 Set Up Future Relative Time Projections 92 Compare Monthly Performance in Different Time Periods 94 Set Up Special Categories: Overview 94 Create a New Special Category 95 Create Special Category Levels 96 Disable Rollup on Special Categories 96 Generate Categories: Overview 97 Deal with Orphans Of Categories 97 Handle Early and Late Dates 97 Handle Invalid Dates 98 Use a Specific Data Source to Generate Categories 98 Set Up a Manual Level for Unknown Categories 99

4 IBM Cognos Series 7 PowerPlay Transformer

Table of Contents Check the Model for Potential Problems 100 Prevent New Categories from Being Added to a Dimension 100 Chapter 4: Identify the Measures You Want to Analyze

101

Add a Regular Measure 101 Define a Measure Folder 102 Define a Measure that Counts Categories 103 Define a Calculated Measure 104 Define an If-Then-Else Calculated Measure 105 Control When Measures Are Calculated 105 Display Missing Values 107 Reverse the Sign in Financial Models 107 Control How Measures Roll Up: Overview 108 Set a Regular Rollup Function for Measures 108 Create Cubes with External Rollups 109 Set a Time State Rollup Function for Measures 111 Ignore Null and Missing Values in Specified Time State Rollups 113 Set Regular and Time State Rollup Together 113 Allocate Measures: Overview 115 View Measure Scope 116 Set Dimension Allocation 117 Set Level Allocation 118 Set Category Allocation 119 Suppress Allocation 120 Consolidate Data: Overview 120 Set a Duplicates Rollup Function for Measures 122 Perform Consolidation 124 Set Up Drill-through Targets: Overview 124 Add or Remove Drill-through Targets 126 Add Drill-through Targets to UNIX Cubes 127 Chapter 5: Define and Create PowerCubes

129

Define a PowerCube Manually 129 Define PowerCube Groups 130 Define a Time-Based Partitioned Cube 130 Slowly Changing Dimensions 134 Customizing a Time-Based Partitioned Cube 136 Create a Multi-Level Time-Based Partitioned Cube 137 Add or Remove Member Cubes 137 Exclude Measures from a PowerCube 138 Omit Dimensions from a PowerCube 138 Set a Password for a PowerCube 139 Automatic Checking for Open Cubes 140 Use Alternate Data Sources for Cube Creation 140 Create Compressed PowerCubes 141 Create a Test Cube 142 Update the PowerCube Metadata 142 Check PowerCube Status 143 Customize Cube Content with Views: Overview 144 Create a Dimension View 145 Step-by-Step Transformer 5

Table of Contents Omit Categories Using Suppress 146 Omit Categories Using Cloak 147 Omit Categories Using Exclude 148 Omit Descendant Categories Using Summarize 150 Omit Categories Using Apex 150 Set Up a Protected PowerCube: Overview 152 Enable User Security for a Model 153 Update Authentication Information 154 Set Up User Class Views 154 Block Total Values for Parent Categories with Excluded Children 155 Combine User Class Views with Dimension Views 156 Chapter 6: Perform Model and PowerCube Maintenance

157

Recover a Failed Model 158 Match Model and Source Columns 159 Move Categories When Source Data Changes 160 Delete Inactive Categories 161 Set Up Placeholder Categories for Cube Groups 161 Optimize Performance: Overview 162 Update Your Cubes Incrementally 163 Recommendation - Keep Models Populated if Category Codes are Not Unique 165 Recommendation - Periodically Clean up Your Model to Optimize Cube Processing 165 Use Multiple Data Sources 167 Consolidate Data in PowerCubes 167 Refresh Category Information 168 Devising an Optimal Partitioning Strategy 168 Create Multifile PowerCubes 174 Chapter 7: Use Transformer in a Client-Server Environment Chapter 8: Use Architect with Transformer

177

179

Use an Architect Package as a Transformer Data Source 179 Create a Transformer Model from an Architect Package 179 Add an Architect Package to an Existing Transformer Model 180 Metadata Explorer Overview 181 Design Your Transformer Model Using the Metadata Explorer 182 Filter Your Architect Data Source in Transformer 183 Compare the Show Scope Function in Architect and Transformer 184 Share Category (General Tab, Category and Special Category Property Sheets) 186 Chapter 9: Reference

187

Cognos.ini and <RenditionName>.ini Files 187 Steps 188 Trnsfrmr.ini File 190 Rendition.cfg File 191 The Log File 191 Appendix A: Additional Reference Creating Drill-Down Paths 195 Defining Scope 195 Quotation Marks in Data 196 6 IBM Cognos Series 7 PowerPlay Transformer

195

Table of Contents Client-Server Model Synchronization 197 Server Processes 198 Warning and Error Messages 198 PowerCube Status Filters 198 Data Source Types 199 Field Delimiters 201 Character Sets 201 Isolation Levels in .IQD Files 202 UNIX Paths 203 Date Input Formats 203 Date Format Codes 204 Inclusion 205 Allocation Types 207 Partial and Extra Weeks 207 Relative Time Settings 208 Degree of Detail 212 Level Uniqueness 212 Date Functions 213 PowerCube Optimization Methods 215 Rollup Functions 215 Expression Editor 219 Search Wildcards 219 Category Actions in Diagrams 220 Exclude 221 Cloak 222 Suppress 222 Apex 222 Summarize 222 Union of User Class Views 222 Scenario Involving Exclude 223 Scenario Involving Apex 225 Scenario Involving Omit 227 Scenarios Involving Parent-Child Relationships 228 Scenarios Involving Multidimensional Relationships 230 Alternate Drill-Down Paths in Time Dimensions 231 Dimension Views in Alternate Drill-Down Paths 232 Current Period 233 How Data Sources Relate to the Dimension Map 234 Uniqueness Issues When Drilling Cube to Cube 236 Level Properties 237 Appendix B: Functions

239

change(cat_code, cat_code|set |level) 239 percent-growth(cat_code, cat_code|set |level) 239 share(cat_code, cat_code|set |cat_code, set|set|level) 240 Parameters 240 Appendix C: Command Line Options Command Line Options List 242 -a <data_source> 244 Step-by-Step Transformer 7

241

Table of Contents -c 245 -cs .mdl_file 245 -D<preference_var>=<setting> .py?_file |.mdl_file 246 -e .py?_file |.mdl_file 246 -F<preference_file> .py?_file |.mdl_file 247 -i .py?_file 247 -k<signon>=<userid>/<password> .py?_file |.mdl_file 248 -m .mdl_file 249 -n<display_state> .py?_file |.mdl_file 250 -nologo .py?_file |.mdl_file 250 -o .py?_file |.mdl_file 250 -p .py?_file 250 -r<log_level> .py?_file |.mdl_file 251 -s .py?_file |.mdl_file 251 -t<category_code> .py?_file |.mdl_file 252 -u<powercube_name> .py?_file |.mdl_file 252 -v data_subset_number 253 -x .mdl_file 253 - (dash) 253 Appendix D: Proven Practices in Model and System Design

255

Recommendation - Analyze Your Requirements and Source Data 255 Identify Your Security Needs 255 Assess Your Source Data 256 Recommendation - Build a Prototype 259 Identify Measures 259 Specify a Time Dimension 259 Select the Data to be Modeled (Sales Example) 259 Create and Refine Your Model 260 Diagnose Design Problems 262 Review the Resulting Reports with Users 263 Recommendation - Manually Partition Cubes that do not Support Auto-partitioning 264 Recommendation - Test Alternatives for Improving Build Times for Large PowerCubes 268 Example - Explore the Test Model 268 Gains from Multiprocessing on a Faster Transformer Server 269 Gains from Adjusting the Memory Allocation 270 Gains from Reconfiguring the Hard Drive 271 Gains from Allocating Sufficient Space for the Temporary Files 271 Gains from Optimizing the Windows Environment 272 Gains from Optimizing the UNIX Environment 273 Gains from Redistributing Files 273 Gains from Optimizing Gateway Settings 274 Analyze Processing Bottlenecks Using the Transformer Log File 275 Keeping Model and Cube Sizes Within Practical Limits 276 Performance Improvement Case Studies 276 Recommendation - Uncloak the Primary Drill Category 276 Recommendation - Enable Multiprocessing 277 Recommendation - Use Time-based Partitioning 278

8 IBM Cognos Series 7 PowerPlay Transformer

Table of Contents Recommendation - Resolve Uniqueness Problems in the Source Before Moving PowerCubes into IBM Cognos 8 279 Removing Missing Values that Cause Uniqueness Problems 280 Resolving Uniqueness Problems in the Source 280 Retaining the Uniqueness Designation when Categories are Moved 281 Preventing New (Non-unique) Categories from Being Added 281 Appendix E: General Troubleshooting

283

With the IBM Cognos 8 Web Studios 283 Choosing Only One Language When Installing IBM Cognos 8 OLAP Modeling and Mobile Analysis 283 Providing Stricter Access Controls for PowerCubes Used in IBM Cognos 8 283 Not Yet Optimized IBM Cognos PowerCubes May Open Slowly in IBM Cognos 8 283 With Transformer on Windows 285 Preventing Errors When Model Calculations Use Double Quotation Marks 285 Empty Results When Querying a Microsoft Access Database 285 Access Time Increases with Incremental Updates 286 Add New Partition Levels to Existing PowerCubes 286 Retain Sort Order in Time-Based Partitioned Cubes 286 Allocations Aren't Working Correctly 286 Alternate Drill-downs and Level Uniqueness 287 Alternate Drill-downs and Partitioning 287 Can't Join the Source Data Files in My Data Sources List 288 Category Generation Is Too Slow 288 Dimension Contains Orphans Of Categories 288 Dimension Contains Unbalanced Hierarchy of Categories 288 Incremental Update Failed for One or More PowerCubes 288 Invalid Dates Generated in the Time Dimension 289 Level Uniqueness Problems 289 Measures Have No Values in Some Dimensions 291 Relative Time Calculations Aren't Evaluated Correctly 292 Source Data Doesn't Match the Data Source in the Model 292 Allocation Tab Is Disabled for All Objects in a Model 292 Inconsistent Numeric Output After Migrating Models Created Using Native dBase Data Sources 293 Transformer Seems to Ignore a Measure's Decimal Values 293 Oracle Database Schema Definition Modifies Numeric Category Labels 294 Unknown Signon Appears in Signons List with .iqd File 294 User Class Security Isn't Working 295 When or Why Should I Use Multiple Data Sources? 296 ObjectStore VirtualAlloc Failure Prevents Startup of Transformer 297 Allocation Appears Incorrect in Time-based Partitioned Cubes if a Cube is Updated with Data from Another Period 297 Unable to Import IBM Cognos 8 Data that Contains TEXTBLOB, CLOB, or BLOB Data Types 298 Insufficient Cache Space for Proper Cube Processing 298 Unable to Connect to the Database 298 With Transformer on UNIX 299 Client-Server Connection Is Not Working 299

Step-by-Step Transformer 9

Table of Contents Can't Create a Model Using Transformer on UNIX 299 With PowerPlay Client Applications 300 Production Reports No Longer Work 300 Dates and Numeric Values Not Formatted as Expected 300 Inadequate Query Performance with Partitioning in Place 300 PowerCube Access from PowerPlay Clients Is Too Slow 301 Summaries Don't Match Individual Cell Contents 301 Appendix F: Error Messages Message TR0104 Message TR0105 Message TR0106 Message TR0107 Message TR0108 Message TR0109 Message TR0110 Message TR0111 Message TR0112 Message TR0113 Message TR0114 Message TR0116 Message TR0117 Message TR0118 Message TR0128 Message TR0131 Message TR0132 Message TR0133 Message TR0137 Message TR0149 Message TR0151 Message TR0202 Message TR0203 Message TR0205 Message TR0206 Message TR0207 Message TR0208 Message TR0209 Message TR0210 Message TR0214 Message TR0215 Message TR0217 Message TR0301 Message TR0303 Message TR0404 Message TR0407 Message TR0408 Message TR0412 Message TR0420 Message TR0423 303 303 303 304 304 305 305 305 305 306 306 306 306 307 308 308 308 309 309 310 310 310 310 311 311 311 311 311 312 312 312 313 313 313 313 313 314 314 314 314

303

10 IBM Cognos Series 7 PowerPlay Transformer

Table of Contents Message TR0476 Message TR0500 Message TR0501 Message TR0502 Message TR0503 Message TR0504 Message TR0505 Message TR0507 Message TR0508 Message TR0510 Message TR0514 Message TR0515 Message TR0518 Message TR0519 Message TR0523 Message TR0524 Message TR0525 Message TR0528 Message TR0534 Message TR0535 Message TR0536 Message TR0538 Message TR0540 Message TR0541 Message TR0552 Message TR0605 Message TR0606 Message TR0607 Message TR0613 Message TR0621 Message TR0623 Message TR0624 Message TR0700 Message TR0701 Message TR0702 Message TR0705 Message TR0713 Message TR0716 Message TR0743 Message TR0745 Message TR0749 Message TR0750 Message TR0751 Message TR0752 Message TR0753 Message TR0800 Message TR0802 Message TR0803 Message TR0804 315 315 315 315 316 316 316 317 317 317 317 318 318 318 318 319 319 320 320 320 320 321 321 321 322 322 322 323 323 323 324 324 324 325 325 325 325 326 326 326 327 327 327 327 327 327 328 328 329

Step-by-Step Transformer 11

Table of Contents Message TR0805 Message TR0806 Message TR0807 Message TR0808 Message TR0809 Message TR0810 Message TR0811 Message TR0812 Message TR0813 Message TR0815 Message TR0816 Message TR0817 Message TR0900 Message TR0904 Message TR0906 Message TR0907 Message TR0914 Message TR0917 Message TR0919 Message TR1003 Message TR1005 Message TR1100 Message TR1101 Message TR1102 Message TR1106 Message TR1109 Message TR1304 Message TR1307 Message TR1308 Message TR1309 Message TR1310 Message TR1312 Message TR1319 Message TR1320 Message TR1340 Message TR1502 Message TR1503 Message TR1601 Message TR1700 Message TR1703 Message TR1900 Message TR1903 Message TR1907 Message TR2000 Message TR2001 Message TR2002 Message TR2306 Message TR2307 Message TR2308 329 329 329 329 330 330 330 331 331 331 331 332 332 332 332 333 333 333 333 334 334 334 334 334 335 335 335 335 336 336 336 336 337 337 337 338 338 338 338 339 339 339 340 340 340 341 341 341 341

12 IBM Cognos Series 7 PowerPlay Transformer

Table of Contents Message TR2312 342 Message TR2313 342 Message TR2314 342 Message TR2316 343 Message TR2317 343 Message TR2318 343 Message TR2319 344 Message TR2320 344 Message TR2321 345 Message TR2322 345 Message TR2323 345 Message TR2324 345 Message TR2325 346 Message TR2326 346 Message TR2502 346 Message TR2503 347 Message TR2504 347 Message TR2505 347 Message TR2506 347 Message TR2507 348 Message TR2508 348 MessageTR2509 348 Message TR2510 348 Message TR2600 349 Message TR2601 349 Message TR2605 349 Message TR2606 349 Message TR2608 350 Message TR2700 350 Message TR2701 350 Message TR2702 351 Message TR2703 351 Message TR2704 352 Message TR2705 352 Message TR2706 352 Message TR2707 352 Message TR2708 353 Message TR2710 353 Message TR2711 353 Message TR2712 354 Message TR2713 354 Message TR2714 354 Message TR2715 354 Message TR2716 355 Message TR2717 355 Message TR2718 355 Message TR2719 356 Message TR2720 356 Message TR2723 356

Step-by-Step Transformer 13

Table of Contents Message TR2724 Message TR2725 Message TR2726 Message TR2727 Message TR2728 Message TR2729 Message TR2731 Message TR2732 Message TR2733 Message TR2734 Message TR2735 Message TR2736 Message TR2737 Message TR2740 Message TR2800 Message TR2801 Message TR2802 Message TR2803 Message TR2804 Message TR3006 Message TR3010 Message TR3014 Message TR3101 Message TR3311 Message TR3439 Message TR3505 Message TR3619 Glossary Index 356 357 357 357 358 358 358 358 359 359 359 359 360 360 360 360 361 362 362 362 363 363 363 363 364 364 364

365

395

14 IBM Cognos Series 7 PowerPlay Transformer

Introduction
This document presents procedures, examples, best practices, troubleshooting tips, and other background information to help you create PowerCubes in Transformer, the OLAP modeling component used with PowerPlay. If you are new to Transformer, we recommend that you take the multimedia Quick Tour to become familiar with how PowerPlay works. Follow the tutorials in the Discovering PowerPlay and Discovering Transformer books, to gain a basic understanding of PowerPlay and its modeling component. You can then use this document to help you design and fine-tune your Transformer models.

PowerPlay Editions
Depending on your PowerPlay edition, portions of some topics may not apply to you. Click here (p. 15) for details on the features of Transformer in the various PowerPlay editions.

Features and Editions


The features and functionality of Transformer depend on your PowerPlay edition. You can't open a model if your version of Transformer does not support one or more of the features included in that model. For example, in Personal Transformer, you can't open a model that includes cube groups or access restrictions based on user class. To determine your edition, click About IBM Cognos PowerPlay Transformer (Help menu).

Personal Transformer (Series 7 PowerPlay User and IBM Cognos 8 Business Intelligence Mobile Analysis 8.1 Windows)
You can store a cube in Local format use multiple data sources for your model use a variety of source types create a single cube based on a model use MDL to maintain models

The interface has the following characteristics: The Access Manager Administration tool is not available; you must use Configuration Manager to configure your default authentication source. There is no Server menu. The Model property sheet has no Server or Authentication tab.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

15

Introduction The Source tab (Data Source property sheet) has no Data Source Location box and the General tab has no Enable Multi-Processing check box. The PowerCube property sheet has no Dimensions or Cube Group tabs. The Processing tab (PowerCube property sheet) has no Cube Creation or Processed boxes and the Output tab has no Password box. The Diagram menu does not have the Cloak, Apex, or Summarize options and the User Class tab in the diagram is not available.

Transformer for Windows (Series 7) and IBM Cognos 8 Business Intelligence OLAP Modeler 8.1 (Windows)
You can perform all the functions possible with Personal Transformer. In addition, you can create multiple cubes (groups) based on a model create cubes tailored for widespread distribution by using dimension views and user class views create cube groups take advantage of your computer's multiple processors to improve retrieval performance

The interface has the following characteristics: There is no Server menu. The Model property sheet has no Server tab. The Processing tab (PowerCube property sheet) has no Processed box. The Source tab (Data Source property sheet) has no Data Source Location box.

Transformer for UNIX (Series 7) and IBM Cognos 8 Business Intelligence OLAP Builder 8.1 (UNIX)
These editions support the processing, storage, and maintenance of cubes from the UNIX command line using the rsserver executable. In addition to including all the documented interface items, the Series 7 Transformer for UNIX server supports automatic synchronization between Windows and UNIX server operations. For more information, see the Transformer for UNIX guide. Note: Some Asian languages are not supported by IBM Cognos Impromptu, IBM Cognos Impromptu Web Reports, and IBM Cognos Visualizer.

Finding information
To find the most current product documentation, including all translated documentation, access one of the IBM Cognos Information Centers at http://publib.boulder.ibm.com/infocenter/cogic/ v1r0m0/index.jsp. You can also read PDF versions of the product release notes and installation guides directly from IBM Cognos product disks. 16 IBM Cognos Series 7 PowerPlay Transformer

Introduction

Samples disclaimer
The Great Outdoors Company, GO Sales, any variation of the Great Outdoors name, 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.

Step-by-Step Transformer 17

Introduction

18 IBM Cognos Series 7 PowerPlay Transformer

Chapter 1: Use the Interface


Property Sheets
Each object defined in a Transformer model (such as a level in the dimension map, a category in the category viewer, or an item in a list) has properties that you control or specify from that object's property sheet. To open the property sheet for a model object, you can select the object, and then from the Edit menu, click Properties select the object, then right-click and select Properties double-click on the object

You can get What's this? help for any element in a property sheet by clicking the Question Mark in the top right-hand corner of the dialog box (not the toolbar) and then clicking the item for which you want help .

Lists
Most objects that you work with in Transformer appear in lists. You can use these lists to add, move, or delete model objects, or to quickly open the associated property sheet. The Data Sources, Measures, and PowerCubes lists appear below the dimension map when you create a new model. If the following are enabled for your model, they may also be selected from the View menu: User Classes Signons

Pop-up Menus
Nearly every menu command is available from a pop-up menu, which you can open by selecting an object and right-clicking. You can open pop-up menus for all objects in lists, diagrams, and the dimension map. You can also open pop-up menus from within certain property sheets, the Dimensions tab (PowerCube property sheet), for example. If you choose multiple objects of the same type (for example, multiple categories in the category viewer), you can apply pop-up menu commands to several objects at once.

Work with the Dimension Map: Overview


The dimension map is a table that shows all dimensions in the model, and the levels they contain. It is the working area where you see your model taking shape. Use it to plan the structure of your multidimensional cube, including a time dimension that contains the relevant divisions in the calendar or fiscal year, such as Quarter, Week, and Day, generally derived from a single column in your data source

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

19

Chapter 1: Use the Interface alternate drill-down paths, to support analysis by different attributes, such as product type or supplier manually added levels (for example between Region and State) so you can more accurately allocate measures associations between levels and transaction values (such as Quantity Sold) for multiple data source models

The dimension map consists of a dimension line, where you add dimensions, and levels for each dimension. Tip: Use the AutoDesign command (Tools menu) to build a preliminary dimension map based on your source data.

Add or Delete a Dimension


You can use the dimension map to add or delete dimensions in your model. When you use the dimension map, the selected part of the dimension line becomes the insertion or deletion point. To change the position of a dimension, drag it to another location on the line. You can drag a column from the Data Sources list onto the dimension line or Dimensions list to create a new dimension. The new dimension contains a single source level based on the column.

Steps to Add a New Dimension


1. On the dimension line, select the dimension to the right of where you want the new dimension to go, or the empty space to the right of the last dimension. 2. From the Edit menu, click Insert Dimension.

Steps to Delete a Dimension


1. On the dimension line, select the dimension that you want to delete. 2. From the Edit menu, click Delete Dimension. Note: If the dimension contains categories, you are prompted to confirm the deletion.

Add or Delete a Level


To add a level to a dimension in your model, you can use the Insert command (Edit menu), or drag a column from the Data Sources list to the dimension map. If you use the menu command, a manual level is automatically created. If you want to change the manual level to a source level, open the Level property sheet and set the Associations. If you insert a level by dragging the corresponding column to the dimension map, a small box indicates where it will be dropped. In this example, the box indicates that the new level will appear below the level Brand.

20 IBM Cognos Series 7 PowerPlay Transformer

Chapter 1: Use the Interface

This box indicates that the new level will appear between the existing levels Line and Item.

This box indicates that an alternate drill-down path will be created with Item as the convergence level.

Steps to Add a Level


1. In the dimension map, select the level above which you want the new level to appear. 2. From the Edit menu, click Insert Level.

Steps to Delete a Level


1. In the dimension map or category viewer, select the level that you want to delete. 2. From the Edit menu, click Delete Level.

Show Measure or Data Source Scope


If you use multiple data sources or measure allocation in your model, you can check the relationships between various levels in the dimension map by using the Show Scope option. This applies to both data sources and their measures. For more information, see "View the Scope of a Data Source" (p. 40) and "View Measure Scope" (p. 116). You can also open the Scope dimension map from the pop-up menu for an individual data source or measure.

Steps
1. With the dimension map open, click Show Scope (Edit menu). 2. Click the Measures or Data Sources option and select the measure or data source whose scope you want to see. Tip: You can perform the same actions from the Scope dimension map as you can from the default dimension map, such as adding a new dimension. 3. To change from the Scope dimension map back to the default map, click Show Scope a second time.

Step-by-Step Transformer 21

Chapter 1: Use the Interface

Show Category Counts


When you select Show Counts (Edit menu), the dimension map changes to show the number of regular categories in each level, which appear within parentheses, following each level name the number of other categories in each dimension (that is, drill categories, root categories, special categories and categories in subdimensions), which appear within parentheses, below the dimension names in the dimension line the total number of categories in each dimension, which appear within parentheses, beside each dimension name on the dimension line on the toolbar.

You can also show category counts by using the Show Category Counts button

Steps
1. With the dimension map open, from the Edit menu, click Show Counts. The dimension map shows the number of categories in each level, and the totals for each dimension. 2. To hide category counts, click Show Counts again.

Work with Diagrams: Overview


When you select Show Diagram in the Diagram menu, or click its toolbar the left pane shows all the dimensions and dimension views in your model, in a tree structure the right pane, or category viewer, shows all the levels and categories in the selected dimension if user classes are enabled for your model, the User Class tab shows a list of authenticated user classes enabled for the model, in a Series 7 namespace-type tree structure

You can access the main menu, toolbar buttons, and pop-up menus from any pane and use these controls to fine-tune your model. For example, you can expand or collapse folders, to show or hide details zoom in and out, with the font size changing automatically to suit the degree of magnification access the associated property sheet by double-clicking an item add or delete one or more categories or levels use the Show Reference command to show the origins of a level move one or more categories, provided the Order By feature is not specified for the level exclude or suppress a level define a set of levels or categories, and apply one or more operations or calculations to them

22 IBM Cognos Series 7 PowerPlay Transformer

Chapter 1: Use the Interface

Notes
If you add a special or manual category with descendants, ensure that they do not conflict with other categories in the model, or destroy level uniqueness. See "Connect a Category to Descendants" (p. 23). For additional task-related information, see "Add Source Levels to a Dimension" (p. 63). To learn the basic modeling skills, complete the introductory tutorials in the Discovering Transformer tutorial. Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Connect a Category to Descendants


When Transformer generates categories for your model, it automatically connects them to their descendants. If you add a special category, you can manually connect one or more descendant categories to it. In the category viewer, when you drag the mouse pointer to link a descendant to its parent category, the connecting line appears dynamically, showing you where a valid connection can be made. You can connect categories to descendants at levels above or below the existing category level, but not to descendants at the same level.

Steps
1. In the category viewer, position the mouse pointer over the right side of the root category, or any manual or special category that you want to link descendants to. 2. When the pointer changes to a cross-hair, click the left mouse button, drag a connection to the right, and then release the mouse button when it is no longer positioned over any existing categories (for a brand new descendant category), or when it is positioned on the descendant. 3. Set the properties for the newly connected descendant as required.

Customize Menus
You can create your own menus and add the commands you need. When you change default menus or create new ones, the changes are stored in an .mnu file, which is updated each time you make a change. Customized menus appear only when a report is open.

Steps
1. From the Tools menu, click Customize. 2. Click the Menus tab. A list of menu commands appears in the Available Commands box. The Menu Layout box shows the current menu structure. Step-by-Step Transformer 23

Chapter 1: Use the Interface 3. You can do any of the following.

Goal

Action

Add menus, submenus, menu separat- Drag what you want to add from the Available ors, or menu commands Commands box to the Menu Layout box. Show only those menu commands found on a specific menu In the Category box, click the name of the menu. For example, click File to show only those commands found on the File menu. Rearrange menu commands In the Menu Layout box, drag menu commands from one menu to another. In the Menu Layout box, click the menu or command and then click Remove. Change the name of a menu command In the Menu Layout box, click the menu command. Under Item Properties, in the Name box, type a new name. Change the shortcut key combination In the Menu Layout box, click the menu comof a menu command mand. Under Item Properties, in the Shortcut box, enter a new combination of keys. If a combination of keys is currently assigned to another menu command, a message will appear in the message pane that the shortcut is in use. Create a menu accelerator key In the Menu Layout box, click the menu command. Under Item Properties, in the Name box, type an ampersand (&) and the name of the menu command. For example, &New makes N the accelerator key.

Delete a menu or menu command

4. Click OK.

Tips
You can add a separator line between groups of related commands to organize a menu. To restore the default menus, click the Reset button.

24 IBM Cognos Series 7 PowerPlay Transformer

Chapter 1: Use the Interface

Set Up a Launch Menu Command


You can add a launch command to any menu. You can configure each launch menu command to run a different program or macro.

Steps
1. From the Tools menu, click Customize. 2. Click the Menus tab. 3. Click New. The New Launch Item dialog box appears. 4. In the Name box, type a name for the launch menu command. 5. In the Description box, type a tooltip for the menu command. 6. In the Type box, click Macro or Application. 7. In the Command box, browse to the location of the macro or application. 8. In the Parameters box, enter any parameters you want to add to the macro or program. 9. If you want to minimize the current window when you run the program or macro, select the Minimize Application Before Launching check box. 10. Click OK. Tip: To edit a launch menu command, click it in the Menu Layout box, then click Modify.

Customize Toolbars and Buttons


You can show, hide, create, delete, and modify toolbars. Any changes you make are stored in an initialization file on your computer, for the current user.

Show or Hide Toolbars


You can show or hide toolbars so that you see only what you need.

Steps
1. From the Tools menu, click Customize. 2. Click the Toolbars tab. A list of toolbars appears in the Available Toolbars box. 3. Select the check box beside each toolbar that you want to appear. Tip: You can remove a toolbar from the Available Toolbars box by clicking the toolbar name, and then clicking Remove. 4. Click OK. The settings are saved for your computer. Step-by-Step Transformer 25

Chapter 1: Use the Interface Tip:To show tooltips for each toolbar, select Show Tooltips.

Create a Custom Toolbar


You can create a custom toolbar that contains only the tools you need.

Steps
1. From the Tools menu, click Customize. 2. Click the Toolbars tab. 3. Click New. 4. In the Toolbar Name box, type a name for the toolbar. 5. In the Initial Location box, click a default location for the toolbar. 6. Click OK. The name of the new toolbar appears in the Available Toolbars box. You can now add buttons to the new toolbar. Tip:To reset the toolbars to the default settings and delete any custom toolbars, on the Menus tab, click Reset. You can also reset the toolbars by deleting the tbinfo.ini file or moving it to another folder.

Customize Toolbar Buttons


You can change the buttons on a default toolbar or add buttons to a custom toolbar. You can also remove buttons from any toolbar. To learn what a button does, select its name in the Available Buttons box, then look under Button Description. For example, you are in charge of imports for a governmental department. You regularly distribute reports to offices in Great Britain, which requires that you convert your reports so that they use British pounds. You want to customize your toolbar by creating and adding a Currency button.

Steps
1. From the Tools menu, click Customize. 2. Click the Toolbar Buttons tab. 3. Drag the buttons you want to add from the Available Buttons box to a toolbar. Tips: To change the selection of buttons use the Category box. For example, click File to show only those buttons found on the File toolbar. To add a space between buttons, add a separator button (found under the Miscellaneous category).

4. Drag the buttons you want to remove off an existing toolbar.

26 IBM Cognos Series 7 PowerPlay Transformer

Chapter 1: Use the Interface 5. Click OK. Tip:To return to the original settings, click Reset on the Toolbars tab.

Set Up a Launch Button


You can add up to 64 launch buttons to a custom toolbar. You can configure each button to run a different program or macro. For example, you are the manager of a government department. You keep the data source files for your reports in Microsoft Excel spreadsheets. While reviewing your reports, you want to look at your data source files. You customize your toolbar to run Excel directly from PowerPlay, Impromptu, or Transformer.

Steps
1. From the Tools menu, click Customize. 2. Click the Toolbar Buttons tab. 3. In the Category box, click Miscellaneous. The buttons in the Miscellaneous category appear in the Available Buttons box. 4. Click Toolbar Launch Button, and drag it to a toolbar. 5. Double-click the new launch button. The New Launch Item dialog box appears. 6. In the Name box, type a name for the launch button. 7. In the Description box, type a brief description of what the button does. The tooltip appears when you pause the pointer over the button. 8. In the Type box, click Macro or Application. 9. In the Command box, browse to the location of the macro or program. 10. In the Parameters box, enter any parameters you want to add to the macro or program. 11. If you want to minimize the current window when you run the program or macro, select the Minimize Application Before Launching check box. 12. In the Image box, click the image you want to appear on the new launch button. 13. In the Path box, browse to the location of the button image. 14. Click OK. Tip:To change the settings of a launch button, ensure the Customize dialog box is closed, and Ctrl+click the launch button and then make changes in the Modify Launch Item dialog box.

Step-by-Step Transformer 27

Chapter 1: Use the Interface

Distribute Custom Menus and Toolbars


You can distribute custom menus and toolbars to other users. Toolbars are stored in the tbinfo.ini file, and menus are stored in the menuinfo.mnu file in the following location:
<installation_dir>\Documents and Settings\<user_id>\Application Data\Cognos\ cern\<filename.exe>.

For example, if you are running Impromptu you would find tbinfo.ini and menuinfo.mnu in the following location:
<installation_dir>\Document Settings\<user_id>\Application Data\Cognos\cern\impadmin

Example
You are the director of a government department that oversees transportation policy. You worked closely with your systems analyst to build customized menus and toolbars that suit your departmental needs. You want to distribute these menus and toolbars to others in your department.

Steps
1. Place a copy of the files that contain the settings for the custom toolbars and menus in a location that users can access. 2. From the Tools menu, click Customize. 3. Click Load. 4. Browse to the location of the tbinfo.ini file or the menuinfo.mnu file to be imported. 5. Click OK. The custom menus or toolbars appear. Note: Users cannot import a configuration file created in PowerPlay 7.0 RTM and previous versions. You must run PowerPlay with the old settings and click Save As to save the settings in a new initialization file.

28 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model


Transformer models contain definitions of dimensions, levels, and measures. They may also contain dimension views, user classes, user class views, and other authentication-related information. When "populated" with data drawn from one or more named data sources, models also contain multidimensional cubes or cube groups that Transformer creates for reporting in Series 7 PowerPlay or the IBM Cognos 8 Web studios. You can store your models as files with the extension .mdl (exportable ASCII) or .py? (binary form), where the final character represents the version of Transformer used to create the model. Data sources may be structural or transactional: Structural data sources contain the columns that define the model structure: the categories in each dimension. They likely contain many columns, but few rows. Transactional data sources contain the columns for the measures to be tracked. They likely contain few columns, typically only one for each dimension and one for each measure, but many rows.

Although the resulting model may be inefficient, a source can contain both structural and transactional information.

Guiding Principles
When setting up data sources if possible, design your data so that one source provides the structural information for each dimension if your data sources mix transactional and structural data, place the primarily structural ones first, and optimize processing efficiency by using Generate Categories from the Selected Data Source option (Run menu) ensure that each source contains enough information to generate the categories for a dimension without database joins, or join queries from separate database tables by using access tools such as IBM Cognos Series 7 Impromptu or IBM Cognos 8 Framework Manager, before you import the data into Transformer

Notes
Models based on multiple data sources are supported by all editions of PowerPlay and Transformer. In Series 7 Transformer, you may implement password-protected cubes, but other means of controlling access to information may or may not be supported, depending on your PowerPlay edition. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

29

Chapter 2: Get Your Data into the Model

Create a New Model


Every cube that you access in PowerPlay is based on a model. Creating a new model involves specifying the data sources for the model defining the dimensions, levels, and measures in a Series 7 model defining cube objects that use the content of the model to create cubes (optional)

To create a new copy of an existing model, use the Save As command (File menu). Transformer prompts you to save a copy of your model in binary (.py?) or ASCII text (.mdl) format. Use the .mdl format when exporting models, or when you have made a lot of changes since your last save action, to avoid possible fragmentation problems. It is good design practice to periodically save your models in .mdl format. Also, you should regularly use the Check Model command (Tools menu) to help you diagnose and resolve any problems in your model design.

Steps
1. From the File menu, click New to open the New Model wizard. 2. Enter a name for your model in the Model Name box, click Next, enter the name of your initial data source in the Data Source Name box, select a Source Type from the list, and click Next. 3. If you plan to control data access by means of user class authentication, select the Include Security in this Model check box. 4. Depending on your edition and selected data source, Transformer shows different options. Enter the parameters that correspond to your requirements. For example, if your source is an Excel database, you must provide the named range of cells from the Excel worksheet. 5. On the last page of the wizard, select Run AutoDesign to have Transformer create a preliminary structure for you; or clear this check box to design the model yourself. 6. When you have entered all of the required information, click Finish. Transformer opens a new model based on your specified source, and shows you information about the source data: If you selected the Run AutoDesign option, you see your source columns in the Data Sources list, some "best guess" dimensions and levels in the dimension map, and numeric columns in the Measures list. If you cleared the autodesign option, you see the Data Sources list, but all remaining windows are blank. Note: You can use the Data Source Viewer to display sample data and the SQL from your data source. Click on the Data Source Viewer button in the toolbar to start the Data Source Viewer.

30 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model

Import an Existing Model in MDL Format


If you have been using a previous version of Transformer, you must save existing models in Model Definition Language (.mdl) format and then import that file directly into Transformer. When the .mdl file is imported into the current version of Transformer, equivalent definitions are created for all model objects. When importing .mdl files from earlier Transformer versions, bear in mind that some features may not convert. Be particularly careful of user class views based on namespaces administered by Access Manager, and legacy data that contains special characters, spaces, or quotation marks.

Steps
1. Open the model in the earlier version of Transformer and, from the File menu, click Save As. 2. In the Save as Type box, click Exported Model Files (*.mdl). Note: You can set the default location in which Transformer saves models by changing the Models directory in the Directories tab (Preferences dialog box). 3. In the current version of Transformer, open the resulting .mdl file. 4. For production use, save the converted model in binary (py?) format. Otherwise, resave it as .mdl.

Add a Data Source to an Existing Model


When starting a model using the New Model wizard, you can only specify one data source. The first data source you specify should be a large structural data source containing columns that define the key dimensions (and hence the structure) of your model. You can then use the Insert Data Source command to open the New Data Source wizard, and add any other sources required for your model. Ensure that each data source has a unique name.

Notes
If you normally work in a server environment, you should create a prototype model locally, to start. To speed up the design and test phase, use only a portion of your source file. Depending on your edition, for more information, see the "Using Transformer in a Client-Server Environment" or "Building PowerCubes on UNIX" sections of the online help. If your model is based on more than one data source, you may want to allocate measures to other levels, based on a constant or another measure in your model. Allocation between data sources is supported by all editions of PowerPlay and Transformer. If you plan to control data access by means of user authentication, ensure that the Include Security in this Model check box is selected, and that your authentication source is appropriately configured in Access Manager.

Steps
1. Right-click in the Data Sources list of your model and select Insert Data Source.

Step-by-Step Transformer 31

Chapter 2: Get Your Data into the Model 2. In the New Data Source wizard, enter the name of the data source in the Data Source Name box, select a Source Type from the list, click Next and, in the Local Data File box, enter the name of the source file. 3. Depending on your edition and selected data source, Transformer shows different options. Enter the parameters that correspond to your requirements and then click Finish. For example, if your source is an Excel database, you must provide the named range of cells from the Excel worksheet. 4. Confirm that your selected items appear as expected in the Data Sources list.

Modify SQL
SQL, or Structured Query Language, is the standard query language for accessing relational database information. Modifying SQL can optimize, customize and refine queries. Modify the SQL in Transformer by using the Data Source Viewer.

Notes
This feature is only valid for .iqd files. After modifying SQL, the relationship between columns in your .iqd file and your model may be lost if: there is an expression in your SQL there is an input scale in your .iqd file the column names of the items below the END SQL line do not match with those column names in the SQL

Steps
1. From the View menu, click Data Source Viewer. 2. To open the SQL Modify window, click Modify. By default, the SQL Modify window opens on the SQL tab. 3. To make changes to the SQL, click in the SQL tab and make your changes. 4. To view your changes, click the Preview tab. 5. To close the SQL Modify window without saving your changes, click Cancel. 6. To save your changes, click OK.

Re-order the Columns and Data Sources


By default, columns appear in Transformer in the same order as they occur in the data source. You can re-order columns in the Data Sources list so that related columns appear together, without

32 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model affecting the processing of that source. The position of each column in the data row is specified in the column definition, regardless of where the column appears in the Data Sources list. If your model uses multiple date columns, you can specify which column sets the current period and then lock in that setting by clearing the Automatically Set Current Time Period option in the time dimension property sheet. Alternatively, you can automatically set the current period to the latest date overall by clearing the Sets the Current Period property for all data sources.

Steps
1. To re-order a column, drag it to the new position in the parent data source. 2. To re-order a data source, drag it to another position in the Data Sources list.

Set Up Currency Conversion: Overview


If your users need to see reports in more than one currency, you can add one or more data sources to your model to supply the necessary conversion rates. Transformer maintains the association with this external data in the Currency Table, and uses the information to make the correct conversions when cubes are viewed in PowerPlay. We recommend that as a best practice you always define a default currency for your data within your Transformer model. The currency information is stored at the same level of detail as appears in the time dimension of your model (by default, monthly). However, you can adjust this to a higher level (such as quarterly), if this meets your users' needs. When your PowerPlay users select the appropriate currency conversion command, the conversion rate for that time period is applied to the selected measures in the cube. Converted values are subsequently rolled up as specified in the Measure property sheet. For more information, see "Control How Measures Roll Up: Overview" (p. 108). The procedures you follow to set up currency conversion using external data sources depend on your situation. If you are converting to or from the currencies of European Monetary Union (EMU) countries, there are extra steps to follow. Also, if you use more than one data source to supply the conversion rates for the Currency Table, you must ensure that the column names match, so that the information combines properly in Transformer. To convert between the currencies of countries that are not members of the European Monetary Union (EMU), you follow a two-stage process: "Create a Base Currency Table" (p. 34) "Enable Currency Conversion" (p. 39)

To convert legacy data from one EMU country currency to another, we recommend that you follow the three-stage Euro triangulation process: "Create a Base Currency Table" (p. 34) "Create a Euro Currency Table" (p. 36) "Enable Currency Conversion" (p. 39)

Step-by-Step Transformer 33

Chapter 2: Get Your Data into the Model For simple models, you may want to manually create or update the Base and Euro Tables, instead of using external data sources to supply the currency conversion rates. See "Create or Update a Currency Table Manually" (p. 39). Note: All editions of PowerPlay and Transformer support models created from multiple data sources, so you can load conversion rates from external files, or manually create them in Transformer (whichever is easier).

Create a Base Currency Table


Unless you are converting to or from the currencies of European Monetary Union (EMU) countries, the Currency Table consists of one pane: the Base Table. Initially it shows the default currency of the country specified in the Locale setting of your operating system, such as US dollars. You can change this <Base default> to any other currency, including the euro. When you load a conversion table into a populated model, the data appears here.

Base Currency File


This comma-delimited sample currency file contains conversion rates for the first quarter of 1999. It includes the three mandatory columns (Date, Country Code, and Rate), as well as the optional Currency Label column. You can change rates marked with a pencil Initially, rates have a default value of 1.0000.
DATE,CURRENCY LABEL,COUNTRY CODE,RATE 19990101,Canadian Dollars,CAN,1.5223 19990201,Canadian Dollars,CAN,1.5184 19990301,Canadian Dollars,CAN,1.5146 19990101,British Pound,GBR,0.6072 19990201,British Pound,GBR,0.6057 19990301,British Pound,GBR,0.6042 19990101,Japanese Yen,JPN,113.4700 19990201,Japanese Yen,JPN,113.1863 19990301,Japanese Yen,JPN,112.9033

Rates are expressed as the amount by which you multiply a unit of the given currency to buy a unit of the base currency. In March 1999, 1 US dollar (base currency) cost 1.51 Canadian dollars, 0.60 British pounds, and 112.90 Japanese yen (sample rates, for illustration purposes only).

Notes
You should clear the Timing options in the property sheets for all currency data sources so that updates to the Currency Table do not interfere with category generation in the rest of your model. If you decide to leave all Timing options at their default settings, ensure that the names of the date columns for the base and euro currencies differ from the name of the column used to create your time dimension, and from each other. Otherwise, Transformer can't differentiate between them.

34 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model Check Model issues a warning if your model contains a Currency Table but none of the measures have currency conversion enabled. You can ignore this message, but currency conversion will not be available in PowerPlay. The Currency Symbols and Decimal Formats that appear in PowerPlay are determined by the Country Codes. You can override these defaults in the Currency Record property sheet.

Steps to Prepare Base Table Source Files


1. Create one or more source files to populate the Currency Conversion Table in your model. These files should contain columns for the dates to which the conversion rates apply (except for fixed EMU-entry rates) the codes for the countries to which the conversion rates apply the conversion rates, expressed as the amount by which you multiply a unit of the given currency to buy a unit of the base currency optionally, a label for the currency (if you don't specify a label, it is derived from the country code)

2. If you have a time dimension that doesn't contain unique levels, you must change it to contain unique levels. See "Create a Time Dimension Manually" (p. 77). 3. If categories have not been generated for the time dimension of your model, click Generate Categories from the Run menu. (Otherwise, you won't be able to see the details in the Currency Table until you create your cube.) 4. Add a data source to your model for each source file. See "Add a Data Source to an Existing Model" (p. 31). Note: If you create the time dimension from more than one data source, the date column names must match. 5. Double-click each source in the Data Sources list to open its property sheet, and click the General tab. Clear the Timing check boxes and the Sets the Current Period check box, or ensure that the conversion date column has a different name from that of the column used to create the time dimension. Click OK.

Steps to Create a Base Table


1. From the File menu, click Currency Table and select the Use an External Currency Data Source check box. 2. If you want to change the base currency, right-click the <Base Default> currency. Click Properties to open the Currency Record property sheet, change the Country Code, and click OK. Note: The <Base Default> currency is initially defined by the Locale setting of your operating system. Step-by-Step Transformer 35

Chapter 2: Get Your Data into the Model 3. Confirm that the Source Associations window shows the correct Date, Country Code, and Conversion Rate columns to populate the Base Table. If not, select Modify in the pop-up menu and make corrections. 4. Repeat Step 3 for the Currency Label column, if present. (This name may be derived from the Country Code.) 5. Click Load Table. If your model contains date categories, conversion rates are added as specified and the currency records are created. Note: Currency records are also generated when you generate categories or create a cube. 6. Follow the steps in "Enable Currency Conversion" (p. 39).

Create a Euro Currency Table


When you select the Use Euro Triangulation option to convert to or from the currencies of European Monetary Union (EMU) countries, the Currency Table appears as two panes. The left pane, or Base Table, initially shows the default currency of the country specified in the Locale setting of your operating system, such as US dollars or the euro. You can change this <Base default> to any other currency. When you load a conversion table, the data appears here initially. The right pane, or Euro Table, records the fixed conversion rates used to convert values to or from the national currencies of EMU countries by way of the euro. You can load this information into the table from an external data source that provides euro rates, or enter it manually.

Base and Euro Currency Files


These two comma-delimited currency files contain conversion rates for the first quarter of 1999, ready for loading into the Base Table and Euro Table, respectively. They include the three mandatory columns (Date, Country Code, and Conversion Rate), as well as the optional Currency Label column. You can change rates marked with a pencil icon. Initially, these have a default value of 1.0000. (After external rates are loaded, they cannot be manually updated). The data used in these examples is for illustrative purposes only. It is not accurate. To obtain official currency conversion rates for the euro, we recommend that you view the data available on the European Commission Web site at http://europa.eu.int/euro
DATE,CURRENCY LABEL,COUNTRY CODE,CONVERSION RATE 19990101,Canadian Dollars,CAN,1.5223 19990201,Canadian Dollars,CAN,1.5184 19990301,Canadian Dollars,CAN,1.5146 19990101,British Pound,GBR,0.6072 19990201,British Pound,GBR,0.6057 19990301,British Pound,GBR,0.6042 19990101,Japanese Yen,JPN,113.4700 19990201,Japanese Yen,JPN,113.1863 19990301,Japanese Yen,JPN,112.9033 EURO DATE,EURO CURRENCY LABEL,EURO COUNTRY CODE,EURO CONVERSION RATE

36 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model


0,Austrian Schilling,AUT,13.7603 0,Belgian Franc,BEL,40.3399 0,Finnish Markka,FIN,5.94573 0,French Franc,FRA,6.55957 0,German Deutsche Mark,DEU,1.95583 0,Italian Lira,ITA,1936.27 0,Dutch Guilder,NLD,2.20371 0,Spanish Peseta,ESP,166.386 19990101,U.S. Dollar,USA,1.16741 19990201,U.S. Dollar,USA,1.17028 19990301,U.S. Dollar,USA,1.17330

Rates are expressed as the amount by which you multiply a unit of the given currency to buy a unit of the base currency. In March 1999, 1 US dollar (base currency) cost 1.51 Canadian dollars, 0.60 British pounds, and 112.90 Japanese yen. 1 euro cost 6.56 French francs (fixed) or 1.17 US dollars (sample rates, for illustration purposes only).

Conversions Requiring Euro Triangulation


During the transition period when EMU-member countries carry two legal tenders, special rules apply for conversion to and from the national currencies. To be euro compliant, all rates must be expressed in terms of the euro. Values must be converted from the original currency to the euro, and then from the euro to the target currency, with rounding to the specified precision occurring at each step. The required multiplication, division, and rounding operations are carried out automatically in PowerPlay. Use one or more data sources for the Base Table, with identical column names, to supply the conversion rates for non-member countries, and for member countries prior to their EMU entry. Use another data source, with different column names and a zero date, for your Euro Table. Or, manually type in the fixed rates on entry into the EMU. In Transformer, ensure that all source dates are sorted in ascending order, and that all date levels are set to Unique. Remember that you can't change externally supplied rates, after they have been imported into your Currency Table. Fixed rates are those not marked with a pencil icon .

Notes
If you use euro triangulation, the date column in your data source must be sorted in ascending order. You should clear the Timing options in the property sheets for all currency data sources so that updates to the Currency Table do not interfere with category generation in the rest of your model. If you decide to leave all Timing options at their default settings, ensure that the names of the date columns for the base and euro currencies differ from the column name of your time dimension, and from each other. Otherwise, Transformer can't differentiate between them. Check Model issues a warning if your model contains a Currency Table but none of the measures have currency conversion enabled. You can ignore this message, but currency conversion will not be available in PowerPlay.

Step-by-Step Transformer 37

Chapter 2: Get Your Data into the Model An EMU Entry Date is automatically specified for the euro (as the default currency in the Euro Table). Conversion rates created for the <Base Default> currency before that date are set to zero. They appear as "NA" in Transformer, and as zero in Model Definition Language (MDL). Any use of zero as a conversion rate causes the data to which that rate applies to be treated as missing in PowerPlay. The Currency Symbols and Decimal Formats that appear in PowerPlay are determined by the Country Codes. You can override these defaults in the Currency Record property sheet.

Steps to Prepare Base and Euro Table Source Files


1. If you have not already done so, create Base Table source files and load them into the Base Table. See the first two steps in "Create a Base Currency Table" (p. 34). 2. Create one or more source files to populate the Euro Table portion of your Currency Conversion Table. Each of these files should contain a date column; for each EMU-member country, insert a zero value for the date; for countries that are not EMU members, add one row for each time period in which conversion rates apply, and insert the correct date a country code column, to identify the countries to which the conversion rates apply; if the country already appears in the Base Table, the code must be identical to that used in the Base Table the conversion rates, expressed as the amount by which you multiply a unit of the currency to buy one euro optionally, labels for the currencies (if you don't specify a label, it is derived from the country code)

Your file should appear similar to the second sample in the topic "Create a Euro Currency Table" (p. 36). 3. Add a data source to your model for each source file. Note: If you use more than one source file to populate the Euro Table, their column names in your model must match. Ensure that column names specified for euro conversion differ from those specified for the Base Table. 4. Double-click each source in the Data Sources list to open its property sheet, and click the General tab. 5. Clear the Timing check boxes and the Sets the Current Period check box, or ensure that the conversion date column has a different name from that of the time dimension. Click OK.

Steps to Create a Euro Table


1. From the File menu, click Currency Table and select the Use Euro Triangulation check box.

38 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model 2. Confirm that the data source Associations window shows the correct Date, Country Code, and Conversion Rate columns to populate the Euro Table. If not, select Modify in the pop-up menu and make corrections. 3. Repeat Step 2 for the Currency Label column, if present. (This name may be derived from the Country Code.) 4. For each country that is an EMU member and will appear in the Euro Table, perform the following steps: Right-click the country in the Base Table and click Properties to open the Currency Record property sheet. Select the Member of the Economic and Monetary Union (EMU) check box. Accept the Default Entry Date (19990101) or type a different date, and then click OK. Respond to the warning message about changing the date level by clicking Yes. 5. Click Load Table. The Euro Table box is populated with the rates for EMU countries and any non-EMU <Base Default> countries. Respond to the warning message about overwriting entries by clicking OK. Note: The fixed rate on EMU entry (zero date) is marked by a special icon. Rates for the nonEMU <Base Default> currency also appear. 6. Follow the steps in "Enable Currency Conversion" (p. 39).

Enable Currency Conversion


Sometimes your external data sources provide currency conversion rates at greater levels of detail than are needed by your PowerPlay users. By default, Transformer applies conversion rates to the lowest level of detail in the time dimension (typically, at the Month level). However you can change this setting to a summary level, such as Quarter, in the Currency Record property sheet.

Steps
1. To specify the level in the time dimension to which the conversion rates apply, right-click each currency in the Base Table or Euro Table in turn. Click Properties to open the Currency Record property sheet and change the Date Level property to the correct level. 2. Click OK, or click Load Table again, to update the Currency Table data. 3. Open the property sheet for each measure that requires currency conversion, and click Allow Currency Conversion (General tab).

Create or Update a Currency Table Manually


If your model design is simple and does not use external data sources to supply conversion rates, you can manually create and update the Base and Euro Currency Tables.

Step-by-Step Transformer 39

Chapter 2: Get Your Data into the Model If you used an external data source to create the initial Currency Table, but decide to maintain it manually, remember to clear the Use an External Currency Data Source check box before proceeding.

Steps
1. Right-click in the Base Table box, or the Euro Table box if applicable, and click Add New Currency. 2. In the Country Code box, select a code, set other properties as required, and then click OK. 3. Click the conversion rate that you want to change and make the required changes. 4. Repeat step 3 for every rate that you want to change. 5. Click OK.

Use Multiple Data Sources in Your Model: Overview


Models that use multiple data sources offer several advantages: Measure allocation. Transformer can take measures that are normally unrelated to some portion of the dimension map and allocate their values to those portions. For example, sales-tracking systems do not generally include information about staffing levels at each branch. However, by including a data source that provides this information, you can derive valuable information, such as the average sales per employee. Performance improvements. By splitting a single, large data source into smaller, partially normalized sources, you can shorten the processing time if the columns in all measure-containing sources are associated with unique levels in the model. This is because Transformer can associate such measures directly, without regard to their context in the level hierarchy. Integration of data from various sources. Models with multiple data sources can combine data from different departments or locations, even if they use different storage systems.

Notes
Models based on multiple data sources are supported in all editions of PowerPlay and Transformer. Transformer does not perform database joins between like-named columns. Rather, it associates the data values in each source with the categories that are generated from the columns. To create source data that joins database tables, use IBM Cognos Series 7 Impromptu, IBM Cognos 8 Framework Manager, or some other data access application.

View the Scope of a Data Source


Data sources may be associated with all, or a portion, of the dimension map. To make the proper associations, all column names related to the same level in the dimension map must match exactly, and the levels with which these source columns are associated must be either unique or fully qualified by one or more higher levels in the hierarchy.

40 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model Additionally, scope depends on the relationship of the source columns to the levels in the dimension map, as shown in the accompanying illustrations.

Level Derived Directly


The level takes its category values from a column in the source. For example, this source contains columns that provide category values for all levels.

Level Derived Indirectly


The source is not related to the level, but is related to descendants of the level. For example, this source contains a column that provides category values for the unique level Product No., but no columns for the ancestor levels. Product Type and Product Line may be manual levels, or their category values may come indirectly from columns in other data sources.

Level Derived from a Source with Missing Columns


The level cannot take its values from the source because the source lacks columns for ancestor levels, and the level is not unique. The source does not contain enough data to map column values to a level without knowing the entire context. For example, this source contains a column that provides category values for the level Product No., but not for the ancestor levels. The context of the Product No. categories cannot be ascertained because the level hasn't been declared unique.

Example
The following sources are used for a simple sales analysis model:

Step-by-Step Transformer 41

Chapter 2: Get Your Data into the Model The Go_sales source provides category values for levels in the Dates, Products, and Regions dimensions respectively. It also contains values for the Revenue, Cost, and Order Qty measures. The Forecast source contains planned revenue for each Product Line. Its YEAR and PROD_LINE columns are renamed to match their counterparts (Order Date and Product Line) in the go_sales source:

Because go_sales contains columns for all three dimensions, its scope covers all the dimensions:

However, the Forecast source contains columns associated with the highest levels of the Order Date and Product Line dimensions, but no columns for the descendant levels. Its scope is limited to Year and Product Line levels. Category values for lower levels in these dimensions come indirectly from the go_sales source:

Tips
You can manipulate a scope dimension map in the same way as a regular dimension map. The manipulations affect all open dimension maps. To see the scope, you can also use the pop-up menu in the dimension map or the Data Sources list.

42 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model You can change the default colors of the scope dimension map in the Dimension Map tab (Preferences dialog box).

Steps
1. In the Data Sources list, select the source whose scope you want to see. 2. From the Edit menu, click Show Scope.

Control When Transformer Reads the Source Data


In models with multiple data sources, you can control whether a source is read, and when: during category generation, during cube creation, or both. Use this capability to avoid unnecessary processing and to improve model efficiency. Three typical scenarios are as follows: After Transformer has read your purely structural data sources, and populated your model with data for the required category structure, you can change the timing so that these static categories are not regenerated every time you create the PowerCube. For your volatile structural data sources, set the timing to update categories every time you create the PowerCube. For transactional data sources, where the measure values are constantly changing, select the PowerCube Creation check box for the data source, and then the Default option below it.

Steps
1. Open the Data Source property sheet for the source file for which you want to control the timing. 2. Click the General tab. 3. In the Timing box, select the Generate Categories check box to query this source whenever categories are generated. 4. Still in the Timing box, select the PowerCube Creation check box, and then click the appropriate option to specify what occurs when cubes are created or updated: Default. Transformer reads any columns in the source that relate to levels in the model, to see if they are associated with measures. If the source is purely structural, the cube is not created or updated, and an error message is issued. Use this option in a production environment, for transactional data sources and structural data sources that contain non-static data. Generate Categories Only. Transformer only queries for structural information when the Create and Update Cubes command is invoked, but does not include measures from the source (if they exist). Create the PowerCubes. Transformer queries the source and creates or updates the cubes, even if the source lacks measures. Use this option in a design and development environment, to override any error messages associated with the Default option.

Step-by-Step Transformer 43

Chapter 2: Get Your Data into the Model 5. Click OK.

Use Local Data Sources: Overview


Transformer supports a wide range of local data sources: delimited ASCII (.asc) and comma-separated variable (.csv) files Impromptu Query Definition (.iqd) files, which can query local or server-based databases fixed-field text files local databases, including Microsoft Access, which can specify SQL queries against local or server-based databases, Clipper, dBase, FoxPro, and Paradox PowerHouse portable subfiles spreadsheet crosstabs and databases, including Excel and Lotus 1-2-3

Importing data is a two-stage process. First, you create the source files that Transformer will use, and then you add them to the Data Sources list. Models can use an unlimited number of sources or columns. However, Transformer does not perform joins between data files. Your sources must contain sufficient data to provide the necessary context for each drill-down path in the model.

Notes
For most local data sources, you can specify the character set used (DOS Code Page or Windows ANSI). Although Impromptu Query Definitions and Microsoft Access files are local sources, they can provide access to server-based data. For very large source files, .iqd files may provide better performance than Microsoft Access files when generating categories or creating cubes (more efficient passage of queries through the ODBC layer).

Use Spreadsheet Data Sources


You can use data from Lotus 1-2-3 or Microsoft Excel spreadsheets as source files, in either crosstab or database format. Before using a crosstab as a source, you must define one or more named ranges in the spreadsheet. These ranges determine which data will become columns in the model. When using a database as a source, you must define a named database range in the spreadsheet, and also specify that range in Transformer. Transformer reads the named ranges from the crosstab or database, and the Data Class (text, numeric, or date) for each cell value. For more information about how to define named ranges, see the documentation provided with your spreadsheet software.

Example 1
This example shows one page of a multipage crosstab.
A B C D E

44 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model

1 2 3 4 5 6 7 8

Glassware Division

Q1

Q2

Q3

Q4

Income - Net Sales Expenses - Salary Expenses - Rent

$10,000 $2,000 $800

$10,000 $2,000 $800 $700 $1,500 $5,000

$15,000 $2,500 $800 $600 $2,000 $9,100

$20,000 $2,500 $800 $600 $4,000 $12,100

Expenses - Advertising $600 Expenses - Production NET INCOME $1,500 $5,100

For this crosstab, the following ranges have been named (range names automatically become the columns in a Transformer model).

Name
Division Quarter Income

Range
A1 B1 .. E1 B3 .. E3

Name
Expense Expense Amount Net Income

Range
A4 .. A7 B4 .. E7 B8 .. E8

For a model requiring only the DIVISION, QUARTER, EXPENSE, and EXPENSE_AMT columns, Transformer reads all the expense types and expense amounts for each quarter and for each division.

Division
Glassware Glassware Glassware Glassware ... Glassware Glassware

Qtr
Q1 Q2 Q3 Q4

Expense
Expenses - Salary Expenses - Salary Expenses - Salary Expenses - Salary

AMT
$2,000 $2,000 $2,500 $2,500

Q1 Q2

Production Production

$1,500 $1,500

The Data Sources list shows the following:

Step-by-Step Transformer 45

Chapter 2: Get Your Data into the Model

Example 2
This example shows a simple spreadsheet database.
A 1 2 3 4 5 EMP_NO 0256 0141 0724 1290 B NAME Wilson, K. Barnes, J. Paul, N. Power, R. C DEPT TECHW DESIGN DESIGN DESIGN D SALARY $50,000 $60,000 $70,000 $80,000

The database has a named range.

Name
DataTable

Range
A1 .. D5

Transformer reads rows 1 to 5 in the range DataTable. The Data Sources list shows the following:

Notes
Range names from Lotus 1-2-3 that contain spaces are not valid. Replace the space with an underscore; for example, change a Lotus 1-2-3 range named "NET INCOME" to "NET_INCOME." Before generating any categories, Transformer verifies that the named range represented by each column in the model still exists in the spreadsheet, and that the spreadsheet still contains the same number of pages, rows, and columns as when you first identified it as a data source. If Transformer detects a difference, it issues a warning, and prompts you to use the Modify Columns command to add, modify, match, or delete columns. If the Data Sources list contains columns identifying named ranges that you don't need, you can delete them from the list without affecting the spreadsheet.

Steps
1. Right-click the Data Sources list and select Insert Data Source to open the New Data Source wizard. 2. In the Data Source Name box, type a name for the new source. 3. In the Source Type box, select one of the following:

46 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model Lotus 1-2-3 crosstab Excel crosstab Lotus 1-2-3 database Excel database

4. In the Local Data File box, type the file name of the spreadsheet file. 5. For a Lotus 1-2-3 or Excel database, select a range name from the Table or Range box. 6. When you have specified all of the required parameters, click Finish.

Use PowerHouse Data Sources


You can use a PowerHouse portable subfile as a data source for the model. This table shows how Transformer interprets the components of a PowerHouse portable subfile dictionary.

Portable subfile dictionary


Element Name Element Heading

Transformer model
Column Original Name Column Name (The PDL multiline character (^) is replaced by a space character.)

Item Datatype: - Character - Portable Zoned Data Class Text, and Size Data Class Unspecified (default); Measure Type 32-bit Integer Data Class Unspecified (default); Measure Type 64-Bit Floating Point Data Class Date; Date Input Format Predefined

- Portable Float

- Portable Date

Notes
Transformer ignores the PowerHouse dictionary attributes Output Scale and Decimals. Instead, columns generated from a portable subfile have the Output Scale and Decimal Places attributes initially set to zero. You can modify these attributes by using the Format tab of the Measure property sheet. Transformer presents integer and float data retrieved from PowerHouse portable subfiles according to .psd datatype. Integers stored as Portable Zoned in the subfile appear as signed, zero-filled numbers in Transformer. For example, the number 16, stored in Portable Zoned,

Step-by-Step Transformer 47

Chapter 2: Get Your Data into the Model Size 6 format, appears as +00016. Float data stored as Portable Float in the subfile appears in scientific notation. For example, the number 812,333.65, stored in Portable Float format, appears as +.8123336500000000000E+06. You can specify either the portable subfile dictionary (.psd) file or the data (.ps) file when pointing to a PowerHouse portable subfile.

Steps
1. Right-click the Data Sources list and select Insert Data Source to open the New Data Source wizard. 2. In the Data Source Name box, type a name for the new source. 3. From the Source Type box, select PowerHouse Portable Subfile. 4. In the Local Data File box, type the file name of the PowerHouse portable subfile. 5. Accept the default Character Set or specify an alternative, then click Finish.

Use Local Databases as Data Sources


Transformer uses the Microsoft ActiveX Data Objects (ADO) driver to access data from any of the following databases: dBase Microsoft Access Paradox FoxPro Clipper

Notes
You can use an Access Query that points to an ODBC data source as a means of getting serverbased data into Transformer. If you use an Access Query as a source, the columns that appear in the Data Sources list are the result of the SQL query run against the database. If you use Paradox tables with a sorting key other than ASCII (the default setting in the Jet engine for Paradox), before you import the tables you must include the .px file in the same location as the .db file, and you must change the following Windows Registry key to a value corresponding to the sorting key used when creating the table:
$HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Paradox\ CollatingSequence

48 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model Valid values are ASCII, International, Norwegian-Danish, Japanese, and Swedish-Finnish.

Steps
1. Right-click the Data Sources list and select Insert Data Source to open the New Data Source wizard. 2. In the Data Source Name box, type a name for the new source. 3. From the Source Type box, select one of dBase Table Access Table Access Query Paradox Table FoxPro Table Clipper Table

4. In the Local Data File box, type the name of the database table or query source file. 5. Select a Table or Range and a Character Set, as appropriate. 6. When you have specified all of the required parameters, click Finish.

Use Text Data Sources


Transformer can use plain text (ASCII) files stored in the following formats: Delimited-Field Text Delimited-Field Text with Column Titles Fixed-Field Text Fixed-Field and Record without CR LF

You should not rely on the file extension as an indicator of file type. Text files are often saved with a .txt file extension, or .asc or .csv if delimited-field, but they can also be saved with any other file extension, or no extension at all. If you use fixed-field text files you must define the columns manually, because Transformer has no information about how columns in the file are defined in the source file.

Steps
1. Right-click the Data Sources list and select Insert Data Source to open the New Data Source wizard. 2. In the Data Source Name box, type a name for the new source. 3. From the Source Type box, select one of the following:

Step-by-Step Transformer 49

Chapter 2: Get Your Data into the Model Delimited-Field Text Delimited-Field Text with Column Titles Fixed-Field Text Fixed-Field and Record without CR LF

4. In the Local Data File box, type the file name of the text file. 5. Accept the default Character Set or specify an alternative, enter any other required parameters, then click Finish.

Use .iqd Files to Access Server Data


If IBM Cognos Series 7 Impromptu is installed on your computer, you can use it to create Impromptu Query Definition (.iqd) files that Transformer can use to query both local and server-based databases. You can also use .iqd files with model queries defined in Framework Manager, the modeling tool used with IBM Cognos 8 Business Intelligence components. In Series 7, you can run Impromptu directly from Transformer to create new data sources by clicking the Impromptu button on the toolbar. After you have used Impromptu to create an .iqd file, you can query directly from Transformer. For an up-to-date list of the relational and nonrelational databases that Impromptu supports, visit IBM Cognos on the Web (http://www-01.ibm. com/software/data/cognos/). If you have the Series 7 Transformer UNIX edition installed, you can use .iqd files from UNIX servers. The server connection information on the client computer must match that on the server, or else Transformer on UNIX will not be able to read the database. Transformer embeds .iqd files that are used as data sources in the model. As a result, Transformer on UNIX can query the server database when it receives model information from Transformer on Windows.

Example
Some of the data required for a sales-tracking model is stored in an Oracle database on a UNIX server. Using Series 7 Impromptu, you query the ORDERS and ORDER_DETAILS tables, and save the Impromptu report as an .iqd file. Transformer can then use the information in the file to access data from the Oracle database. After you add the .iqd file to the Data Sources list, Transformer accesses data directly from the server when generating categories and creating cubes.

Steps
1. Create the report you want in Impromptu, and save it as an Impromptu Query Definition (.iqd) file. Note: Ensure that the .iqd file is not in crosstab format. 2. In Transformer, right-click the Data Sources list and select Insert Data Source to open the New Data Source wizard. 3. In the Data Source Name box, type a name for the new source. 4. From the Source Type box, select Impromptu Query Definition.

50 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model 5. In the Local Data File box, type the file name of the .iqd file. 6. Accept the default Isolation Level or specify an alternative, then click Finish.

Define Columns: Overview


Model columns must remain synchronized with their associated data sources. You create or delete columns, and examine or modify column properties, in the Data Sources list. Transformer uses source columns to build dimensions and measures in the model. A column in the model represents a column in the data source. The data column contains text, date, or code values that become the categories in your model, or numeric values that you select as measures (performance indicators) for your model. A data column can also contain values that will be used as alternate labels, short names, or textual descriptions for categories. For most of the supported source types, Transformer can automatically identify columns in the data source and assign default column names and properties. You can change the assignments later, if you like. If you create columns manually (as you must when using a fixed-field text file), you need to identify only those data columns that are used in the model.

Naming Columns
When an identically-named column appears in two or more data sources, Transformer can associate each column with a level that has its source column set to the common name. Transformer does not use matching columns to perform joins on the source files. Instead, it uses the common name to associate both columns with categories in the dimension map or with a measure. For example, suppose that you add an Order Header source and an Order Detail source, each containing a column called ORDER_NUMBER. Transformer cannot join an Order Header record with an Order Detail record to create a composite record describing a sales line in an invoice. However, Transformer can associate the values from both of these sources with a specific level in one of the dimensions in the model. To create and use a join between two columns, use a database query tool such as IBM Cognos Series 7 Impromptu or IBM Cognos 8 Framework Manager, before bringing the source data into the model.

Dates
To obtain date values for the categories in a time dimension, at least one data source must contain date values. You can set the absolute range of dates allowed in the model match the date format in the model to the format in the source file specify whether the measure values associated with these dates apply to some or all of the levels in the time dimension; see "Set the Degree of Detail for Dates" (p. 54).

In a model with multiple data sources, date columns may appear in several source files, and each column may relate to the same time dimension. For example, a sales-analysis model might contain one source file with order information (including the order date) and another with sales forecasts

Step-by-Step Transformer 51

Chapter 2: Get Your Data into the Model by time period. For Transformer to relate values from both of these sources to the time dimension, the columns that contain the date values in each source file must have the same name.

Calculated Columns
If you need more structural or numeric information in your model than is available from your source data, you may be able to add it by using calculated columns. See "Define a Calculated Column" (p. 61). Note: For all data types except fixed-field text, when you add a source file Transformer automatically creates the column definitions. For fixed-field text sources, you must describe the position and length, in bytes, of each column in the source file.

Define Columns in Fixed-Field Text Data Sources


When your data source is a fixed-field text file, you must define the columns by using the Column property sheet, because Transformer has no information about how columns in the file are defined. For example, in the following file, each record contains 38 bytes, representing five fields:
12345678901234567890123456789012345678 19990103Dishwashers 19990103Dishwashers 19990103Stoves 19990103Stoves White Chrome White Beige 02140330 02870335 04560508 03110388 <- Byte

The first field is an 8-byte numeric field giving the date of a transaction. The next 14-byte field indicates the product type, such as Dishwashers. An 8-byte field indicates the color of each item sold. The last 8 bytes store values for the measure fields Cost (4 bytes) and Revenue (4 bytes). The first record, therefore, represents a $330 transaction that occurred on January 3, 1999, involving a white dishwasher. If the source file is a fixed-field text type, you cannot use the Modify Columns command (Tools menu) to match the source to columns in the event that the structure of the source file changes. You must manually adjust the starting byte and width of each column on its property sheet. You can define overlapping columns or define a column that includes several other columns.

Steps
1. Right-click the Data Sources list, select Insert Data Source, and use the New Data Source wizard to add a fixed-field text source. 2. From the Edit menu, click Insert Column. 3. In the Column Name box, type a name for the new column. 4. In the Position box, type the starting position of the column in a record. The first byte in a record is byte number 1. 5. In the Size box, type the width of the column in bytes. 6. Set other properties for the column as required, and click OK. 7. Repeat steps 2 to 6 for each column in the source file. 52 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model

Scale Input Values


Sometimes, you may want to change the number of decimal places or significant digits in your measures: to better reflect what your PowerPlay users are expecting in their reports, for example, or to make calculations. Decimal values are read into the model based on a specified scale, defined as the source value multiplied by 10 raised to the power of the input scale. This scaling method allows Transformer to handle values without integer portions, such as .0003. To properly scale your input values, set the Input Scale property for the source column Output Scale property for the measure that uses the source column Decimal Places property for the measure that uses the source column

Example
A source file in comma-separated variable (.csv) format contains the following values:
DATE,CUSTOMER,PRODUCT_LINE,PRODUCT_TYPE,PRODUCT,QUANTITY,SALE_AMOUNT 19990603,GO Outlet Montreal,Outdoor Products,Tents,40100,5,600.55 19990604,GO Outlet Montreal,Outdoor Products,Tents,40101,2,189.90 19990604,GO Outlet Montreal,Outdoor Products,Tents,40102,1,129.95

To convert these decimal values to the appropriate integer values, without changing the results in the report, set the Input Scale for the column SALE_AMOUNT to 2; each value in the source is multiplied by 10 to the power of 2 (the input scale), to produce an integer value (600.55 becomes 60055, for example) Output Scale for the measure to match the Input Scale for the SALE_AMOUNT column; the measure value will be divided by 10 to the power of 2 (the output scale) when PowerPlay is run (the scaled value 60055 will revert to 600.55, for example) Decimal Places property for the measure to 2, so that the correct number of decimal places appears in the report (600.55 in our example)

Rounding does not occur when you scale numbers with Input Scale, Output Scale, and Decimal Places. For example, in scaling $1,792,485.86 to $X.X million, using an Input Scale setting of 0, an Output Scale setting of 6, and a Decimal Places setting of 1, yields $1.7 million, not $1.8 million. Note: In Transformer, regardless of the precision supported by the source database, the overflow limit for the 64-bit floating point storage type is 18 significant digits, excluding the decimal separator. If your measure values have more significant digits after the decimal place than is specified in the precision attribute of the model, the number is truncated and the last bit rounds up, rather than down.

Steps
1. Open the Column property sheet for the measure which you want to scale. 2. In the Input Scale box, type a value (the number of decimal places in the source data, for example), and click OK. Step-by-Step Transformer 53

Chapter 2: Get Your Data into the Model 3. Open the Measure property sheet. 4. In the Output Scale box, to maintain consistency between the source data and the measures in your reports, type a value that matches the Input Scale specified in step 2. Note: The Input Scale doesn't have to match the number of decimal places in the source data, nor does the Output Scale have to match the Input Scale. Enter values that make sense for your users and reporting needs. 5. In the Decimal Places box, type a value for the number of decimal places to appear in the report, and click OK.

Set the Degree of Detail for Dates


Often, values for certain measures in a model apply to time periods that are not at the lowest level in the time dimension. You can specify the actual degree of detail to which the date value applies in the model. The Degree of Detail that you set for a column must be supported by the date values stored in the associated column in your data source. For example, you cannot specify Day for the Degree of Detail if the date values are stored as YM only (for example, 199902). If a particular measure has meaning only to a certain level in the time dimension, you can allocate values for that measure to lower levels. See "Allocate Measures: Overview" (p. 115).

Example 1
In sales analysis systems, actual sales are typically derived from the invoice information that accumulates as orders are placed and filled. Each sales transaction has the date on which the order was filled. In contrast, sales forecasts are projected for months or quarters, not for days. Similarly, budgets for sales organizations are usually prepared by the month or by the quarter. You can use the Degree of Detail property to tell Transformer the level of detail to which forecasts and budgets apply in the time dimension.

Example 2
Sales figures are stored in the following format in the source:
WEEK,CUSTOMER,SALES_REP,TOTAL_SALES 19990208,Fresh Air Lte 4,Francoise LeBlanc,4977.99 19990215,Fresh Air Lte 4,Francoise LeBlanc,2955.85

Although the date values are specified in YMD format, the associated measure values are actually weekly sales summaries by sales representative. You can use the Degree of Detail property to tell Transformer to treat the sales figures as weekly rather than daily values.

Steps
1. Open the property sheet for the relevant date column, and click the Time tab. 2. In the Degree of Detail box, select the date level appropriate to the measure in the source. For example, if the source contains a measure that provides monthly forecast values, select Month.

54 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model

Use Monthly or Quarterly Time Arrays


If your transactional data is stored as quarterly or monthly values, but you generally roll up this information into yearly results, it may be more efficient to define the columns in your model as members of a time array, rather than as individual measures. A time array consists of four or twelve adjacent columns that contain quarterly or monthly values for one year. The data source or sources for the time array must contain at least one date column, in addition to the columns that represent the individual elements of the array. The value in the date column must be the same for all data in the array. To ensure that Transformer processes the array correctly, use the first month of your fiscal year as the date in your date column. This specifies the year-begin date for the year in which the array applies. You can define more than one array per model, either in one source file with all arrays the same type (quarterly or monthly), or in multiple source files, with one array type for each file (for example, a different array for each year of data). Use the same format in all date columns, and a different name for the first month or quarter in each array. When you create the model, clear the Run AutoDesign check box. Otherwise, all the measures appear in the Measures list before you have defined the array, and you must delete them before beginning the array definition. An array is treated as one object. If you delete any column that is a member of an array, Transformer automatically deletes all other member columns in the same array.

Example 1: Consolidated Quarterly Data for a Single-Source Model


In this example, the source data contains the total number of sales for each product by quarter. You can define the Q1, Q2, Q3, and Q4 columns as members of a time array.
DATE 199901 199901 199901 200001 200001 200001 PRODUCT Product1 Product2 Product3 Product1 Product2 Product3 Q1 100 100 75 110 125 125 Q2 200 175 100 210 200 150 Q3 150 150 100 160 175 150 Q4 400 350 100 420 375 150

The following results will appear in your OLAP report.

1999
Product1 Product2 Product3 TOTALS 850 775 375 2000

2000
900 875 575 2350

1999+2000
1750 1650 950 4350

Step-by-Step Transformer 55

Chapter 2: Get Your Data into the Model

Example 2: Monthly Data for a Multiple-Source Model


In this example, there is one data source for each year of data. Each contains the total number of items sold by retailer type (independents versus department stores), by month. You can define the Month01 column in each source as the first column in a twelve-member array. Rename the initial column names so Transformer can differentiate between the two; for example, you can change the initial column in the 2000 array to A2Month_01, to distinguish it from Month_01 in 1999. The consolidated data for Array 1 (1999 Months) is as follows:
PERIOD RETAIL TYPE 01 02 03 04 05.06.07 08 09 10 11 12 199901 Independent 05 06 07 05 04 03 06 04 08 02 01 09 199901 Department 10 13 07 05 14 15 06 15 08 12 10 05

The consolidated data for Array 2 (2000 Months) is as follows:


PERIOD RETAIL TYPE 01 02 03 04 05.06.07 08 09 10 11 12 200001 Independent 10 13 07 05 14 15 06 15 08 12 10 05 200001 Department 20 26 14 10 28 30 12 30 16 24 20 10

In your PowerPlay OLAP report, you can nested charts to show how many items were sold by each retailer type for the 12-month periods beginning 1999/01 and 2000/01. You can also show the totals sold by all retailers for each year, and for all years.

1999
Independent Department TOTALS 60 120 180

2000
120 240 360

1999+2000
180 360 540

Steps
1. Before importing any data into Transformer, ensure that your source file or files contain groups of contiguous columns (four columns for a quarterly array, 12 columns for a monthly array) a date column with the same value for all members in the array (generally the first month in your fiscal year)

2. Use the New Model wizard to add the source file or files to your model. Clear the Run AutoDesign check box or delete all objects in the Measures list, so you can begin the array specification process with a blank slate. 3. Double-click the first column that you want in the time array, to open its property sheet (for example, Month_01). 4. Click the Array tab. 5. In the Array Type box, click 4 Quarters or 12 Months. Transformer automatically changes the Data Class of the subsequent columns to Array Member. 56 IBM Cognos Series 7 PowerPlay Transformer

Chapter 2: Get Your Data into the Model 6. In the Date Column box, click the column containing the starting month of your fiscal year. This is the date column (generally the same value as the first month in the array, in YYYYMM format). 7. In the Start Month box, type the month in which the fiscal year begins (default: 1). 8. Click OK, and drag the column to the Measures list. 9. To add another data source, click the Data Sources list, click the Insert icon, and repeat steps 2 and 3. 10. In the Column Name box, enter a different name if required to distinguish this column from the first month or quarter in the previous array. Optionally, enter additional explanatory notes in the Description tab. 11. Repeat steps 4 to 8 to add this new array to your model. 12. After you specify all the arrays you want in your model and ensure that the Measures list contains the initial column of each array, click Check Model (Tools menu). 13. If there are no problems with your design, create the cube and confirm your results in PowerPlay. Tip: Use the Rename Label command (Edit menu) to provide more meaningful headings for your array columns.

Specify Date Categories in Two Centuries


If your source data represents date values using two-digit years, you must ensure that your data is incorporated correctly into your model. By default, Transformer interprets the years 00 to 19 as 2000 to 2019, and the years 20 to 99 as 1920 to 1999.

Example
You know that your source data contains date information in YYMMDD format for the years 1980 to 2020. When you generate categories for your model, you see that your date categories stop at the year 2019.You want to modify the way the categories are generated so that the dates extend to 2020, as reflected in your source data. To solve this problem, open your Trnsfrmr.ini file and reset the CenturyBreak option to the last two digits of the first year that you want to appear in the earlier century (80, in this example). Years 80 or higher will be generated in the 20th century (1980-1999). Years less than 80 will be generated in the 21st century (2000-2079). Tip: To show an overlapping span of date ranges in both centuries (1900 to 1999 and 2000 to 2020, for example), you must convert your source data to the four-digit (YYYY) date format.

Steps
1. Open your Trnsfrmr.ini file. 2. Find the CenturyBreak entry. If you can't find the entry, then it is set to the default. By default, Transformer interprets the years 00 to 19 as 2000 to 2019, and the years 20 to 99 as 1920 to 1999. Step-by-Step Transformer 57

Chapter 2: Get Your Data into the Model 3. Modify or create the CenturyBreak entry to match the date values in your data source. Type the following:
CenturyBreak=xx

where xx is the last two digits of the first year that you want to have appear in the earlier century. 4. Save the Trnsfrmr.ini file. 5. Close and restart Transformer so that your changes take effect.

58 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions


A dimension is a hierarchical structure that represents a major segment of your business information. For example, in a PowerPlay model for sales analysis, you might include these dimensions: Dates of Sales (Time) Locations of Sales (Region) Product and Purchase Details (Products) Customer Information (Customers)

Each dimension consists of one or more drill-down paths that typically contain several drill-down levels. The time dimension may consist of the years, quarters, months, weeks, and days when sales were made. The Locations of Sales dimension may be grouped into regions, states, and cities. The Products dimension may organize your sale items by type, brand, model, color, and packaging. By organizing your data into hierarchies, you can analyze results at various levels of detail.

Where Dimensions Appear


In Transformer, dimensions appear in the dimension map and the dimensions pane of the diagram. From either of these two locations, you can manipulate the dimensions or their component categories in various ways, or open the relevant property sheets. In PowerPlay, the cube dimensions appear on the dimension line and in the dimension viewer. By making selections from either of these locations, users can explore the cube and analyze its measures.

Alternate Drill-Down Paths


Some model designs allow users to drill down to data by more than one path. The dimension has a primary drill-down path and one or more alternate drill-down paths, each of which contains one or more levels. For example, a Regions dimension allows drilling by two distinct paths: Region, State, and City, or Branch and City. These alternate drill-down paths converge at the City level.

Process
You can create dimensions by using AutoDesign, in which case the dimensions are structured for you based on patterns and relationships in the source data. Alternatively, you can drag columns from the Data Sources list to the dimension map.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

59

Chapter 3: Map Your Data into Dimensions

Make a Preliminary Design with AutoDesign


AutoDesign helps you make preliminary designs and runs whenever you create a new model, unless you clear the Run AutoDesign check box in the New Model wizard. AutoDesign analyzes the data types, column names, and structural framework of the source file, and places dates in the time dimension (if the dates are not in a predefined format, Transformer will prompt you) columns with numerical values in the Measures list all remaining columns on the dimension map, by using a best-fit approach

You will probably need to change the dimensions that AutoDesign creates. For example, AutoDesign does not distinguish numeric data that represent quantities from numeric codes, such as order numbers. For a more accurate initial model, set the Data Class for each column and specify which source columns are measures by dragging those columns from the Data Sources list to the Measures list. If your data source is a fixed-field text file, identify the columns in the query before you run AutoDesign. See "Define Columns in Fixed-Field Text Data Sources" (p. 52). You generally use AutoDesign to generate the dimensions, source levels, and measures of a new model. However, you can also run AutoDesign on an existing model, to add dimensions and source levels from as yet unused columns.

Steps
1. Add a source file to the model. See "Create a New Model" (p. 30) 2. If you did not check the Run AutoDesign check box in the New Model wizard, from the Tools menu, click AutoDesign.

Create a New Dimension


You can create a dimension for each aspect of your business that you want to analyze in PowerPlay.

Steps
1. In the dimension map, click on the dimension line to ensure that no level is currently selected. 2. From the Edit menu, click Insert Dimension. 3. In the Dimension Name box, type a name for the new dimension. 4. In the Dimension Type box, click Regular, to create any dimension that does not track time Time, to create a dimension that contains periods such as years, quarters, months, and days

5. Click OK.

60 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions For a Time dimension, specify whether to create the standard time levels (year, quarter, and month): select the column that contains the date values from the Associations box, and click OK.

Define a Calculated Column


A calculated column is an expression that uses other columns, functions, and constants to derive new data for the model. Calculated columns can be used in a dimension structure to create exception dimensions, or new ways of slicing and dicing your data to create customized date values to produce new measure values

Calculated columns provide a way to set up exception dimensions based on a calculation from existing source columns. For example, you could use existing REVENUE and COST columns to create a MARGIN_RANGE column that offers new insights into the data, as seen in PowerPlay. To obtain margin range values such as Low, Medium, and High, you calculate Gross Margin by using the formula (Revenue - Cost) / Revenue and insert the formula into the If-Then-Else statement:
if("Gross Margin" < 0.50) then ('Low') else (if ("Gross Margin" > 0.70) then ('High') else ('Medium'))...

You can also add a calculated column that consists of numeric data to be used in measure allocation.

Example
You have two sources of data about a professional sports team. The first source contains data for individual players, and the second contains salary figures for each team.

You add a calculated column representing each team's forecast salary based on a 13% increase for the next year, such as
"CURRENT_SALARY" * 1.13

If you drag the calculated column to the Measures list, you make these figures available for allocation to the player level, from the other data source. In PowerPlay, your users can see each player's forecast salary.

Notes
When a calculated column is used as a measure, the value is always derived before any rollup takes place. This is effectively the same as using a calculated measure. However, when the timing of a calculated measure is set to Before Rollup, consolidation is not done. So, to optimize both cube size and PowerPlay performance, use calculated columns rather than beforerollup calculated measures. For information on consolidation, see "Consolidate Data: Overview " (p. 120). Step-by-Step Transformer 61

Chapter 3: Map Your Data into Dimensions The list of functions available in the expression editor varies with the Data Class specified. For example, the First-of-Month and Today functions are available only if the Data Class is set to Date. If your users request currency conversion, the column is initially calculated by using the default (base) currency; after that, conversion occurs dynamically in PowerPlay, followed by rollup.

Steps
1. Click the Data Sources list to make it active. 2. From the Edit menu, click Insert Column. 3. In the Name box, enter a name for the new column. 4. In the Type box, click Calculated, and then click the Calculation button. If you haven't specified a Data Class, Transformer prompts you to specify whether the column consists of text, date, or numeric data. 5. In the left pane of the expression editor, expand the Columns, Functions, and Value folders as needed, select each parameter you want to use, and click the arrow to insert it into the calculation expression (right pane of the editor). 6. When the expression is complete, click OK.

Add Levels to a Dimension: Overview


Each of the dimensions in a model contains one or more levels that represent the information hierarchies that may be explored in PowerPlay. Each level appears in the dimension viewer of PowerPlay as a drill-down layer. You can adjust or rename the levels to suit the organization of your data from the category viewer in Transformer. A model may have the following level types: Source levels contain categories that are generated from or matched to column values in the source data. Each source level is associated with one or more columns in the source file. Manual levels are drill-down layers not associated with source columns. You create and maintain the categories in a manual level, and the manual level name in the dimension map is preceded by a special icon .

Process
You can add levels to a dimension by using AutoDesign, by dragging source columns onto the dimension map or the levels section of a dimension diagram, or by using the Insert command in either the dimension map or the levels section of a dimension diagram, and then specifying an Association for the new level. You create a manual level in much the same way, but you avoid specifying a source column for the level.

62 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Add Source Levels to a Dimension


Source levels obtain values for their categories from columns in the Data Sources list. You can add source levels to a dimension either on the dimension map or in a dimension diagram.

Example
Your initial model has the following levels:

You add sales representatives to the Region dimension by selecting the Sales Rep column from the Data Sources list and dragging it to the indicated spot:

Steps
1. In the Data Sources list, select the column for which you want to create a source level. 2. Drag the selected column to the appropriate location on either the dimension map or an existing level in the dimension diagram. On the dimension map, Transformer shows a small highlighted box where it will create the new level. On the dimension diagram, Transformer inserts the new level to the left of the level on which you drop the source column. 3. Optionally, open the Level property sheet to set or modify the level properties, and then click OK. 4. To add a new source level, select an existing level on the dimension map or dimension diagram and click Insert Level from the Edit menu. Specify the Association for the new level. 5. To create a default date dimension with Year, Quarter and Month levels, set the Data Class (General tab, Column property sheet) to Date, and then drag the column to the dimension map.

Add Manual Levels to a Dimension


Manual levels provide a means of grouping categories from various source levels under a new, special category, or allow for intermediate groupings where there are too many child categories to be easily seen in PowerPlay. Because categories in manual levels typically connect to source categories in a lower level, new source categories that are not linked to a parent manual category may appear during the generation process. You can set up a temporary placeholder category in the manual level, where these new categories can be placed by default. See "Set Up a Manual Level for Unknown Categories" (p. 99). Step-by-Step Transformer 63

Chapter 3: Map Your Data into Dimensions The manual level name in the dimension map is preceded by a special icon .

Notes
You can use a manual level as an orphanage for any new categories that are subsequently generated for the dimension. You can't use manual levels for subsets in PowerPlay. You can also create manual levels in the dimension map. Click Insert Level from the Edit menu when a level is selected. Transformer recognizes the new level as a manual level if you leave the Associations box empty. If you are building the same dimension in several models, create a spreadsheet to hold your manual categories and their associated source categories. This spreadsheet can become the data source for each model.

Example
Your staffing model contains a dimension with 14 categories at the country level:

You want to subdivide the Regions dimension so you can analyze your data more easily in PowerPlay. You add a manual level that groups these countries by geographic region. You add the categories Americas, Europe and Far East, and link USA along with its child categories to the Americas region.

64 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

You then link the remaining country categories to their appropriate regional categories.

Steps
1. Open the diagram for the dimension in which you want to create a manual level. 2. At the top of the diagram, position the pointer over the right side of an existing level. The pointer changes to a cross-hair. 3. Drag the pointer to a position between two levels and release the button. Transformer creates a new level and opens its property sheet. 4. In the Level Name box, type a name for the new manual level, and click OK. 5. For each intermediate category required in the manual level, create a category manually. See "Create Categories Manually" (p. 67). 6. Connect the categories created in Step 5 to the appropriate child source categories in the next lowest level.

Create an Alternate Drill-down Path


By setting up an alternate drill-down structure in a dimension, you can provide different perspectives on the data in PowerPlay. Each such path connects to the primary path at the convergence level. To correctly connect several parent categories to the same convergence category, each category in a convergence level must be unique and unambiguous. In other words, no two categories in the

Step-by-Step Transformer 65

Chapter 3: Map Your Data into Dimensions level can be derived from the same source value. Transformer prompts you to confirm uniqueness when you create an alternate drill-down path. Because the category values at the convergence level and below are shared by all drill-down paths, removing or changing a category in one path at or below the convergence level immediately affects the same category in all other drill-down paths.

Notes
For more information about the uniqueness attribute, see "How Data Sources Relate to the Dimension Map" (p. 234). When you create alternate drill-down structures in a time dimension, you must follow several specific rules to select the convergence level and the properties of each drill-down path. You can also create an alternate drill-down path by dragging a column to the dimension map, as depicted in the following diagram.

Example
The time dimension Order Date provides two distinct paths for arriving at the Month level: a path based on all years, including Year, Quarter, and Month another path based on the fiscal year, including Fiscal Year, Fiscal Quarter, and Month

In PowerPlay, users can drill down to the month level by either the calendar year or their fiscal year.

Steps
1. In the dimension map, select the level that is to be the convergence level for the new alternate drill-down path. For a level to be a convergence level, it must be designated unique and the category values in the level must have unique and unambiguous source values. 2. From the Edit menu, click Create Drill-Down. Note: If the level you selected is not already defined as unique, Transformer asks whether there can be two categories in this level with the same source value. You must click No to create a new drill-down path. 3. Optionally, add intermediate levels to the new drill-down path.

66 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Create Categories Manually


Manual categories may be added to either source levels or manual levels, in any dimension. To add any necessary manual categories to your manual level, use the category viewer. If you create a category where no level exists, such as in a dimension that does not yet contain any levels, Transformer automatically creates a new level and opens the property sheet of the new category. If you create a category and then click Cancel on the Category property sheet, Transformer leaves the category in place. You must delete the category if you no longer want it.

Example
Your staffing model contains a dimension with 14 categories at the country level:

If you add a manual level called Regions above the Country level, you can add the categories Americas, Europe, and Far East in the Regions level. You can then link each category in the Country level to the appropriate Regions category, beginning with the link between the USA categories and Americas.

You then link the remaining country categories to their appropriate regional categories.

Step-by-Step Transformer 67

Chapter 3: Map Your Data into Dimensions

Steps
1. Open the diagram for the dimension in which you want to create a category. 2. Expand the category viewer (right pane) as required to show the parent of the category to be added. 3. Position the pointer over the right side of the parent category. The pointer changes to a cross-hair. 4. Drag the pointer to the right and release the button under the level that is to contain the category. Transformer creates a new category and opens its property sheet. 5. In the Category Code box, type a name that uniquely identifies the category in the dimension. 6. If the category is in a source level, enter the name of the associated source column in the Source Value box. For the category in the model to be matched accurately, the category name must be unique among all the source categories owned by the parent. 7. Set other properties for the category as required, and click OK.

Create Calculated Categories


You can use calculated categories to add commonly requested calculations to your model, such as month-by-month growth or market share. Because the calculations are computed in Transformer and then added to the cube, the results immediately appear in PowerPlay for every measure. Category calculation is based on a formula and a set of categories to which the formula applies. You compose the formula with the help of an expression editor and a selection list of functions and operators. You then specify the categories to which the formula applies: either a single category, a category set, or a level, all in the same dimension. You can declare calculated categories at the dimension level (by using the Dimension property sheet), or individually. When created at the dimension level, new calculated categories become siblings of the categories from which they are derived. The formula varies according to the context of each category, and the calculated categories (in the following example, percent growth for each quarter) are identified in the category viewer by their own icon .

68 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions To declare calculated categories individually, or to change them after they are created, you use the Show Category Calculation command (Diagram menu) or the Calculated Category property sheet. The applicable formula can only reference another single category, not a category set or a level. Separately defined categories are useful when you want to create special groupings, such as 'Japan'+'Hong Kong'. They are identified in the category viewer by a calculated category icon .

Example: Percent Growth


Your time dimension includes several special categories, among which are Current Month and Last Month. You can use these categories to create a new calculated category, named Monthly Growth, which calculates the percentage change between these two items by using the Percent Growth function. In PowerPlay, users can see the monthly growth of any measure included in the cube.

Steps to Create Calculated Categories at the Dimension Level


1. Open the property sheet for the dimension that is to contain the calculated category and click the Calculation tab. 2. Click the Add button. 3. Enter a name for your calculated category in the Label box (Dimension Calculation Definition dialog box). Optionally, select the Group Calculated Category Together check box to list calculated categories together in your reporting application. 4. Click the Calculation button. 5. In the left pane of the expression editor, expand the Functions folder, select the mathematical function you want to use, and then click the arrow to insert it into the calculation expression (right pane of the editor). 6. Expand the Levels folder and select a Level, Single Category, or Category Set for the expression, as appropriate. See "Define Category Sets for Calculated Categories" (p. 70) if you want to use category sets. 7. In the Categories Diagrammer, expand the levels in the diagram, so you can select and drag the appropriate items into your expression calculation. Note: You can select, copy, or type a valid expression. Step-by-Step Transformer 69

Chapter 3: Map Your Data into Dimensions 8. Click OK in the editor to save your finished expression.

Steps to Create a Single Calculated Category


1. Create a manual category in the level where you want the calculated category. See "Create Categories Manually" (p. 67). 2. From the Diagram menu, click Change to Calculated Category. 3. In the left pane of the expression editor, expand the Functions folder, select the mathematical function you want to use, and then click the arrow to insert it into the calculation expression (right pane of the editor). 4. In the Categories Diagrammer, expand the levels in the diagram so you can select and drag the single category you want to use in the calculation expression. 5. Click the Close button in the Categories Diagrammer pane and click OK in the editor to save your finished expression.

Define Category Sets for Calculated Categories


When you create a calculated category, various functions allow a category set to be specified as a parameter. Sets are a convenient way of grouping categories when you don't want to include the entire level in your formula. A set can also contain categories from different levels.

Steps
1. If you have not already done so, generate categories for your model, then open the property sheet for the dimension in which you want to define a set. 2. Click the Calculation tab and then click the Add button. 3. Enter a name for your calculated category in the Label box (Dimension Calculation Definition dialog box). Optionally, select the Group Calculated Category Together check box to list calculated categories together in your reporting application. 4. Click the Calculation button. 5. In the left pane of the expression editor, select the function that you want to apply to your set, for example Share, and then click the arrow to insert it in the calculation expression (right pane of the editor). 6. Double-click Category Set and observe that Set 1 appears in the left pane of the expression editor. 7. Expand the levels in the Categories Diagrammer so you can select categories for the set. 8. Select and drag the categories in your set, one by one, to the drop location for Set 1. Observe that the right pane mirrors the left.

70 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions 9. Double-click Single Category or Category Set again, as appropriate for your calculation, and then drag the required category or categories to the drop location in the right or left pane, respectively. 10. When you have defined all of your required sets and have selected, copied, or typed the rest of your calculated expression in the right pane, click OK. 11. Click Generate Categories and, if you previously closed the diagram, reopen it by clicking Show Diagram. 12. Expand the levels to show your new calculated categories and verify that they appear correctly in the diagram.

Order Categories Within Levels


By default, categories appear in the category viewer in the order encountered during query processing. When a new category is generated, Transformer places it at the end of the child category list for its parent category. You can sort the categories alphabetically or numerically, in ascending or descending order, based on values in the source column or another column. You may order categories in levels by dragging the categories from one spot in the diagram to another, to change their order explicitly specifying an Order By column for the level that contains the categories and then modifying the Order Value property for individual categories in that level

When you specify an Order By setting for a level, Transformer assigns a specific order value to each category in the level. These values appear in the Order Value box on the Order By tab (Category property sheet) and are automatically applied whenever new categories are added to the model.

Example
In the following dimension diagram, the categories in the Product Type level appear in the same order as in the source file:

If you want them to appear alphabetically, you can select the Product Type column as the Order By column and sort in ascending order. Transformer orders the categories in the level accordingly:

Step-by-Step Transformer 71

Chapter 3: Map Your Data into Dimensions

Steps
1. Open the property sheet for the level containing the categories to be ordered, and then click the Order By tab. 2. If the level is a convergence level accessible from two or more drill-down paths, then, from the Drilldown box, select the drill-down path in which the categories are to be ordered. Note: If the level is only a member of one drill-down path, the Drilldown box is not shown. 3. From the Sort By Column box, select the column whose values will be used to determine the sort order. 4. In the Sort Order box, click either Ascending or Descending. 5. In the Sort As box, click either Alphabetic or Numeric, to specify whether values are to be interpreted as text or numbers during the sort. 6. Click OK.

Order Categories Using a Global Preference Setting


You can specify that all categories in the model use a particular sort order, rather than manually setting the order-by preference for each category individually. You can still specify a different OrderBy association for a given level/drill combination. However, if you do not, the category label is used as the sort value, and ascending is always the order used.

Steps
1. Open the model and, from the File menu, click Model Properties. 2. On the General tab, select Use the Preference Setting in the Default Category Ordering box to order categories globally, and click OK. 3. From the File menu, click Preferences, and then click the General tab. 4. Select the Order Categories by Default check box and click OK. Tip: You can check for the entry OrderCategoriesByDefault=1 in the [PowerPlay Transformer] section of the trnsfrmr.ini file. The default location for this file is the installation_location\bin folder; OrderByCategoryLabeling is the equivalent setting in UNIX.

72 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Create Unbalanced Hierarchies Within a Dimension


You can use subdimensions to provide different levels of detail for specific categories, also known as unbalanced hierarchies. For example, some branch offices may report product sales down to the item level, whereas others may report only to the product level. You can create a subdimension for those branches that report to the item level. Categories in a subdimension are independent of levels in other parts of the dimension. Changes made to levels outside the subdimension do not affect categories in a subdimension, and vice versa. Transformer may create an unbalanced hierarchy if there is an overlap between the structural and transactional data of a multiple query model, but the source data does not supply all of the values. In the dimension map, a level that contains a subdimension has an ellipsis next to its name. Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Example
Your time dimension contains the levels Year, Quarter, and Month. You don't need Month values for the previous year. By using a subdimension, you retain the levels in the current year while removing them from the previous year.

Steps
1. Open the dimension diagram, and select the category below which you want to create a subdimension. 2. From the Diagram menu, click Create/Delete Subdimension. Transformer shows a box enclosing the selected category and all categories below it. 3. Modify the categories in and outside the subdimension, as required.

Step-by-Step Transformer 73

Chapter 3: Map Your Data into Dimensions

Define a Scenario Dimension and a Default Opening Level


Scenario dimensions are not recognized as a distinct type in Transformer. However, you can flag any dimension other than the time dimension so that its data never rolls up to the root category, or a designated parent category, which is hidden. We also recommend that you set a default category for the cube to open at. You can thereby ensure that cubes containing budget values or other scenario-like data do not display zeros, n/a, or meaningless numbers when opened by report authors or consumers. You can designate a category that is a child of the non-selectable upper-level category in your scenario dimension, as your new default. You then use the Hide the Value option with the scenario dimension root or parent category, to ensure the values shown at your chosen default level never roll up to a higher level. Note: If you specify a default category that will not be visible to some users because of a user class security setting, the default category actually shown is the highest available category in the hierarchy for that user. The default view for that user will show NA for all measures if the new default category has the Hide the Value option enabled.

Steps
1. Open the diagram view of your model, select the category whose values you want to show when the cube opens, and from the right-click menu, click Set as Default Category. 2. Still in diagram view, right-click either the root or the parent category for your scenario categories, click Properties, and on the General tab, confirm that the Hide the Value check box is selected. 3. Repeat for each scenario dimension. Note: There is no limit on the number of scenario dimensions in a cube. As long as it is neither a time dimension nor a measure hierarchy, any cube dimension can be handled in this way. 4. Build the cube and open it in your reporting application. 5. Confirm that expected category values appear, rather than values for the non-selectable category, for each dimension identified by the scenario dimension icon.

Set Up the Time Dimension: Overview


The time dimension in your model contains time categories that are meaningful to your users, such as financial accounting periods or the dates of sales transactions. Transformer supports conventional date periods, such as years, quarters, months, weeks, and days industry-specific periods, such as 13-week manufacturing periods custom periods, such as fiscal years, hours, or minutes lunar time periods, such as lunar years or months relative time periods, such as year-to-date or previous quarter

74 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions Certain time properties are always true: for example, there are always twelve months in a calendar year, and four weeks in a lunar month. Because these standard properties have been programmed into Transformer, you can work with time in ways not possible with other dimensions. For example, you can set up relative time categories to track period-by-period changes in the measures in your model. On the dimension line, a time dimension is preceded by this icon .

Working with Time Dimensions


Time dimensions contain date levels arranged in descending order that are usually some combination of Year, Quarter, Month, Week, and Day. Transformer generates categories for the levels in a time dimension by applying date functions to the source column that you associate with the time dimension. The Date Column and the Dimension Name are both required properties for a time dimension. You can insert manual levels into a time dimension, but you must specify a date function for each level so Transformer knows how to relate the categories to their parent levels during the category generation stage. For example, suppose you insert the manual level Half Year between the source levels Quarter and Year. After adding the two required categories to your new level, you must also remember to connect Q1 and Q2 to the first half, and Q3 and Q4 to the second half. Otherwise your time categories will not generate properly.

Custom Time Dimensions


If the standard date functions don't meet your needs, you can manually create a custom time dimension. For example, you can add irregular work shifts, or handle time-related data that comes from more than one source column. You can mix levels that use date functions with levels that derive their categories entirely from other source columns, such as Sales Promotions for a time period. However, note that these non-date levels will not be generated if you use the Generate Date Categories command (Run menu).

Avoiding Multiple Time Dimensions in a Model


For the sake of clarity, you should create only one time dimension in each cube. If you need to compare values from two date columns, such as the elapsed time between the Order Date and Shipping Date, use calculated columns, rather than two time dimensions. See "Compare Monthly Performance in Different Time Periods" (p. 94). Transformer prevents you from creating more than one time dimension in a single cube that has time state rollup applied. If you need to track both calendar and fiscal year results, set up alternate drill-down paths in a single time dimension, converging at a common level such as Month.

Process
To create a time dimension, you can use the Date wizard. Transformer prompts you for information about the time dimension and then creates the dimension for you.

Step-by-Step Transformer 75

Chapter 3: Map Your Data into Dimensions create a new time dimension and then successively drag the required columns to each level in it. Remember to set the appropriate date function and other date-related properties for each level. design the dimension before you have any items in the Data Sources list. When you specify names for the source columns, Transformer warns you that the columns don't exist. When you click OK and click the Generate Date Categories command (Run menu), Transformer uses standard date functions to generate categories in the levels of the time dimension without actually referring to a data source. Later, when the source file is available, you can add it to the Data Sources list and regenerate the time dimension categories by using data from the source column. The name you specify for the levels must match the source column name. set the Data Class of your time dimension source to Date (Column property sheet), and then drag it from the Data Sources list to the dimension map. This automatically creates a time dimension with the standard levels Year, Quarter, and Month.

Define the Date Input Format


Some data sources include information about their columns (sometimes called metadata), while others don't. Transformer requires information about how dates are formatted in order to correctly interpret them. Most date formats are automatically determined during the AutoDesign process. In the time dimension, if Transformer generates a category named Invalid Dates, it is likely that the date format is not defined, or not defined properly, for the values in the source file. For example, Transformer defaults to the YMD format for .csv, .asc, and other flat files. You may have to redefine this default format for the column in your Transformer model.

Example
As a source file, you are using a comma-separated variable (.csv) file that stores dates in the format MMDDYYYY. For example, the date value for August 24, 1999 is stored as "08241999". Because .csv files contain no information about the data that is stored in them, Transformer can only read these dates correctly if you specify a date format of MDY for the source column containing dates.

Steps
1. Open the property sheet for the column that contains dates, and then click the Time tab. 2. In the Date Input Format box, select the format that matches your source values, and click OK.

Use the Date Wizard


When creating a time dimension containing dates, you can use the Date wizard to automate the process. The Date wizard issues a series of prompts whose answers provide Transformer with the information it requires to create a time dimension containing dates.

76 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions You can use the Date wizard to construct a time dimension containing either standard calendar or lunar time periods down to the day level. You can create a time dimension by using the Date wizard and later make changes to it manually

Steps
1. From the Tools menu, click Date wizard. 2. Type a name for the new time dimension, and click Next. 3. Choose the source column that contains the date values for the new dimension, and click Next. 4. Respond to the remaining prompts, choosing the options that match the type of time dimension you want to create. At any time, you can click the Back button to return and change your response to a previous prompt. 5. When you have entered sufficient information to define the levels in the time dimension, click Finish.

Create a Time Dimension Manually


To create a dimension manually, you drag the columns associated with the levels in that dimension from the Data Sources list to the dimension map. However, because dates are usually derived from a single column, Transformer provides the standard date levels for you. You can then add or change levels as required.

Important Properties for Time Dimensions


When you create a time dimension, several properties are automatically set:

Setting

Property

The Associations for the time dimension, set in Time dimension values. the Date Level Creation dialog box. Whether date categories are always included in Inclusion of all cube categories, or only those cubes created from the model, set on the Gen- for which source values exist. This ensures that eral tab of the Level and Category property relative time calculations are derived correctly. sheets. The date function for each level in the dimen- The time period levels contained in the model, sion, set on the Time tab of the Level property such as Year, Quarter, and Month. sheet. The Date Format, set on the Time tab of the Level property sheet. How date values appear in the category viewer.

Step-by-Step Transformer 77

Chapter 3: Map Your Data into Dimensions

Setting

Property

The Order By column for date categories, set The order in which categories appear in each on the Order By tab of the Level property sheet. date level.

Compatible Date Functions in a Drill-Down Path


Ancestor levels in each drill-down path of a time dimension must be compatible. Both Calendar Year and Calendar Quarter are valid parents of Calendar Months, and both Lunar Year and Lunar Quarter are valid parents of Lunar Months. Additional valid time periods include 4-4-5 Week Months, 4-5-4 Week Months, and 5-4-4 Week Months. The convergent level (Weeks or Days) can have either type of parental level period.

Example
In a sales analysis model, the dates come from the Order Date column in the Orders data source. When you create the time dimension, Transformer automatically adds levels so that the dimension looks like this:

By dragging the Order Date column below the levels in this dimension, and setting the appropriate date functions on the property sheet for the new level, you can manually add a Week level to your dimension:

Notes
Use the Date wizard to have Transformer step you through the creation of a time dimension automatically. If you drag a column with a Data Class of Date to the dimension map, Transformer automatically creates the standard time levels in that dimension. When Transformer generates a time dimension, it automatically adds several relative time categories to show period-by-period change in the measures of your cube. You can manually create additional relative time periods to meet particular reporting needs.

Steps
1. Click anywhere on the dimension line. 2. From the Edit menu, click Insert Dimension. 3. In the Dimension Name box, type a name for the dimension.

78 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions 4. In the Dimension Type box, select Time, and click OK. 5. In the Date Level Creation dialog box, select Create Standard Levels. 6. In the Associations box, select the column that contains values for the dates in the dimension, and click OK. Transformer creates the new time dimension, adding the levels Year, Quarter, and Month. 7. If you want to add a new level, drag the source column for the time dimension from the Data Sources list to the new time dimension. 8. Open the property sheet for the new level, and click the Time tab. 9. In the Level Name box, type a name that reflects the date function you plan to apply to this level (Week, for example). 10. In the Date Function box, select the function Transformer is to apply to this level (Week, for example). 11. Click OK.

Set Up Fiscal Years, Quarters, and Months


By default, Transformer organizes dates in a time dimension according to the standard calendar year. The Year Begins property controls the date when the year starts. To set up a time dimension that reflects a non-calendar fiscal year, you change Year Begins from the first day of the calendar year, January 1, to the first day of your fiscal year, for example April 1. The label for a lunar fiscal year that spans two calendar years is the initial year. For example, the default label is 1999 for a lunar fiscal year that starts April 1, 1999 and ends March 31, 2000. You can change this display to the ending year 2000. See the Enable Lunar Fiscal Labelling option, General tab, Preferences dialog box. If you are creating a fiscal year as an alternate drill-down path in an existing time dimension based on the calendar year, ensure that the two paths converge at a level whose categories coincide exactly.

Steps
1. Open the diagram for the time dimension that is to be based on fiscal years. 2. Open the property sheet for the drill category, and then click the Time tab. 3. In the Year Begins box, type the date on which the fiscal year begins. Choose a valid date from any year, but ensure that your specified starting date is the first day in the first week of that year. The default format is YYYY/MM/DD. 4. Click OK.

Set Up Calendar and Fiscal Years Within a Single Time Dimension


In many businesses, measures are tracked over more than one time scale. A common combination is calendar and fiscal years, where the fiscal year spans different parts of two calendar years.

Step-by-Step Transformer 79

Chapter 3: Map Your Data into Dimensions Typically, calendar and fiscal years converge at the month level. The calendar and fiscal quarters span different months, but the total number of months in each drill-down path are the same. When you create alternate drill-down paths, the Order By column for each path must be identical at the convergence level. Transformer automatically sets the Order By column for the first drilldown path so that it matches the primary drill-down path. If you add more than one alternate drilldown path, you must specify the appropriate Order By column for each new path.

Example
In a sales analysis system, the Order Date dimension provides two distinct paths for arriving at the Month level. One path is based on all years and includes Year, Quarter, and Month. The other path is based on the fiscal year (which begins in March) and includes Fiscal Year, Fiscal Quarter, and Month. In Transformer, the dimension map looks like this:

The category viewer looks like this:

Report users can drill down to the month level by either the calendar year or the fiscal year.

Steps
1. If no time dimension currently exists, create one that contains standard calendar time periods, either manually or by using the Date wizard. 2. In the dimension map, select the level at which you want the calendar and fiscal years to converge.

80 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions Note: When connecting alternate drill-down paths in the time dimension, the Year Begins property (Drill Category property sheet) for an alternate path must be offset by whole units of the chosen convergence level. See "Alternate Drill-Down Paths in Time Dimensions" (p. 231). 3. From the Edit menu, click Create Drill-Down. Transformer inserts an alternate drill-down path into the time dimension. 4. In the dimension map, click on the empty area created for the new alternate drill-down path. 5. From the Edit menu, click Insert Level. 6. In the Level Name box, type a name for the parent of the convergence level in the new drilldown path. For a fiscal year path connected at the Month level, the parent level name is Fiscal Quarter. 7. From the Associations box, select the column that contains date values for the dimension. 8. Click the Time tab. 9. From the Date Function box, select the function that Transformer is to apply to the level, and click OK. 10. To add additional levels to the alternate drill-down, select the level you just added and follow steps 5 through 9 for each new level. 11. Open the diagram for the time dimension. 12. Open the property sheet for the drill category, of the alternate drill-down path, and then click the Time tab. 13. In the Year Begins box, type the date on which the fiscal year starts, and click OK. For example, if the fiscal year starts on April 1, type 1999/04/01.

Control How Transformer Splits Weeks


In a time dimension that includes weeks, Transformer makes several strategies available for handling weeks that span a higher-level time period. You can choose to always split the spanning week into two separate weeks, each of which includes the days that occur in the higher-level time period Note: In this case, each part of a split week is displayed on the dimension diagram as a separate week. For example, the week beginning Sunday, June 27, 1999 and ending Saturday, July 3, 1999 is displayed as two weeks: 1999/06/27 and 1999/07/01. place the spanning week into the first period, the second period, or the period with the largest number of days split the spanning week into two distinct weeks, but only when a 1-day week is not created as a result

In a time dimension with multiple drill-down paths, you must follow specific rules with respect to splitting weeks. See "Alternate Drill-Down Paths in Time Dimensions" (p. 231). Step-by-Step Transformer 81

Chapter 3: Map Your Data into Dimensions

Example
Where the time dimension includes weeks, you must specify how Transformer handles a week that begins in one month and ends in the following month. The week beginning on Sunday, March 28, 1999 spans the months March and April. By default, Transformer splits this week into two partial weeks. It shows the first partial week as 1999/03/28 and the second partial week as 1999/04/01. The first of these partial weeks is a child of the month March 1999 and has as children the 4 days (starting on March 28, 1999) that occur in March 1999. The second partial week, named 1999/04/01, is a child of the month April 1999 and has as children the 3 days (starting on April 1, 1999) that occur in April.

Steps
1. Open the dimension diagram for the time dimension. 2. Open the Drill Category property sheet. If the dimension contains multiple drill-down paths, open the Drill Category property sheet for the drill-down path you want to change. 3. Click the Time tab. 4. From the Partial Weeks box, select the week-spanning rule that Transformer is to apply, and click OK.

Set Up Lunar Time Periods


Many systems track time according to the lunar calendar. A lunar year contains 52 weeks of seven days each. Lunar time dimensions may contain lunar years, lunar quarters, lunar months, and other reporting periods such as 4-4-5 week months, 4-5-4 week months, and 5-4-4 week months. You can also add both week and day levels to a time dimension based on lunar time periods. Because lunar years comprise 52 weeks (not 365 days), you must ensure that the Year Begins and Week Begins On properties coincide. For example, to set up a lunar year for 1999 that begins on Friday, January 1, 1999, you must ensure that the Week Begins On property is set to Friday. Not all combinations of lunar time periods are valid in a dimension. The table that follows illustrates valid ancestor levels for all lunar time periods:

Periods
Lunar Year Lunar Quarter Lunar Month

Valid ancestors
None Lunar Year Lunar Year

4-4-5 Week Month, 4-5-4 Week Month, 5-4-4 Week Month Lunar Year, Lunar Quarter Week, Day Any higher-level time period

82 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Notes
To display the ending year (rather than the starting year) as the label for a lunar fiscal year that spans two calendar years, select the Enable lunar fiscal labelling option on the General tab of the Preferences dialog box. On the dimension diagram, the default format and source of the lunar date labels for month, week, and day depend on which label is displayed. For the lunar month label, the default is YYYY/MM. The month numbering starts with 01, which corresponds to the first month of your lunar year. The first month is determined by the Year Begins property, which in turn corresponds to the calendar year. For example, if Year Begins is set to 19990401, the 04 corresponds to April in the standard calendar, but represents the first month of your lunar year. On the dimension diagram, the lunar month label for this date would be 1999/01. For the lunar week label, the default is YYYY/MM/DD, where DD is the first day of the week. For the lunar day label, the default is YY/MM/DD. The numbering on the week and day labels is based on the standard calendar, not on the lunar calendar. Using the Year Begins example of 19990401, the lunar week labels for the first and second weeks would be 19990401 and 19990408. The lunar day labels for the first and second days would be 990401 and 990402. You can use the Date wizard to create lunar time dimensions. Simply choose Lunar Years of 52 Weeks when Transformer prompts for the type of year to include in the time dimension.

Steps
1. On the dimension map, create a new time dimension. Transformer automatically adds the levels Year, Quarter, and Month. 2. Open the property sheet for one of the levels in the new time dimension, and click the Time tab. 3. In the Date Function box, select the required lunar date function. For example, select Lunar Year to create a level based on lunar years. 4. Repeat steps 2 and 3 for each level.

Control When Transformer Adds Extra Weeks for Lunar Time Periods
When you use lunar time periods, a year contains 52 weeks of seven days each. A lunar year, therefore, contains 364 days, which is either one or two days less than a calendar or leap year, respectively. You can tell Transformer when to use the extra day or days to create an extra week in the lunar year. Transformer adds this extra week to the last month or quarter of the year. That way, each lunar year remains aligned with the specified Start-of-year day, while not falling too far out of alignment with the calendar year. You can force Transformer to add the extra week when the lunar year becomes 4, 5, 6, or 7 days out-of-step with the calendar year. Alternatively, if you specify None, Transformer never adds these extra weeks.

Step-by-Step Transformer 83

Chapter 3: Map Your Data into Dimensions When you create alternate drill-down paths in a lunar time dimension, both the Week Begins On and the Add an Extra Week settings must match in all drill-down paths if the convergence level is Week, Lunar Month, or Lunar Quarter. If the last lunar month in the year has five weeks in a 4-4-5 pattern, the surplus days create an extra week. The extra week in the quarter is added to the previous lunar month to make a 4-5-5 pattern, rather than 4-4-6, which is not a valid pattern in Transformer.

Steps
1. Open the dimension diagram for the lunar time dimension you want to modify. 2. Open the property sheet for the drill category that you want to change, and then click the Time tab. 3. From the Add an Extra Week box, select the setting that you want applied with the extra days of each year.

Limit the Range of Dates Included in the Model


When you create the time dimension, you can limit the range of acceptable dates so that categories that are irrelevant to your users do not appear in PowerPlay. When Transformer encounters date values outside your specified range, it generates an Early Dates or a Late Dates category, or both, depending on when the out-of-range dates occur. In addition, if Transformer encounters dates that are neither early nor late, but can't be placed within the specified range, it generates an Invalid Dates category. You can use the Generate Date Categories command (Run menu) to generate date categories and further refine the range of generated dates.

Example
A source file contains data for the years spanning January 1, 1996 to December 31, 1999. You set the absolute range of date values to match that range. Transformer encounters a few dates in the source that fall outside that range (due to invalid data entry, for example) and generates an Early Dates or Late Dates category in the time dimension.

Steps
1. Open the property sheet for the time dimension whose absolute range you want to change, and then click the Time tab. 2. In the Earliest Date and Latest Date boxes, type the dates that represent the lower and upper boundaries of the range respectively, and click OK.

84 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Generate Date Categories


Although Transformer updates the categories in the time dimension whenever you generate categories or create a cube, you can order Transformer to generate categories for the time dimension alone.

Steps
1. On the dimension line, click the time dimension for which you want to generate categories. 2. From the Run menu, click Generate Date Categories. 3. In the Time Range box, type the oldest and most recent dates to include in the time dimension. By default, Transformer uses the Earliest Date and Latest Date settings you have specified for the dimension.

Format Date Values


By default, Transformer shows dates on dimension diagrams in a YYMMDD or YYYYMMDD format. You can change the way dates appear in Transformer diagrams and in PowerPlay reports.

Steps
1. Open the Level property sheet for the date level whose format you want to change. 2. On the Time tab, click Modify Format. 3. If the format you want is listed in the Format Codes box, select it, and click OK. 4. To create a new format, edit the entry in the Code box (p. 204), and click OK.

Set Up a Custom Time Dimension


By using the predefined date levels and functions available for calendar and lunar time, Transformer automatically determines the relationships between various date categories. However, you can customize your time dimension to track measures over time periods that Transformer does not directly support, such as work shifts and hours within shifts project phases and timed sub-phases

After you have created a custom time dimension, you can set up relative time categories for the periods in the dimension. For example, if you are tracking the number of patients monitored during nursing shifts, you could find the number of patients monitored in the same hour, previous shift.

Example
In a system of electrical generating stations, temperatures for various pieces of equipment are monitored every two hours, and the data is captured in a database. A cube containing this information is incrementally updated every eight hours so that the most recent temperature readings for critical equipment are available to the maintenance crew on duty. The cube tracks temperatures only at the Shift level and the Hour level. Each work day has three 8-hour shifts. The source data for the equipment readings contains the following columns. Step-by-Step Transformer 85

Chapter 3: Map Your Data into Dimensions

SHIFT
01

HOUR/MIN
0200

PLANT
Plant 01

LOCATION
6EL

EQUIPMENT TEMP
Primary Boiler 235

01

0400

Plant 01

6EL

Primary Boiler

237

01

0600

Plant 01

6EL

Primary Boiler

233

01

0800

Plant 01

6EL

Primary Boiler

235

02

1000

Plant 01

6EL

Primary Boiler

228

02

1200

Plant 01

6EL

Primary Boiler

232

02

1400

Plant 01

6EL

Primary Boiler

231

02

1600

Plant 01

6EL

Primary Boiler

233

...

Steps
1. Click anywhere on the dimension line. 2. From the Edit menu, click Insert Dimension to add a new dimension. 3. In the Dimension Name box, type a meaningful name for the new dimension. 4. In the Dimension Type box, select Time, and click OK. 5. In the Date Level Creation dialog box, select Do Not Create Levels, and click OK. 6. In the Data Sources list, select the column that provides date values for the dimension, and drag the column below the dimension you just created. 7. Open the property sheet for the time level you just created, and assign properties as required. For example, you can change the name of the level and, on the Time tab, change the Time Level Ranking. 8. Click OK. 9. Repeat steps 6 through 8 for each time level you want to add.

86 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Set Up Relative Time Categories: Overview


Some of the most commonly requested reports in any organization are period-over-period performance reports and trend analyses: how sales in the current period compare to sales from previous periods, or how last year's budget compares to projections for next year. By including the most commonly required relative time categories in your cubes, you avoid the need to calculate them afresh, in every PowerPlay report.

Relative Time Category Types


Your model can include up to three different types of relative time categories: single-category periods, such as the same month, prior quarter or next year to-date periods, such as life to date, year to date, or quarter to date N-period running totals, such as a 2-week total in the previous month

You can also create custom to-date and N-period relative time categories, to span specified time ranges.

Default Relative Time Categories


The following relative time categories are automatically inserted into your model: Current <period> Last <period> <Higher-level periods> To-Date Grouped, including <Higher-level periods> To-Date <Prior higher-level periods> To-Date <Higher-level periods> To-Date change (calculated categories) <Higher-level periods> To-Date growth (calculated categories) The periods depend on the date levels defined in your model. The grouped special categories only appear in PowerPlay when the time dimension contains one or more levels higher than the current period. In Transformer, the relative time periods appear in the category viewer as special categories, highlighted in green, below the other drill-down paths in the time dimension.

Step-by-Step Transformer 87

Chapter 3: Map Your Data into Dimensions

Notes
You can delete the default relative time categories and add your own custom relative time categories. When using relative time categories, ensure that you set the Inclusion property to Always Include for each level in the time dimension, so that Transformer can calculate the correct relative date values. When creating a custom relative time category, start with the closest built-in choice and change it to a Custom relative time category. Then you need only change a few settings to customize the category.

Set the Current Period Automatically


To ensure that Transformer uses the correct date column to set the current period you can choose which column in the Data Sources list should be used to set the current period. If two or more data sources contain columns that provide date values, ensure that only one of them sets the current period by clearing the Sets the Current Period box in the other property sheets. If none of the data sources is set to use its date values to set the current period, Transformer sets the current period to the latest date encountered among all data sources. The current period is set immediately after categories are generated (and before the creation of any cubes), provided that the Automatically Set Current Time Period box on the Dimension property sheet is selected. Before creating cubes, Transformer updates any relative time categories in the time dimension. For models based on multiple data sources where more than one source contains date values, you can have Transformer automatically set the current period to the latest date by clearing the Sets the Current Period box on the property sheet for every data source.

Steps
1. In the Data Sources list, successively open the property sheet for each data source containing a date column for the time dimension. 2. On the General tab, clear the Sets the Current Period box for all but the one you want Transformer to use to set the current period. 3. Open the property sheet for the time dimension. 4. On the Time tab, select the Automatically Set Current Time Period box, and then click OK.

Set the Current Period Manually


The current period for a time dimension, if set, is shown on the dimension property sheet. The Automatically Set Current Time Period box on a time dimension property sheet determines whether Transformer automatically sets the current period for the dimension or whether you must manually set the current period. When Automatically Set Current Time Period is cleared, you can set the current period to any category in the time dimension.

88 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions When setting the current period manually, you generally select a date category that appears at the lowest level in the time dimension, for example, under a Week level. You can, however, select a category that is not at the lowest level. When you do, Transformer remembers your selection, and after generating categories (and before the creation of any cubes), it traverses the dimension until it finds the latest date category at the lowest level below the selected category. This feature can be useful, for example, when you want the current period set to the latest date in a year, rather than to the latest date in your data. If the current period changes, Transformer immediately updates all relative time categories in the dimension.

Steps
1. Open the property sheet for the time dimension. 2. Clear the Automatically Set Current Time Period box, and then click OK. 3. Open a diagram for the time dimension. 4. Select the date category that you want to be the current period. 5. From the Diagram menu, click Set Current Period. Transformer sets the current period for the dimension. The current period is updated on the time dimension property sheet.

Measure Past Performance for a Single Time Period


One of the most frequently requested reports is one that shows change from one time period to another. This report lets users gauge current performance in light of previous performance and isolate growth patterns.

Example
In a sales analysis system, the current period is automatically based on the most recent data available each time new data is added to the model. The system monitors sales revenues and costs for product lines. Trends from month to month, quarter to quarter, and year to year are of particular importance. By using the relative time feature, you can set up categories that represent last month, last quarter, and last year, as well as the same month of the prior quarter, same quarter of the prior year, and same month of the prior year.

Steps
1. Open the diagram for the time dimension. 2. Position the pointer over the right side of the root category for the dimension. The pointer changes to a cross-hair. 3. Drag the pointer to the right of the root category. Transformer creates a new relative category and opens its property sheet. 4. In the Category Code box, type a name for the new category.

Step-by-Step Transformer 89

Chapter 3: Map Your Data into Dimensions 5. Click the Relative Time tab. 6. In the Relative Time box, select the relative time period that represents the single period for which you want to create a relative time category, and then click OK. For a Year-Quarter-Month time dimension, the available list includes the following: Current Month Last Month Last Quarter Last Year Same Month, Prior Quarter Same Month, Prior Year

Note: Select Custom if you want to override any of the default detail selections on the Relative Time tab. For example, you can specify the basic approach, a different target time period for your new category, a new context in which the period will be reported, and the corresponding offsets, to track values that apply to a period other than the current one.

Measure Past Performance To Date


One of the most frequently requested PowerPlay reports is that of measure growth in the context of a specific time period. This report lets users compare current performance to past performance. If you create a Custom relative time period, you can override the default detail selections (Relative Time tab). Specify the basic approach, the target time period (the period for which you want to create a new category), the context in which the period is to be reported, and the corresponding offsets (if for a period other than the current one).

Example
A model is used to monitor sales revenues and costs for product lines. The current period is automatically based on the most recent data available each time new data is added to the model. Trends in the way these measures accumulate within months, quarters, and years are of particular importance. You set up categories that represent month to-date, quarter to-date, year to-date, and life to-date. You also set up relative time periods that measure to-date periods in either the past or the future, such as Quarter To-Date, Prior Quarter.

Steps
1. Open the diagram for the time dimension. 2. Position the pointer over the right side of the root category for the dimension. The pointer changes to a cross-hair. 3. Drag the pointer to the right and release it to the right of the root category. Transformer creates a new relative category and opens its property sheet. 4. In the Category Code box, type a name for the new category. 90 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions 5. Click the Relative Time tab. 6. In the Relative Time box, select the relative time period that represents the to-date period for which you want to create a relative time category, and then click OK. For a Year-Quarter-Month time dimension, the available list includes the following: Quarter To-Date Year To-Date Life To-Date Quarter To-Date, Grouped Year To-Date, Grouped Quarter To-Date, Prior Quarter Year To-Date, Prior Year

Note: Select Custom if you want to override any of the default detail selections on the Relative Time tab. For example, you can specify the basic approach, a different target time period for your new category, a new context in which the period will be reported, and the corresponding offsets, to track values that apply to a period other than the current one.

Measure Past Performance Over Several Time Periods


In some cases, you may want to set up relative time categories that span several specific time periods at some point in either the past or the future. Transformer has several built-in relative time categories to help you do this. If you have an unusual reporting period that is not covered by the automatically created relative time categories, you can create a custom category. If you enter positive numbers for either the Target Offset or the Context Offset, then your model must include source columns with time periods later than the current period so that Transformer can use them in positive (future) contexts.

Example
In a sales analysis system, relative time categories are used to track sales for prior months, quarters, and years. However, some users also want to track sales over six-month periods prior to the current date in both the current year and the previous year. You set up an N-period running total category that spans the six months leading up to the current month, this year, and last year.

Steps
1. Open the diagram for the time dimension. 2. Position the pointer over the right side of the root category for the dimension. The pointer changes to a cross-hair. 3. Drag the pointer to the right and release it to the right of the root category. Transformer creates a new relative category and opens its property sheet.

Step-by-Step Transformer 91

Chapter 3: Map Your Data into Dimensions 4. In the Category Code box, type a meaningful name for the new category, such as Previous 6 Months. 5. Click the Relative Time tab. 6. In the Relative Time box, select Custom. 7. In the Basic Approach box, select N-Period Running Total or N-Period Running Total (Grouped). Grouped lets you easily create a series of categories spanning different ranges of time. 8. In the Number of Periods box, type the number of periods to include. For example, if you are creating a 6-month running total, type the number 6. 9. In the Target Period box, select the type of period for which the N-period running total will be kept. For example, if you are creating a 6-month running total, select Month. 10. In the Target Offset box, type a number that reflects an offset for the Target Period relative to the current period. For example, if the current period is December 1999 and you want a 6-month running total up to (ending) November 1999, type -1. 11. From the Context Period box, select a time period one or more levels higher than the Target Period, within which you want to calculate the N-period running total. For example, if you are creating a running total of 6 months, create the total within the context of Year. 12. In the Context Offset box, or in the Context Range box if you selected N-Period Running Total (Grouped) in the Basic Approach box, type the number by which the Context Period will be offset when the N-period running total is created. For example, if you are creating a 6-month running total relative to a Target Period of last year, type -1.

Set Up Future Relative Time Projections


If your source data contains forecast values, you can build relative time categories such as Next Quarter or Next Year into your model, and report future projections for the applicable measures. Because the forecast values project beyond the current period into the future, you must ensure that the current period is not set to the latest date in your model.

Example
In a sales analysis model, the current period is set to December 31, 1999. However, a data source containing sales forecasts for all four quarters of 2000 is also included in the Data Sources list for

92 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions the model. By creating relative time categories with positive offsets, you can create Next Year and Next Quarter projections.

Steps
1. Open the dimension diagram for the time dimension. 2. Position the pointer over the right side of the root category for the dimension. The pointer changes to a cross-hair. 3. Drag the pointer to the right and release it to the right of the root category. Transformer creates a new relative category and opens its property sheet. 4. In the Category Code box, type a meaningful name for the new category, such as Next Month. 5. Click the Relative Time tab. 6. From the Relative Time box, select Custom. 7. From the Basic Approach box, select the option that matches the kind of projection you want. Depending on the Basic Approach, different controls appear on the Relative Time tab. In the example below, the time dimension contains Years, Quarters, and Months, and the current period is set to December. Below are some possible Relative Time tab entries.

Basic Approach and Category


Single Category: Next Month

Settings
Target Period = Month Target Offset = 1

Period To-Date Total: Year to Date, Next Year To-Date Period = Year Target Period = Month Target Offset = 0 Context Period = Year Context Offset = 1 N-Period Running Total: First 6 Months, Next Number of Periods = 6 Year Target Period = Month Target Offset = -6 Context Period = Year Context Offset = 1

8. After you have set all of the properties for the relative time category, click OK.

Step-by-Step Transformer 93

Chapter 3: Map Your Data into Dimensions

Compare Monthly Performance in Different Time Periods


If your users want reports that show monthly performance in one time period compared to another, you can add the extra time dimension in Transformer by using the calculated columns feature. That way, you need not touch the date columns in your source data.

Example
A user wants to see how monthly performance compares between 1999 and 2000. You create a cube that yields the following PowerPlay chart:

Steps
1. Add a calculated column to the model. See "Define a Calculated Column" (p. 61). 2. When prompted to select a data class in the Column Data Class dialog box, select Numeric. 3. In the Calculation dialog box, enter the following formula:
month(<Date>)

where <Date> is the column used to build your time dimension. 4. Drag the calculated column from the Data Sources list to the dimension map to create a new dimension. 5. Add the required levels, dimensions, and measures to your model and then create the cube.

Set Up Special Categories: Overview


A special category groups regular categories from any level in a dimension, without regard for their normal hierarchical organization. Special categories are unstructured and, unlike the categories in an alternate drill-down path, they must be maintained manually. However, PowerPlay can be set up to show these categories in all drill-down lists, below the regular categories in the same dimension.

Notes
If a cube is based on an apexed view, whether directly or indirectly by means of a cube group, the special categories become children of the apexed category.

94 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions By default, PowerPlay summarizes or rolls up measure values in special categories; however, you can disable the rollup option. Depending on your PowerPlay edition, portions of this topic may not apply to you.For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Create a New Special Category


To highlight important data in the model, you can create special categories. In the dimension diagram, the children of the special category appear both in the main hierarchy and in the special category branch. Any changes to a regular category within this group are reflected in both instances.

Example
Your model has a dimension that organizes all of your products by Product Line and Product Type. You want to group your most promising products into a special category. These include Star Gazer2 tents, Moonbeam sleeping bags, SunShelter-15 sunblock, RiverKind bio-friendly soap, and all of your Water Purifiers. You create a Best Bets category and drag the above categories, in turn, from the Product and Product Type levels to your new special category.

Steps
1. Open the diagram for the dimension in which you want the special category. 2. Click the right side of the root category, so that the pointer changes to a cross-hair, and drag to the right. When you release the button, the Special Category property sheet appears. 3. In the Category Code box, type the name of the special category, and click OK. 4. Connect the special category to one or more regular categories.

Step-by-Step Transformer 95

Chapter 3: Map Your Data into Dimensions

Create Special Category Levels


You can create drill-down levels by using special categories, thereby providing your users with an alternate drill-down path that uses a structure not supplied by your source data.

Example
A dimension called Region includes your branches from the three countries in the Americas. You want to create a special category for your most profitable offices in this region, and then subdivide the category further, by geography. You begin by creating a special category named Profitable Branches and attach the Americas category to it. You create the lower level categories East and West and connect your most profitable branches appropriately: New York and Boston to the East, and Vancouver, Seattle and San Francisco to the West.

Steps
1. Open the dimension diagram. 2. Click the right side of the root category, so that the pointer changes to a cross-hair, and drag to the right. When you release the button, the Special Category property sheet appears. 3. In the Category Code box, type the name of the special category, and click OK. 4. Add another special category to the right of the newly-created special category. 5. In the Category Code box, type the name of the special category, and click OK. 6. Repeat steps 4 and 5 to add more categories. 7. Connect the lowest level special category to the appropriate regular categories.

Disable Rollup on Special Categories


By default, PowerPlay summarizes or rolls up measure values in special categories. You can disable rollup by changing the Category Rollup setting on the Category property sheet. If the Category Rollup box is cleared for a special category, it signifies that values from this category are not to be rolled up to the parent category. It is possible for parents to add rollup values from some children and not from others. If no child categories have Category Rollup selected, the parent

96 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions category becomes a placeholder and no values are associated with it in PowerPlay. You cannot perform rollup on the highest level of a special category.

Steps
1. Open the diagram for the dimension that contains a special category. 2. Open the property sheet for the special category. 3. Click the General tab, and clear the Category Rollup check box.

Generate Categories: Overview


After you have added dimensions and levels to your dimension map, you can generate categories from your source by clicking Generate Categories (Run menu). During category generation, Transformer reads and analyzes your source data, and builds category trees for the dimensions in the dimension map. You can then open the diagram for any dimension to add a subdimension or define a dimension view. Note: Categories are generated automatically when you create a cube.

Deal with Orphans Of Categories


Transformer generates Orphans Of parent categories for source data that cannot be placed into a drill-down path. By default, these categories, called source (or key) orphanages, are suppressed.

Example
A model contains two data sources. One is from an order-tracking system, and supplies data for Country, Region, Branch, and Customer Number categories. The other contains Customer Number and Address information. If the first source contains data for last year's orders and the second contains customer records from the two preceding years, any customer number not associated with an order in the period covered by the first source generates an Orphans Of category.

Step
To eliminate source (or key) orphanages, either remove the orphan categories from the source file or associate them to their proper parents.

Handle Early and Late Dates


Transformer automatically generates Early Dates and Late Dates categories if dates from the source fall outside the range specified for any time dimension. By changing the date range, you can incorporate out-of-range dates into your model. Transformer may also generate an Early Dates or a Late Dates category if the Date Input Format specified on the Time tab of a property sheet for a date column doesn't match the date format of the data in the source.

Step-by-Step Transformer 97

Chapter 3: Map Your Data into Dimensions

Example
You know that a data source contains regional sales data from 1999 to 2000. You set the Earliest and Latest dates on the Time tab of the Years dimension property sheet to 19990101 and 20001231 respectively. A week later, the source is updated to include data for 2001. When you generate categories for your model, Late Dates categories appear. You want to incorporate the new data into the model.

Steps
1. Open the property sheet for the time dimension, and click the Time tab. 2. Type date values for Earliest Date and Latest Date as they currently exist in your source, and click OK. Note: If your source data represents date values by using two-digit years spanning two centuries, see "Specify Date Categories in Two Centuries" (p. 57). 3. In the Data Sources list, select the query that provides date values for the model. 4. From the Run menu, click Generate Categories from Selected Data Source.

Handle Invalid Dates


In most cases, Transformer can determine and apply the correct date format for input from a source column. Transformer automatically generates an Invalid Dates category if the correct input format cannot be determined or if a problem arises with the source data. You may have to change the format of the date information in your source file, change the Date Input Format property on the Time tab (Column property sheet), or, if the data is corrupt, rebuild your source file.

Steps
1. In the Data Sources list, open the property sheet for the column on which the time dimension is based. 2. Click the Time tab. 3. From the Date Input Format box, select the appropriate date format, and click OK. 4. From the Run menu, click Generate Categories from Selected Data Source.

Use a Specific Data Source to Generate Categories


When a model is based on more than one data source, you may find it useful to generate categories from a specific source rather than from them all. If you are working with structural data sources, you can select a specific source for category generation as a means of testing your model. The Generate Categories from Selected Data Source command only affects category generation, not cube creation. Another way of enabling or disabling category generation for a specific cube is to use the Timing controls.

98 IBM Cognos Series 7 PowerPlay Transformer

Chapter 3: Map Your Data into Dimensions

Example 1
You are working with information from a large client database, and your model references many separate data sources. You create a subset of the database to build and test your initial Transformer model. You want to generate categories from the subset until the model is ready to test with the complete set of sources.

Example 2
You have a model that uses two data sources: Products and Sales Orders. Because new products are not added frequently, you can generate categories from the Sales Orders source alone until there are new products to include in the model.

Example 3
Your model is based on several data sources. One source contains a single column that provides date values. The time dimension contains a Late Dates category because your source data was recently updated with results from the last quarter. After adjusting the range of dates for the time dimension, you regenerate the date categories based on the updated source to see if the Late Dates category has disappeared.

Steps
1. Select the data source you want to use to generate categories. 2. From the Run menu, click Generate Categories from Selected Data Source.

Set Up a Manual Level for Unknown Categories


A manually-created orphanage is a category created in a manual level. After you create an orphanage, any subsequently generated categories that don't have a position defined in the model become children of that orphanage. By using a manually-created orphanage, you keep new data separate until you can connect it to the appropriate category.

Example
Your organization is compiling data on customer satisfaction. You want to analyze customer satisfaction by service, city, and region. The data is being compiled over a two-week period, so the source is updated frequently. As you build the model, you want to store new data separately from the part of the model you are working on. You also want to update the data in the completed areas of your model.

Steps
1. Open a dimension diagram and select the highest (left-most) level. 2. From the Edit menu, click Insert Level. Transformer creates a new level. 3. Click on the right side of the drill category, so that the pointer changes to a cross-hair, and drag to a position under the new level. When you release the mouse button, the Category property sheet appears.

Step-by-Step Transformer 99

Chapter 3: Map Your Data into Dimensions 4. Select Category is an Orphanage, and click OK.

Check the Model for Potential Problems


Transformer always checks the model during imports, before category generation, and before cube creation, but you can run a manual check at any time. It is good practice to run Check Model at key stages in the design process, and again at cube creation time. Certain warnings, including some related to auto-partitioning, do not appear with the pre-cube checks. To see troubleshooting tips for particular messages generated by Check Model, in the Index tab of the online Help type: TR<message number>.

Example
You are building a cube and working with several data sources. As you add new sources, you want to be sure that the new data is correctly related to the dimension map. Running Check Model before each category generation alerts you to potential problems.

Step
From the Tools menu, click Check Model.

Prevent New Categories from Being Added to a Dimension


Whenever you generate categories for a model, Transformer detects new categories as it reads data values from the sources in the Data Sources list. When this happens, new categories are typically added to the model. If this is undesirable in your current situation, you can prevent Transformer from adding new categories to a dimension. Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Example
If you have created a cube group based on a level in a dimension, you might not want Transformer to add new categories to the level on which the cube group is based. Adding a category to this level would cause Transformer to automatically add a new cube to the cube group.

Steps
1. Open the property sheet for the applicable dimension. 2. Select Prohibit Automatic Creation of New Categories, and click OK.

100 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze


Measures are the numbers by which you gauge the performance of your organization. Number of Units Sold and Profit Margin are examples of such performance indicators. A model can contain any number of regular or calculated measures, together with logical groupings that use measure folders. A regular measure is numeric data in a transactional data source. A calculated measure is new numeric data that is derived from other measures, functions, and constants, such as Profit, calculated from the measures Revenue and Cost. A measure folder can group existing measures into a logical collection and, if needed, can be assigned a calculated value itself. For more information, see "Define a Measure Folder" (p. 102). In this illustration, the model contains non-measure columns (the Data Sources list), regular measures (Revenue, Cost and Order Qty), and a calculated measure (Profit).

Notes
To summarize the data for a measure, you can apply rollups. See: "Control How Measures Roll Up: Overview" (p. 108) "Consolidate Data: Overview " (p. 120). "Define a Measure Folder" (p. 102)

Add a Regular Measure


A regular measure is numeric data in a transactional data source, such as the number of units sold, the cost of goods purchased, or sales revenue.

Example
The following transactional data source has the regular measures Quantity, Revenue, and Cost. Each record represents a sales transaction.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

101

Chapter 4: Identify the Measures You Want to Analyze

Non-measures
DATE 19990114 19990201 19990210 STORE STORE1 STORE1 STORE1 PRODUCT TR139SQ TR139SQ TR139SQ

Measures
QUANTITY 500 200 400 REVENUE 5000.00 2000.00 4000.00 COST 4000.00 1538.46 3200.00

Step
To add a regular measure, drag the column from the Data Sources list to the Measures list.

Define a Measure Folder


Using Transformer, you can create groupings of measures by using measure folders. By using a measure folder your report users can navigate through various measure rollups and drill down to view the lower level measures in their reports. Measure folders can be used to represent logical groupings of lower level measures, or they can be calculated measures without any lower level measures. If a folder has no calculation and no lower level measures, it is not added to the cube. The calculation of the folder-level measure does not have to reflect the total value of the measures contained within the folder. The measures can be independent of each other from a calculation point of view.

Example
Report users viewing Profit Margin as the current measure folder may drill down to see the lower level measures: Revenue and Product Cost. The sum of these nested measures is reflected in the measure folder as a calculation. The detail of the calculated measure is hidden from users until they drill down.

Notes
If you create a measure folder that is not a calculated measure and does not contain any children, the Check Model function shows a warning message. Inclusion or exclusion of a measure on the PowerCube properties Measures tab does not cascade to the measures that exist below it. If you exclude a measure folder in the Measures list, the lower level measures are still visible. Each measure must be excluded individually.

Steps to Change a Calculated Measure to a Measure Folder


1. Right-click the measure, and then click Properties. 2. Click the General tab, and select the Measure Folders check box.

102 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze You can also specify a new measure folder and drag other measures into it.

Steps to Add a Measure Folder


1. Right-click the measures pane, and then click Insert Measure Folder. 2. In the Measure name box, type a name for the measure folder.

Define a Measure that Counts Categories


You can define a measure that counts categories. For example, you can create a measure that shows how many customers of each type bought a specific product each month, quarter or year. Based on a unique level (Customer No.), this count includes all non-missing, non-zero values, but does not double-count: if the same customer buys a product in two months, the quarterly rollup counts that customer only once. In the Rollup tab of the Measure property sheet, you specify an Activity Measure to which the Category Count applies. Note that this Activity Measure cannot be a before or after-rollup calculated measure, an externally rolled-up measure, another category count measure, or an allocated measure if the allocation occurs in the same dimension as the category count and above the counted categories level. An error message appears if you try to specify any one of these restricted types of measure as the basis for your category count. You can base category counts on allocated measures if the allocation uses a constant from a dimension other than the category count dimension. You should only accept the default Activity Measure (All Measures in the cube) if you are sure that no categories are missing measures, and no measure values sum to zero after they are rolled up. A category is counted only if it has a nonmissing, non-zero Activity Measure associated with it. Note: In Transformer Version 7.3 Maintenance Release 1 and subsequent releases, category counts were added to the list of measures supported for time-based partitioned cubes. However, some limitations apply. For more information, see "Define a Time-Based Partitioned Cube" (p. 130).

Steps
1. Click the Measures list to make it active. 2. From the Edit menu, click Insert Measure. 3. In the Measure Name box, enter a name for the measure. 4. Select the Type tab and click Category Count. 5. Select a dimension and level. The level must be in the primary drill-down path of the dimension you have selected, and must be unique (Level property sheet). 6. Select the Rollup tab. 7. Select an Activity Measure for the count. Note: An error message appears if you select an unsupported measure type. 8. Define any other attributes of the count, such as the format, and click OK.

Step-by-Step Transformer 103

Chapter 4: Identify the Measures You Want to Analyze The count appears in the Measures list of your model. In the resulting cube and reports derived from it, you see the number of non-missing, non-zero categories for the specified level and activity measure.

Define a Calculated Measure


A calculated measure is an expression that derives new numeric data from regular measures, other calculated measures, functions, and constants. You can describe the calculation in the Description box on the Measure property so that report users can see this information by using the Explain function. After you create a calculated measure, you can control whether the measure is calculated before or after rollup. See "Control When Measures Are Calculated" (p. 105). Note: Transformer performs all calculations defined within a cube based on rules of precedence. Where there is an intersection between calculated categories and calculated measures, calculations defined for measures are performed first. This is important to note for reports where the calculated measure and category intersect.

Example
You can create a calculated measure for Percent Profit Margin by subtracting Cost from Revenue, and then dividing the result by Revenue. You select 0% in the Format tab to express your calculated measure as a percentage (you need not multiply by a factor of 100).

Dimensions
DATE STORE

Regular Measures
PRODUCT REVENUE

Calculated Measure
COST PROFIT MARGIN

19990114 19990201 19990210

STORE1 STORE1 STORE1

TR139SQ TR139SQ TR139SQ

5000.00 2000.00 4000.00

4000.00 1500.00 2000.00

20% 25% 50%

Steps
1. Click the Measures list to make it active. 2. From the Edit menu, click Insert Measure. 3. In the Measure Name box, type a name for the measure. 4. In the Type tab, click Calculated, and then click the Calculation button. 5. In the left pane of the Expression Editor, expand the Functions, Measures, and Value folders as needed, select each parameter you want to use, and click the arrow to insert it into the calculation expression (right pane of the editor).

104 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze 6. When the expression is complete, click OK. 7. Type or select the other features you want for the measure, such as its format, and click OK. The new measure appears in the Measures list.

Define an If-Then-Else Calculated Measure


In Transformer Version 7.3 and subsequent releases, your models can include calculated measures that use if-then-else expressions. For example, you can define the following conditional expression:
IF ("Net Income"<100000) THEN ("Gross Profit"*1.25) ELSE NULL

You can also define an if-then-else calculation to avoid division by zero:


IF ("MEASURE_VALUE_A"=0) THEN ( "MEASURE_VALUE_B"=NULL) ELSE ("MEASURE_VALUE_B"/"MEASURE_VALUE_A")

Steps
1. In the Expression Editor, begin your calculated measure definition by clicking the if operator. An opening parenthesis is inserted next. 2. Enter the rest of the expression as follows: Type a conditional expression that resolves to True or False. Double-click a closing parenthesis. After the automatically inserted expression "then (", type the result to show if the boolean expression is True. Double-click a closing parenthesis. After the automatically inserted expression "else (", type the result to show if the boolean expression is False. Double-click a closing parenthesis and click OK.

If your expression is valid, the definition is saved for that measure. 3. If an error appears, try again, using a mathematically correct form. Tip: Unlike calculated columns, calculated measures support isnull( ) expressions that resolve to True, which is the condition that arises with a missing value. You can use this capability to avoid divide-by-zero overflow errors. 4. Build the cube, open it in your reporting application, and confirm that the results correctly reflect the if-then-else condition you were trying to model.

Control When Measures Are Calculated


When you use calculated measures, you can have the measure calculated before or after rollup. Values for measures calculated before rollup are based on source values instead of summed values, Step-by-Step Transformer 105

Chapter 4: Identify the Measures You Want to Analyze and are rolled up separately. The Auto-partition feature will not be used if a model contains Before Rollup measures. (Calculated columns may be used to achieve similar results while allowing autopartitioning to proceed.) Values for measures calculated after rollup are based on the rolled up values. The following table shows the sequence of operations that take place when calculating measures.

Timing
After Rollup

Operations
1 Regular rollup takes place on all measures. 2 Time state rollup takes place. 3 Allocated measures are calculated. 4 Calculations are performed on calculated measures.

Before Rollup

1 Calculations are performed as the cube is created. 2 Regular rollup takes place on all measures. 3 Time state rollup takes place. 4 Allocated measures are calculated.

Notes
If values for calculated measures are generated before rollup, Transformer cannot perform consolidation. However, you can achieve the same results by using calculated columns instead of calculated measures. Calculated columns are processed as each row is read into the work file, and consolidation is possible. See "Define a Calculated Column" (p. 61). If values for calculated measures are generated after rollup, Transformer cannot perform time state rollup. See "Set a Time State Rollup Function for Measures" (p. 111). Values for measures calculated after rollup require less storage. Transformer cannot perform time state rollup for a measure when there are two time dimensions in the model.

Steps
1. Open the property sheet for the calculated measure. 2. Click the Rollup tab. 3. In the Regular Timing box, click Before Rollup or After Rollup, and then click OK.

106 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze

Display Missing Values


By default, all missing values display as zeros in PowerPlay. You can have PowerPlay display "na" instead. That way, missing items aren't misinterpreted as zero values.

Steps
1. Open the Measure property sheet, and click the General tab. 2. In the Missing Value box, click NA. 3. Click OK.

Reverse the Sign in Financial Models


You can reverse the sign of measure values for specific categories (but not for root categories) if the sign would not otherwise make sense to the intended audience. For example, in some accounting systems, revenue balances are shown as negative values, while expense balances are shown as positive. Reversing the sign does not affect the value properties, only how they appear in PowerPlay. However, your users should be advised that sign reversal can alter the results of calculations done in PowerPlay Reporter. If you note which categories contain reversed signs in the Description box on the Measure property, users can see this information in PowerPlay by using Explain.

Example
You are creating reports that use data drawn from an accounting system. Initially, the balances for assets and expenses are shown as positive, and the balances for liabilities and revenues are shown as negative. You want to distribute the information to sales managers. To make the information appear more logical to this audience, you reverse the sign for revenue to positive and the sign for expenses to negative.

Steps
1. Open the Measure property sheet, and click the General tab. 2. Select the Reverse the Sign check box, and click OK. This option reverses the values of the measure when the cube is generated. 3. Open the dimension diagram containing the categories you want to change. 4. Open the Category property sheet, and click the General tab. Step-by-Step Transformer 107

Chapter 4: Identify the Measures You Want to Analyze 5. Select the Reverse the Sign check box, and click OK. 6. Repeat steps 4 and 5 for each category you want to change.

Control How Measures Roll Up: Overview


The Rollup function specifies how Transformer and PowerPlay summarize (or roll up) measure values from child categories to their parent categories. Summarization occurs when PowerPlay displays measure values in categories above the lowest level of detail. PowerPlay uses two kinds of rollups: Regular Rollup combines records with identical values in non-measure columns. It is applied to the time dimension by default, unless Time State Rollup is specified for the measure. Time State Rollup combines records with identical values in the time dimension according to the Time State Rollup function selected. For example, level of inventory has been recorded for a specific product, at the same warehouse, in the same year, on different dates. If you select Average, and the Degree of Detail set for the column is Day, PowerPlay sums the identical records and divides by the number of day categories in the month. However, if you select Last, PowerPlay selects the inventory value for the last day of the month.

Notes
A third type of rollup, Duplicates Rollup, is used only when Consolidation is selected. For details on this type of summarization, see "Consolidate Data: Overview " (p. 120). If you select both Regular Rollup and Time State Rollup, Transformer performs the regular rollup first, and then the time state rollup. If the measure is used as a weighted value (as in allocation), only the Sum rollup function can be used. If a model has more than one time dimension, only regular (not time state) rollup can be performed. If you describe the type of rollup used in the Description box on the Measure property, users can see this information in PowerPlay by using Explain.

Set a Regular Rollup Function for Measures


By default, PowerPlay automatically summarizes (or rolls up) the values for a measure by totaling them (Sum function). You can change this Regular Rollup default to Minimum, Maximum, Average, Count, Count All, Any, or External.

Example
A sales analysis model contains a measure named QTY. In PowerPlay, you want to show the average monthly quantity sold for each store. You use Regular Rollup (Average function) to obtain the correct result. Your source data is as follows.

108 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze

DATE
19980101 19980131 19980101 19980131

STORE
STORE1 STORE1 STORE2 STORE2

PRODUCT
TR139SQ TR139SQ TR139SQ TR139SQ

QTY
500 200 400 600

The following results appear in the PowerPlay/OLAP report.

Notes
Calculated measures can be computed before rollup (in which case the values are based on source values) or after rollup. For the time dimension, if you select Average for Regular Rollup, PowerPlay sums the records and divides by the number of records in each month.

Steps
1. Open the Measure property sheet, and click the Rollup tab. 2. In the Regular Rollup box, click a rollup function. If you select the Average function, you can weight the average by selecting a measure from the Regular Weight box. However, the weighting measure must have a rollup function of Default or Sum. 3. Click OK.

Create Cubes with External Rollups


In Transformer, you use the Rollup function to summarize (or roll up) measure values in the cube. If you have data that you don't want changed in the cube, you can use externally rolled up measures. By directly assigning measure values to specific data points in the model, you control which measure values are displayed in the cube. Externally rolled up measures are contained in externally rolled up transactional data sources. Each data record uses a category code to reference the category in the model, and each code must be predictable; that is, it must uniquely identify a specific category in the source file. Otherwise, Transformer makes the code unique by adding a tilde (~) and a numerical suffix.

Step-by-Step Transformer 109

Chapter 4: Identify the Measures You Want to Analyze If a cube contains more than one instance of the category code Item, it renames the second one Item~1, the third one Item~2, and so on. These category codes are not predictable. To avoid this problem, define your category codes in one of the following ways: Ensure that all source values are unique in a dimension. Use the Calculated Columns feature to create unique categories. Edit the Model Definition Language (.mdl) file to make the category codes unique.

Creating a cube with externally rolled up measure values involves specifying structural and transactional data sources building a model creating measures from the measure columns mapping the source columns to the dimensions defining measures as being externally rolled up creating a date, if applicable specifying the degree of detail for allocations, if applicable

Notes
Externally rolled up measures can be used with alternate drill-downs, partitioned cubes, and special categories. In Series 7 Version 4 and subsequent versions, external rollup is also supported for time-based partitioned cubes. For a special category that has more than one child category, you must provide the externally rolled up value for each special category; otherwise, the category value will be zero. If the special category has only one child, you can either supply a value or accept the value taken from the child. In Series 7 Version 4 and subsequent versions, duplicate records are overridden, not summed. Category codes that are not in the structural data source are ignored. This outcome is reported in the log file. All records must specify measure values. By default, missing values appear as zeros in reports. Consolidation cannot be performed on externally rolled up measures.

Steps
1. Define the dimensions by using structural data sources and then add the transactional data source to your model. 2. Open the Data Source property sheet for the transactional data source and click the General tab. 3. Click the Contains Externally Rolled Up Measure Values box, and click OK.

110 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze 4. Add the measures to the Measures list. 5. Open the Dimension property sheet for each dimension that is to have externally rolled up measures applied to it, and click the General tab. 6. In the External Rollup Column box, select the transactional column that contains the category codes the measure values will map to, and then click OK. 7. For each externally rolled up measure, open the Measures property sheet, and click the Rollup tab. 8. In the Regular Rollup box, click External. Note: For date dimensions or dimensions without unique source values, specify the column from which category codes can be assigned in order to make these codes unique in the dimension, as follows: Open the Level property sheet for each level in each dimension with externally rolled up measures. In the Category Code Column box, select the structural source column that will map to the level. If you are using allocations, specify the Degree of Detail on the Column property sheet.

9. Create the cube.

Set a Time State Rollup Function for Measures


Time state represents the state of a measure at a specific time, for example, the inventory at the end of the month. The Degree of Detail property is set to the lowest level transaction (or the bottom of the tree). For example, if your source file contains daily transactions, then your degree of detail should be Day. You can use any of the following Time State Rollup functions to combine records containing identical values in non-measure columns: Minimum, Maximum, First Period, Last Period, Current Period, and Average. The selected function determines how PowerPlay summarizes the measure values.

Example
The source data contains warehouse inventory for the middle and end of each month. In PowerPlay you want to show the inventory at the end of each quarter. You select a Time State Rollup (Last Period function). Your source data is as follows.

DATE
19990915 19990930 19991015

PRODUCT
TR139SQ TR139SQ TR139SQ

QTY
500 200 300

Step-by-Step Transformer 111

Chapter 4: Identify the Measures You Want to Analyze

DATE
19991031 19991115 19991130 19991215 19991231

PRODUCT
TR139SQ TR139SQ TR139SQ TR139SQ TR139SQ

QTY
300 400 600 250 350

The results after Time State rollup are as follows.

DATE
199909 199912

PRODUCT
TR139SQ TR139SQ

QTY
200 350

At the year level, PowerPlay displays the last inventory level entered.

Notes
Regular Rollup is not applied to a time dimension if Time State Rollup is selected. You cannot apply summarized views to a time dimension when the model contains a measure with Time State Rollup applied. See "Consolidate Data: Overview " (p. 120). Time State Rollup cannot be applied to a measure if the model has more than one time dimension. If you use Time State Rollup, but more than one record is associated with each data point, values will be summarized using Regular Rollup. For example, if there are two inventory stock counts daily, the two records may be summed even though you specified a Time State Rollup function of Last Period. You can use the Calculated Columns feature to consolidate multiple measurements. If so, you should also set the Regular Timing option to Before Rollup. Otherwise, Transformer performs the measure calculation after rollup, which yields inaccurate results. See "Control When Measures Are Calculated" (p. 105). If a record is missing, you may get zeros when you apply a rollup. For example, if you select a time state rollup of Last Period, but your source data does not contain records for every day of every month, then whenever values are missing for the last day of the month, PowerPlay displays a zero. A time state rollup of Average may also result in zeros, but you can specify that any missing values display as "na". See "Display Missing Values" (p. 107).

112 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze If you select a time state rollup of Average, the Days in Week affects the results. If the Degree of Detail is Day, and your Days in Week selection excludes weekends, PowerPlay sums the records for each month and divides by the number of categories (non-weekend days) in that month.

Steps
1. Open the Measure property sheet, and click the Rollup tab. 2. In the Time State Rollup box, click a Rollup function. If you select the Average function, you can weight the average by selecting a measure from the Time State Weight box. However, the measure associated with the weighted values must have a Rollup function of Default or Sum. 3. Click OK.

Ignore Null and Missing Values in Specified Time State Rollups


In Transformer Series 7 Version 4 and subsequent releases, you can specify that null and missing values be ignored when Average and Weighted Average time state measures are rolled up. However, Transformer only supports this feature if you specify that missing values be treated as "NA", on the Measure property sheet. Also, you must retain the default setting for First Period, Last Period, and Current Period. That is, null and missing values cannot be excluded from the rollup calculations for these measure types. You can achieve the same result from the command line by enabling the IgnoreMissingValue property for the appropriate OLE object (objMeasure). When using model definition language (MDL), set the IgnoreMissingValue keyword to TRUE when you create or update the definition for a supported measure type.

Steps
1. Open the Measure property sheet and click the General tab. 2. In the Missing Value list box, select NA. 3. Click the Rollup tab. 4. Select the Average and Weighted Average time-state rollups check box and click OK. Note: If the rollup measure is of type First Period, Last Period, or Current Period, the check box for the Ignore feature is disabled. Missing (null) data values are always excluded from Min and Max calculations for rollups, whether they are set by Transformer to display as "0" or "n/a" (the NA setting).

Set Regular and Time State Rollup Together


You use Regular Rollup and Time State Rollup together to summarize measure values in PowerPlay. When you select both, PowerPlay performs the regular rollup first, and then the time state rollup.

Step-by-Step Transformer 113

Chapter 4: Identify the Measures You Want to Analyze

Example
The source data contains the inventory levels for the middle and end of each month in all warehouses. In PowerPlay, you want to show the total inventory at the end of each quarter. To obtain the correct result, you define a view that removes the warehouse category, and then use Regular Rollup (Sum) and Time State Rollup (Last Period). Your source data is as follows.

DATE
19991115 19991115 19991130 19991130

WAREHOUSE
WAREHOUSE1 WAREHOUSE2 WAREHOUSE1 WAREHOUSE2

PRODUCT
TR139SQ TR139SQ TR139SQ TR139SQ

QTY
500 400 200 600

The results after Regular rollup are as follows.

DATE
19991115 19991130

PRODUCT
TR139SQ TR139SQ

QTY
900 800

The results after Time State rollup are as follows.

DATE
199912

PRODUCT
TR139SQ

QTY
800

Notes
Transformer cannot perform Time State Rollup for a measure when there is more than one time dimension in the model. You cannot apply summarized views to a time dimension if the model contains a measure with Time State Rollup applied. See "Set a Time State Rollup Function for Measures" (p. 111). For the time dimension, if you select Average for both Regular and Time State Rollup, Transformer performs Regular Rollup first. It then sums the remaining consolidated records and divides by the number of leaf categories in the time period. Lastly, it sums the remaining records and divides by the number of months in the quarter or days in the month. See "Set a Time State Rollup Function for Measures" (p. 111).

Steps
1. Open the Measure property sheet, and click the Rollup tab.

114 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze 2. In the Regular Rollup box, click a rollup function. If you select the Average function, you can weight the average by selecting a measure from the Regular State Weight box. However, the weighting measure must have a rollup function of Default or Sum. 3. In the Time State Rollup box, click a rollup function. If you select the Average function, you can weight the average by selecting a measure from the Time State Weight box. However, the weighting measure must have a rollup function of Default or Sum. 4. Click OK.

Allocate Measures: Overview


The allocation feature distributes data, specified at a summary level of a dimension, to lower levels. For example, actual sales revenue may be tracked daily, while sales revenue is forecast quarterly. Allocation is a useful way of distributing quarterly forecasts to the month and day levels. The following types of allocation are available: From Level (typically by direct association with the data source) N/A (do not allocate) Constant (allocate a measure as a constant value to all descendants) By Measure (allocate to descendants proportionally according to another measure)

You can allocate measures over entire dimensions, when the measure appears in a data source that does not reference the dimension over levels in a dimension, when the measure is already specified at a level in that dimension over categories in levels, when the measure is specified to the particular level

Process
Add two or more data sources to a model. Define the measures. Create a dimension map. Allocate measures to dimensions or levels that lack them. Check the relationships between dimensions and a measure by using the Show Scope command.

Notes
You cannot allocate a calculated measure. However, you can allocate a regular measure in proportion to a calculated measure. See "Control When Measures Are Calculated" (p. 105).

Step-by-Step Transformer 115

Chapter 4: Identify the Measures You Want to Analyze Models that use multiple data sources (and hence measure allocations) are supported in all editions of Transformer. In some cases, you may want to prevent the automatic rollup of constantly allocated measure values. In Transformer Version 7.3 Maintenance Release 2 and subsequent releases, you can set a special variable so that the totals in your summary reports are the same as the constants specified for each individual member of a subset. Use the steps appropriate to your implementation: On Windows, locate the cern.ini file in the installation_location\bin directory, open it in any text editor, and add the following entry to the [PowerPlay DataServer] section:
DISABLE_CONSTANT_ALLOCATION_ROLLUP=1

On UNIX, create an environment variable called


PPDS_DISABLE_CONSTANT_ALLOCATION_ROLLUP and set its value to 1.

In Bourne shell, add the line export PPDS_DISABLE_CONSTANT_ALLOCATION_ROLLUP Note: This change will affect 80/20 suppression, calculated expressions, alternate or special drill-downs, as well as custom subsets. Also affected are dimension filtering and alternate and special drilling in Visualizer.

View Measure Scope


Measure Scope is a color-coded dimension map that highlights relationships between the measure and levels in a dimension. This map helps you identify where a measure has meaning in models based on multiple data sources. The scope of a measure depends on its relationship to the levels in the dimension map:

Level Derived Directly


When the scope level is derived directly, the level takes its category values directly from the measure. For example:
Date Year Quarter Month Day

The levels Year, Quarter, and Month are directly associated with the measure, while the lowest level, Day, is associated with another measure.

Level with Allocated Measures


Scope levels with allocated measures are determined either by a constant or proportionally to another measure. For example:

116 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze

All Players Division Team Player

The dimension contains a level named Player, whose measure values are allocated proportionally to an ancestor level.

Notes
If a calculated measure is based on two regular measures, the measure scope dimension map shows the lowest common level. If the lowest common level has been allocated, the level appears with the same shading (green) for both the allocated measure and the calculated measure. You can manipulate the measure scope map in the same way as a regular dimension map. The manipulations affect all open maps. To change the default colors of the measure scope map, click the Dimension Map tab (Preferences dialog box). Use the pop-up menu in the Measures list to see measure scope.

Steps
1. In the Measures list, select the measure whose scope you want to see. 2. From the Edit menu, click Show Scope.

Set Dimension Allocation


Transformer automatically allocates a measure to an entire dimension when the source of the measure does not reference that dimension. By default, Transformer allocates the measure value as a constant throughout the dimension. You can change the default to N/A (do not allocate) or to By Measure (proportionally allocate, based on values in another measure). Models made from multiple data sources, and hence allocation capabilities, are supported in all editions of Transformer.

Example
Sales revenue is tracked daily by products and regions. Sales forecasts are made annually by product line. By default, Transformer allocates the forecasts as a constant to the Region dimension.

Step-by-Step Transformer 117

Chapter 4: Identify the Measures You Want to Analyze However, you don't want the forecast sales appearing in that dimension. By using the Dimension property sheet, you can disable allocation by selecting Do Not Allocate.

Steps
1. Open the property sheet for a dimension that is not referenced by the measure you want to allocate, and click the Allocation tab. A list of measures that are candidates for allocation appears. 2. Right-click the Allocation Type for the measure, and select an option. Note: You can allocate measures to an entire dimension from the dimension diagram by doubleclicking the Root category.

Set Level Allocation


When a measure applies to only some levels in a dimension, you can allocate the measure from a level where it applies to all lower levels. You can allocate in a regular dimension or a time dimension. When you allocate a measure from a level, all categories in the level inherit the allocation type. However, you can change the allocation type of individual categories. See "Set Category Allocation" (p. 119). Models made from multiple data sources, and hence allocation capabilities, are supported in all editions of Transformer.

Example 1: Level Allocation


Sales revenues are tracked daily by products and regions. Sales forecasts are done annually, by product line.

You want to allocate your sales forecasts to Product Type and Product Name in proportion to actual sales revenues. Using the Level property sheet, you set the allocation type for Product Line to By Measure (Revenue).

118 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze

Example 2: Level Allocation in a Time Dimension


Starting from the same model as in the example above, you decide to allocate your annual sales forecasts on a monthly basis, in proportion to actual sales revenues. Using the Level property sheet, you set the allocation type for Year (the time dimension) to By Measure (Revenue).

Steps
1. Double-click the parent level in the dimension map to open its property sheet. For example, to allocate measure values to the Product Type and Product Name levels, doubleclick the Product Line level.

2. In the Level property sheet, click the Allocation tab. A list of measures that are candidates for allocation appear. 3. Right-click the Allocation Type for the measure, and select an option. Note: You can check the relationships between dimensions and a measure by using the Show Scope command.

Set Category Allocation


When you change the allocation type for a level, the new allocation type is applied from the categories in that level to all descendant categories. You can also set the allocation type for an individual category.

Example
Some operating costs associated with your product lines are based on sales channel factors, such as direct sales and catalog orders. Others are based on revenue. You want to allocate costs for each

Step-by-Step Transformer 119

Chapter 4: Identify the Measures You Want to Analyze product line proportionally to each cost factor. Using the Category property sheet, you can set the allocation type for each product line category.

Steps
1. Open the dimension diagram. 2. Open the Category property sheet, and click the Allocation tab. 3. Right-click the Allocation Type for the measure, and select an option.

Suppress Allocation
Transformer automatically allocates a measure when the measure has no relationship to a dimension; the measure is allocated as a constant value throughout the dimension the measure is allocated from one level to the next lower level; the categories in a level inherit the allocation type from the higher level

In either circumstance, you can disable automatic allocation so that those measure values do not appear in your PowerPlay reports. When you disable allocation, Transformer creates data points with missing values, which are displayed in PowerPlay as zeros, by default. You can have missing values display as "na" instead. See "Display Missing Values" (p. 107).

Steps
1. Open the dimension, level, or category property sheet. 2. Right-click the Allocation Type, and select Do Not Allocate.

Consolidate Data: Overview


Consolidation uses rollups to combine records with identical non-measure values into a single record, reducing cube size and shortening access time in PowerPlay. Records may have identical non-measure values in the following circumstances: The source contains transactions with identical non-measure values. For example, two sales of the same product are made to the same customer on the same day. The degree of detail permits it. For example, the Degree of Detail for a column associated with the time dimension is set to Month, so day values in the source transactions are ignored during consolidation. A dimension is omitted from the cube. For example, two sales of the same product are made at different stores on the same day. If stores are omitted from the cube, the sales records have identical non-measure values. Categories in the cube are summarized or suppressed. For example, two sales of the same product are made to the same customer on the same day, but the colors differ. If colors are

120 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze omitted from the cube by using either of these dimension view options, the sales records have identical non-measure values. In cases 1, 2 and 3, consolidation uses Duplicates Rollup to combine records with identical values in their non-measure columns. In case 4, unless Time State Rollup is selected (Measure property sheet), consolidation uses Regular Rollup to combine records with values made identical through the use of dimension views.

When Consolidation Occurs


In cubes that use auto-partitioning, consolidation occurs automatically. You can specify the type of consolidation: Yes (with Sort) or Yes (Presort). However, a cube will not be consolidated if Time State Roll-up is defined for it, or if other roll-up conflicts will result from the consolidation.

Notes
To combine records without affecting the cube, you can use Regular Rollups and Time State Rollups without consolidation. These rollup combinations affect how PowerPlay aggregates measure values. For inventory records, for example, a Last Period time state rollup tells PowerPlay to show only the last measure value for each time period. See "Control How Measures Roll Up: Overview" (p. 108). The order in which rollups are done affects cube output: Duplicates Rollup precedes Regular Rollup. Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Example
The source data contains daily transaction records that are used to create the Date and Region dimensions, as follows.

DATE
19990105 19990110 19990131 19990201 19990228 19990305 19990315

REGION
East East East East East East East

STORE
Store1 Store2 Store1 Store1 Store1 Store1 Store2

QTY
50 20 40 60 30 60 40

REVENUE
5000.00 2000.00 4000.00 3000.00 4000.00 3500.00 4000.00

Step-by-Step Transformer 121

Chapter 4: Identify the Measures You Want to Analyze

Because the Degree of Detail is set to Month, Transformer ignores day values. Records for the same month and store (duplicates, in matching colors) are consolidated (summed). The results after Duplicates rollup (Sum) are as follows.

DATE
199901 199901 199902 199903 199903

REGION
East East East East East

STORE
Store1 Store2 Store1 Store1 Store2

QTY
90 20 90 60 40

REVENUE
9000.00 2000.00 7000.00 3500.00 4000.00

Your cube has a dimension view where the Store values are summarized to the East level.

After Regular rollup (Average), the monthly records for each Store in the East region are consolidated again.

DATE
199901 199902 199903

REGION
East East East

QTY
55 90 50

REVENUE
5500.00 7000.00 3750.00

Set a Duplicates Rollup Function for Measures


Duplicates Rollup specifies how Transformer aggregates records that contain identical non-measure values, that is, identical category names. The records may or may not have different measure values. For example, the following records are duplicates:

122 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze

DATE
19990101 19990101 19990101 19990101

STORE
Store1 Store1 Store1 Store1

PRODUCT
Tr139sq Tr139sq Tr139sq Tr139sq

QTY
50 20 40 60

PRICE
100.00 100.00 100.00 80.0

REVENUE
5000.00 2000.00 4000.00 4800.00

The default Duplicates Rollup for each measure is None (Regular Rollup); however, you can change the setting to Sum, Minimum, Maximum, Average, First, or Last.

Example
A source file is very large and contains many records with duplicate non-measure values. You can choose Average as the Duplicates Rollup function to combine the duplicate records (those with the same date, store and product, shown in a matching color) and reduce the size of the resulting cube. The data before rollup is as follows.

DATE
19990101 19990101 19990115 19990115

STORE
Store1 Store1 Store1 Store1

PRODUCT
Tr139sq Tr139sq Tr139sq Tr139sq

QTY
50 20 40 60

REVENUE
5000.00 2000.00 4000.00 4800.00

The results after Duplicates rollup (Average) are as follows.

DATE
19990101 19990115 19990115

STORE
Store1 Store1 Store1

PRODUCT
Tr139sq Tr139sq Tr139sq

QTY
35 40 60

REVENUE
3500.00 4000.00 4800.00

Steps
1. Open the Measure property sheet, and click the Rollup tab. 2. In the Duplicates Rollup box, select a rollup function. 3. If you select Average, you can weight the average by selecting a measure from the Duplicate Weight box.

Step-by-Step Transformer 123

Chapter 4: Identify the Measures You Want to Analyze 4. Open the PowerCube property sheet, and click the General tab. 5. In the Consolidate box, click Yes (with Sort) or Yes (Presort).

Perform Consolidation
Transformer only performs a default consolidation when it will be beneficial. You can request consolidation by changing the consolidation setting in the PowerCube property sheet. If values for calculated measures are generated before rollup, Transformer cannot perform consolidation. However, you can overcome this problem by using calculated columns, because such values are always calculated before rollup, and consolidation is again possible. See "Define a Calculated Column" (p. 61).

Steps
1. Open the PowerCube property sheet. 2. Click the General tab. 3. In the Consolidate box, click Yes (with Sort) or Yes (Presort).

Set Up Drill-through Targets: Overview


You can specify various drill-through targets in your model, to provide further details or more timely perspectives on the data. Depending on your edition of Transformer, you can set up drillthrough between PowerPlay reports (.ppr or .ppx files) and Impromptu reports (.imr files), to show users the same or different measures (such as count) to the transaction level of detail, but only include summary records in the cubes between PowerCubes, IBM Cognos 8 or ReportNet reports (.crr files) or Query Definition files (.iqd and related formats) from one cube to another, to overcome row or category limitations or to link cubes that can't be created from one model because they are stored in different places or updated at different times from a cube to a wide variety of associated files, such as a macros, Word files, or PowerPoint slides, using OLE automation to launch the required application from a PowerPlay cube (.mdc file) to a third-party OLAP source, such as Hyperion Essbase, or a derivative such as an Essbase linked partition or reporting object. For more information, see the PowerPlay Connect online help.

Drill Through to Impromptu


You can set up drill-through access to an Impromptu report. When users find interesting trends or anomalies they can then drill through to the underlying data in the Impromptu report referenced in the cube.

124 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze The advantage of this approach is that the often query-intensive work of ad hoc data analysis is performed entirely locally, using summarized data in the cube. Only when user analysis reveals something interesting, such as an exception or a noticeable trend, does the user start Impromptu to issue a query to the database, which returns a relatively small data set. This approach greatly reduces the potential for too many queries against the data warehouse or mart.

Drill Through with Impromptu Query Definition Files


If your Transformer model uses an Impromptu query definition file (.iqd) as a data source, Transformer automatically adds the corresponding Impromptu report (.imr) to the drill-down list for each measure. The correct filter is passed automatically, so your Impromptu report displays the appropriate data based on the dimension line in your PowerPlay report. For .iqd data sources, the default column name in the model is the database column name. You may change it.

Drill Through without Impromptu Query Definition Files


If your model isn't based on an .iqd file, or if you want to drill through to destinations other than .imr reports, you can add the target files to the drill-down list in the Measure property sheet (if you are restricting the drill-down capability to a single measure) or the PowerCube property sheet (if the drill-down applies to any point in the cube). In Transformer Version 7.3 and subsequent releases, you can also restrict drill-through from a measure or cube by level, to narrow the scope. For more information, see "Add or Remove Drillthrough Targets" (p. 126).

Drill Through to Other Products


You can drill through to destinations other than an Impromptu report. If you want to drill through from a specific measure, add the destination file to the drill-through list in the Measure property sheet (Drill-through tab). If you want to drill through from any point in the cube, add the destination file to the drill-through list in the PowerCube property sheet (Drill-through tab). If you want to set up drill-through access to remote cubes, you may be able to use the PowerPlay Enterprise Server administration tool to identify your drill-through targets. However, bear in mind that this tool identifies each target cube by its label followed by an .mdc extension, not by the full path and physical file name referenced in Transformer. If you relabel a target cube to make its name more meaningful to your remote users, remember to update the drill-through access in your model and recreate the cube. For more information about setting up drill-through access between cubes and reports created with third-party OLAP tools, see the PowerPlay Connect online help.

Notes
If a PowerPlay filter applies to a level that was not declared "unique" in the model, the filter macro passed to Impromptu contains information for that level and for each ancestor level until a unique level or the highest level in the dimension is reached. For example, if a category called Burlington belongs to the level City, which was not declared unique, the filter macro contains City=Burlington plus the next higher level, State=Massachusetts.

Step-by-Step Transformer 125

Chapter 4: Identify the Measures You Want to Analyze For time dimensions, measure values are specified only for the most detailed leaf categories. Categories in the time dimension are expressed as ranges from the first to the last descendant. For example, the year 2005 would be represented as 20050101-20051231. For special and manually added categories, all child categories are handled successively, until the source level is reached.

Add or Remove Drill-through Targets


If a model is based on an Impromptu Query Definition (.iqd) file, the corresponding Impromptu reports (.imr) appear in the drill-through list for each measure in the source. You can remove some or all of these reports from the Measure property sheets, or add additional reports that are not associated with the original source. To change targets for all measures in a cube at once, use the Drill Through tab on the PowerCube property sheet. Because cubes and other drill-through files may be created in different places at different times, their data and related information (sometimes called metadata) may not always match the information in the original cube. Be sure to check that you are drilling through to the most up-to-date information.

Examples of Drill-through Combinations


You can create a combination of drill-through targets to accommodate your various needs, as follows: Drill through from a higher-level cube, showing the results for an entire product line, to a cube that has the same measures and dimensions but has additional levels in the Products dimension. Users can drill through to the detailed cube to analyze results based on different attributes such as color or model. Drill through to a cube having the same degree of detail, but differing dimensions. The drillthrough cube may be separated from the original cube in time and space. For example, your regional office maintains client addresses in an IBM Cognos Query report. Add this report to the drill-through list on the PowerCube property sheet so your users can see address details in PowerPlay when they select any cell. Drill through to a cube having the same dimensions, but not all of the measures. For example, a model based on an .iqd file has the measures Profit Margin, Revenue, and Cost, and the drillthrough report shows all three. You can remove the .imr report from the property sheet of the Profit Margin measure. Drill through to only those reports that are in scope, excluding all others based on a set of restrictions established in the cube model.

Steps to Add or Remove Drill-through Targets


1. Open the Measure property sheet, and click the Drill Through tab. Note: Or, if you are setting up drill through for all measures in a cube, open the PowerCube property sheet and click the Drill Through tab there. 2. If you are setting up drill through for the first time, click the Allow Drill Through for this Measure box. 126 IBM Cognos Series 7 PowerPlay Transformer

Chapter 4: Identify the Measures You Want to Analyze 3. Click Add, find the target file, and click Open to add it to the custom drill-through list. You can then select it and click Modify to make changes, or Remove to delete it from list. 4. Optionally, type explanatory text in the Report Description box. Your users can then select Explain in PowerPlay to see this information. 5. Click OK.

Steps to Restrict Drill-through Targets by Level


1. In the Dimension Map, from the Edit menu, click Show Scope and then select the DrillThrough check box. 2. From the first drop-down menu, click the measure or cube on which to restrict drill-through by level. 3. From the second drop-down menu, click the drill target for which the restriction will apply. 4. In the dimension map, click the level or dimension for which you want to restrict drill-through. 5. Right-click and click Exclude DrillThrough. The interface highlighting shows which level or dimension is now unavailable, or out-of-scope, for drill-through. By default, the item appears on a red background: the highlighting used for a source with missing columns. 6. Build the cube, open it in your reporting application, and confirm that the level or levels you excluded do not support drill-through. 7. Test that the error-handling is consistent, in your client application. For example, PowerPlay users who click on the drill-through icon while positioned in an excluded level see the following message: "There are no drill through targets available. Verify your selection or confirm that drill through is available at this level. Note: You can only restrict drill-through targets in PowerCubes. Drill-through operations for third-party cubes are managed by the PowerPlay Connect component.

Add Drill-through Targets to UNIX Cubes


If you have the appropriate edition of Transformer, you can set up drill through to a cube on a UNIX server. First, you must create a temporary file in the Custom Reports list. Once you have created the temporary file, you can enter the path of the file you want to drill through to.

Steps
1. Open the PowerCube property sheet and click the Drill Through tab. 2. Click Add, name your temporary file in the File Name box, and click Open to add it to the Custom Reports list. 3. Select your temporary file from the Custom Reports list and click it once to edit the filename. 4. Type the path to the UNIX server, and press Enter.

Step-by-Step Transformer 127

Chapter 4: Identify the Measures You Want to Analyze

128 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes


When you select the Create PowerCubes command (Run menu) in Transformer, you create a default or local PowerCube with no custom properties. You can distribute the resulting binary file, or files if the MultiFileCubeThreshold setting has been exceeded. These contain all the source data for the dimensions and levels in your model. However, to optimize processing in your production environment, we recommend that you define custom views, and take advantage of efficiencies afforded by cube groups or time-based partitioned cubes. Experiment until you have a satisfactory balance between cube creation and data retrieval times. Try creating similar but different models that meet the needs of each target group (perhaps pointing to different source files), then build one focused cube from each of these models one model and one cube, but use dimension views to remove unwanted categories and offer different perspectives on the data one large shared cube, but hide certain dimensions from some users by implementing Series 7 user class views a group of several smaller, related cubes from one model, but control the measures and details created in each cube a group of smaller member cubes, related across a time dimension, and combined into one larger time-based partitioned cube

Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Define a PowerCube Manually


When you want to tailor the properties of a PowerCube to meet the specific needs of users, you can define the cube manually. Examples of items that you can customize include the location of the PowerCube, the dimensions and measures to include, and password security. To create a cube, your model must have at least one dimension with at least one level, and its Measures list must show at least one measure.

Steps
1. Click in the PowerCubes list to make it active and, from the Edit menu, click Insert PowerCube. 2. In the PowerCube Name box, type a name for the new PowerCube. 3. In the PowerCube file name box, specify a location to save the PowerCube. Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

129

Chapter 5: Define and Create PowerCubes 4. In the Temporary file name box, type an alternative name for the PowerCube. 5. On each of the other tabs, set the properties you want to apply. 6. Click OK.

Define PowerCube Groups


You can create a cube group for any level in a dimension, and then add member cubes that include selected categories or measures. For each cube in a group, you specify the degree of detail to be included so that your users see only the most relevant data. Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Example
Montor Expeditions, a nationwide chain of travel agencies, uses one data source and one model to generate reports on its sales operations. But, instead of creating one large cube that is accessed by users in different user classes, a set of smaller cubes are accessed by only one user class each. Senior managers see total and regional sales figures for each travel product. Regional managers see figures for their regions only. Although it takes longer to build several smaller cubes, managers get faster query response times and each regional cube only contains data relevant to that regional manager.

Steps
1. Click in the PowerCubes list to make it active and, from the Edit menu, click Insert PowerCube. 2. In the PowerCube Name box, type a name for the new PowerCube group. 3. Click the Cube Group tab. 4. In the Dimension box, select the dimension that you want to build the PowerCube group from. 5. In the Level box, select the level whose categories will become the individual cubes in the PowerCube group. 6. In the Focus of Detail group, select the levels of detail as required. For more information about each option, see the What's This? Help.

Define a Time-Based Partitioned Cube


Time-based partitioned cubes are a collection of child cubes, based on one level in the time dimension, that together form one large cube. Each member cube is partitioned, or split, at the appropriate level, such as year, quarter, or month. Report users can view each cube independently, or access the entire collection of member cubes as one time-based "virtual" cube. This means that reports can be viewed across the entire time dimension, or across only one level in the time dimension, such as a specific month. 130 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes Time-based partitioned cubes offer a better alternative for updating time-segmented data than traditional cube groups or incrementally updated cubes. The benefits of using time-based partitioned cubes include easier management, smaller update windows, enhanced end-user performance, and the elimination of large cube rebuilds. Category sorting in time-based partitioned cubes was enhanced in Series 7 Transformer, and support for external rollups was added for time-based partitioned cubes in Series 7 Version 4 and subsequent versions.

Example
In this sales analysis example, the time-based partitioned cube group is defined on the Quarters level and cubes are rebuilt every quarter. After one year, there are separate cubes for the four quarters of 2005. In Q1 of 2006, you run an update creating a 2006_Q1 child cube. The control cube has categories in the time dimension for 2005 and 2006, and the text file (.vcd) generates 5 lines, one for every quarter (2005_Q1 to 2006_Q1 inclusive).
Quarters.vcd 2005_Q1.mdc

2005_Q2.mdc

Quarters.mdc

2005_Q3.mdc

2005_Q4.mdc

Implementation Details
Transformer creates and maintains two separate files to manage the time-based cube group: a time-based control file (.vcd), an editable ASCII-format text file that references the cubes that make up the time-based group, and their physical locations a control cube (.mdc), which contains the high-level metadata about the overall structure of the cubes maintains a list of all measures, dimensions and root categories, currency records, and the entire structure of the time dimension contains the control information to gather the data from the member cubes serves as the entry point for PowerPlay users to access the time-based partitioned cube shares the same filename and location as the .vcd file

Advantages
Support for rolling time periods. You can manually edit the .vcd file to remove references to cubes that are no longer required, and drop invalid or out-of-date categories. The control cube and definition file are automatically updated with the newest categories and cube references.

Step-by-Step Transformer 131

Chapter 5: Define and Create PowerCubes For more information about implementing rolling time support, see "Customizing a Time-Based Partitioned Cube" (p. 136) Support for slowly changing dimensions. Existing child cubes retain the history, and new cubes can be easily created by taking advantage of the Category Move capability. Faster build times. Time-based partitioned cube build times tend to be much faster when compared with traditional incrementally updated cubes. In time-based partitioned cubes, new data is typically added in the form of a single partitioned cube, rather than adding data to a large existing cube. Time-based partitioned cubes also eliminate the periodic need to do a full build, and this results in shorter down-times for production systems, and a more manageable update schedule. More flexibility. By default, time-based partitioned cubes only relate to one specific level of time granularity, such as Month. However, you can still reference other time levels in the same model or cube, if this will improve runtime performance. Better performance. When report consumers drill-down into the time dimension, performance improves because they are accessing fewer cubes. When they reach the level of time granularity that the cubes are based on, for example January or Q1, performance will improve further because they are now only accessing a single cube.

Category Inclusion in Time-based Partitioned Cubes


Not all children of a category are found in each member cube. Category inclusion is based on the time level specified when creating the time-based partitioned cube. If data is outside the specified time period, it is not included in the time-based partitioned cube. Ideally, modelers should be able to create time-based partitioned cube groups where every child cube contains all the relevant or possible categories: the "inclusive" approach. However, this practice may not always be feasible. For example, suppose new categories are only added to the latest cube. The sort order is then stored in the individual child cubes, called "disjoint member cubes", rather than the overall parent cube. Transformer may not have the necessary context to interpret the new parent-child relationships, or to guarantee proper sorting of categories. Although Series 7 Transformer and subsequent releases use new algorithms to better handle such scenarios, unexpected sorting orders may result from any significant change to the model, including multiple category deletions the addition of many new categories that lack contextual information about their parent-child and sibling relationships use of the Unique Move feature

Sorting Considerations
In your reporting application, a group of time-based partitioned cubes appears to be a single "virtual" cube, but the data in the individual cubes represents a business that may be changing slowly over time. Even if the control cube contains high-level metadata about the overall structure of the cubes, frequent changes to the metadata may affect how time-based partitioned cubes perform. For sorting 132 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes to work properly, for example, the changes in the categories must be relatively slow and orderly, and there must be no significant changes to the metadata categories in the overall model. The list of children of a category consists of the merged list of all children of that category, from each of the separate member cubes. By their nature, time-based partitioned cubes are designed to handle large amounts of time-related OLAP data in a seamless, efficient manner. As noted above, cube updates and query times are normally faster. However, the extra query time used to sort across multiple children cubes may incur a measurable performance overhead. There may also be an increased memory requirement. The "overhead" varies, depending on such factors as the number of cubes referenced by the query and the number of child categories per parent being sorted.

Adding New Data


New categories are added to the newer cubes in the normal manner. However, older pre-existing categories may not have new data associated with them in the later cubes. In such cases, not every child cube may contain the complete set of metadata (category information, relationships, and measure values). If the category lists do not remain stable over time, or if major changes occur between cube updates, it may be difficult for Transformer to understand and correctly interpret the context of any moved categories. That is, the integrity of the category hierarchy, or parent-child and sibling relationships, may not be reflected in each child cube. Use of the Unique Move feature compounds the problem, because the moved category becomes separated from its context (its parent and siblings). This can produce unexpected sorting results.

Example 1: Adding New Data


Suppose your model design includes several child cubes and the data added to your time-based partitioned cube includes new categories that did not previously exist. Because there is an overlap in the time periods, the overall cube sort order reflects a merging of the categories. More recent categories are appended to the end of the list, destroying the sort order. The parent context is unavailable in the child cubes, so the category list cannot include categories missing from the member cubes. If your query spans multiple child cubes, the overall sort order is a merging of the categories from the individual cubes.

Example 2: Adding Categories to Disjoint Member Cubes


Suppose your model design includes disjoint member cubes. The overall category order in the parent cube is A, B, C, D. Categories A and B appear in one child member cube; C and D occur in the other. Previously, when you added a new category, E, to the A+B member cube, the sort order in the reporting applications may have been A, B, E, C, D. Using the new algorithm, E is correctly recognized as the child of the same parent as A, B, C, and D. Sorting occurs as expected: A, B, C, D, E.

Example 3: Changing Dimensions in Disjoint Member Cubes


Time-based partitioned cubes are optimized to undergo incremental updates in which the metadata changes gradually over time. They are not designed for cases where significant numbers of child Step-by-Step Transformer 133

Chapter 5: Define and Create PowerCubes categories are deleted or moved, using Unique Move for example. Operations such as these remove historical context, producing disjoint member cubes in which unexpected sort orders may appear.

Slowly Changing Dimensions


Time-based partitioning allows you to add data to an existing cube and move existing categories within a dimension, while maintaining their category code identifications, a capability referred to as support for slowing changing dimensions. For example, suppose you make the following changes, over several months: Delete a category. Add a new category in its place. Move the added category to a new parent.

Such changes are sufficiently gradual to preserve the context, or original parent-category information, from one update to the next. The original sort order is maintained. Bearing in mind the warnings about unexpected sort order, you can use unique moves in time-based partitioned cubes if both Unique and Move are selected on the Level property sheet. Any changes in the model are reflected in the new member cubes. If you make changes in the model and attempt to build the time-based partitioned cube, a warning message appears indicating that the model has changed. If you continue with the build, the new member cube is built reflecting any changes. Historical information continues to exist in older member cubes; new information is placed in the new member cubes. It is possible that rollups do not reflect the expected values because they may be using data from two sources.

Example: Slowly Changing Dimensions


The control cube may be using the older cube data combined with the data stored in the newest member cube to form the parent value in the time-based partitioned cube. When the model structure is changed, the older member cubes are locked and are not updated with any new information. For example, in the crosstab below, Marthe Whiteduck has sales for 2001 and 2002.

When Marthe moves from Vancouver to Ottawa in 2003, the report now displays the historical data for 2001 and 2002 in Vancouver, while also displaying the new data for 2003 in Ottawa.

134 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

Process
When creating a time-based partitioned cube, Transformer creates member cubes as part of a cube group defined against a level in the time dimension. Transformer then creates a control cube and the .vcd, combining the member cubes into one large cube. Only one time dimension can be in the model: more than one disables the Enable Time-based Partitioning check box. The member cubes of a time-based partitioned cube must each cover a distinct level, such as Year, Quarter, or Month. They do not have to all conform to the same time period. You can open the .vcd file and manually edit it to include or exclude cubes. For example, performance can be improved by adding entries in the .vcd file for cubes that are at a higher level of the time hierarchy, such as the Quarter or Year level. For more information, see "Customizing a Time-Based Partitioned Cube" (p. 136).

Restrictions
Time-based partitioned cubes cannot be created if the model already contains a feature that is not supported with them. The following considerations pertain to the use of time-based partitioned cubes: Only one time dimension is supported. A time-based partitioned cube cannot be defined if more than one time dimension exists in the model. Dimension calculation definitions that create calculated categories are not supported. You cannot use a calculated category at the time dimension level in a time-based partitioned cube. Manually created special categories are supported, but the placement of special categories in a time-based partitioned cube depends on the type: time-related special categories do not exist in member cubes, but are available from the control cube; regular special categories are included in member cubes when they are built initially, but new special categories cannot be added to member cubes during subsequent updates. New regular categories may be added to the member cubes but, if they are, special categories or links to special categories are not created. In Transformer Version 7.3 Maintenance Release 2 and subsequent releases, category counts in the primary drill-down path are supported, as long as the counted level is unique and an Activity Measure is explicitly set on the Rollup tab of the Measure property sheet. If this setting

Step-by-Step Transformer 135

Chapter 5: Define and Create PowerCubes is left at its default (All Measures in the cube), at runtime some measures will be disregarded and the count will not accurately reflect all categories with non-zero values. Note that the Activity Measure for the category count rollup cannot be one of the following: a before or after-rollup calculated measure an externally rolled-up measure another category count measure an allocated measure, if the allocation occurs in the same dimension as the category count, above the counted categories level.

Category inclusion is based on the time level specified when the time-based partitioned cube was first created. Not all children of a category are included in each cube. Only those categories that contain data for the given time period appear in the resulting reports. In Transformer Series 7 Version 4 and subsequent versions, external measure rollup is supported. With this rollup enhancement, you can also open some types of time-based partitioned cubes that you could not open before. Specifically, if the child cube has a user class view based on the time partition level, and the user class view excludes or cloaks categories of that level, you can now open the child (member) cube. For example, a time-based partitioned cube is partitioned on the year level, and it has a user class view in which a particular year and its descendent categories are excluded. The child cube can be opened, but the excluded categories are not shown and the value of the time dimension root is returned as missing (N/A or zero). Allocations that are performed from a level above the time-based partitioning level are not supported. However, allocations can be done on categories below the time-based partitioning level. Temporary cube filenames are not supported, as their use could yield incorrect results. Drill-through may yield unexpected results. For example, if you attempt to drill through to a time-based partitioned cube containing data that is categorized differently among the cubes that form the time-based partitioned cube group, data may appear inconsistent.

Steps
1. On the cube property sheet, click the Cube Group tab and select the Enable Time-based Partitioning check box. 2. Click OK. 3. Select the appropriate time granularity.

Customizing a Time-Based Partitioned Cube


The .vcd file is an ASCII file that resides in the same directory as the control cube and also maintains the same filename. The .vcd file contains one line for each member cube.

136 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes You can customize the time-based partitioned cube to enhance performance by editing the .vcd with any text editor. For example, you can exclude a member cube from a time-based partitioned cube by manually editing the .vcd file.

Example
Open the .vcd with any text editor. The following .vcd file contains eight member cubes, each defined at the quarter level.
cube "2001 Q1" .\PowerCube\2001 Q1.mdc cube "2001 Q2" .\PowerCube\2001 Q2.mdc cube "2001 Q3" .\PowerCube\2001 Q3.mdc cube "2001 Q4" .\PowerCube\2001 Q4.mdc cube "2002 Q1" .\PowerCube\2002 Q1.mdc cube "2002 Q2" .\PowerCube\2002 Q2.mdc cube "2002 Q3" .\PowerCube\2002 Q3.mdc cube "2002 Q4" .\PowerCube\2002 Q4.mdc

The path defined in the .vcd file is relative to the location of the control cube, as indicated by the leading dot in the following example:
cube "2001 Q1" .\PowerCube\2001 Q1.mdc

A full path to the member cubes can also be specified as follows:


cube "2001 Q1" C:\Transformer\PowerCube\2001 Q1.mdc

Create a Multi-Level Time-Based Partitioned Cube


It is possible to create a time-based partitioned cube that is based on several different levels of the time dimension. For example, you might want to create a cube that is based on one year cube, three quarter cubes and one month cube. You can define three time-based partitioned cubes in the same model by generating the member cubes for the specific time levels and then editing the .vcd file to contain the appropriate member cube references.

Example
The following five cubes could now be accessed through one control cube, improving runtime query performance:
cube "2001" .\PowerCube\2001.mdc cube "2002 Q1" .\PowerCube\2002 Q1.mdc cube "2002 Q2" .\PowerCube\2002 Q2.mdc cube "2002 Q3" .\PowerCube\2003 Q3.mdc cube "October" .\PowerCube\October.mdc

Add or Remove Member Cubes


To add a member cube, you must supply Transformer with the new data records. A new member cube can be generated and the corresponding control cube and .vcd files are updated.

Step-by-Step Transformer 137

Chapter 5: Define and Create PowerCubes You can choose to remove a member cube by opening the model in Transformer and excluding the category so that no member cube will be created or by editing the .vcd file as outlined below.

Steps
1. Open the .vcd file in any text editor. 2. Edit the line referencing the member cube to be deleted. 3. Delete the existing member cube.

Exclude Measures from a PowerCube


You can customize a PowerCube or PowerCube group by excluding certain measures so they cannot be viewed in PowerPlay. You can remove them entirely, or you can include them but hide them from members of specified user classes. If you choose to hide a measure from certain users, rather than from the entire cube, you can do so from the User Class tab, in models with authentication enabled. All measure values are retained in the cube, but the restricted dimensions can't be accessed by the excluded users. Take care not to exclude measures that are used in the calculation of other measures. Otherwise, errors may occur when your cube is created or updated.

Example
You are preparing a cube that contains a financial summary of your sporting goods sales. In addition to 1999 sales, there are measures for product cost and 1998 sales. You want to exclude these last two measures from the cube. Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. In the PowerCube property sheet, click the Measures tab. 2. Right-click a measure, and click Exclude. 3. Click OK.

Omit Dimensions from a PowerCube


You can omit specific dimensions from a cube to customize it for particular users. You can omit a dimension from the cube entirely, or you can include it but hide it from specifieds. If you choose to omit a dimension from a user class rather than from the entire cube, you can do so from the diagram of models with authentication enabled. The dimension is retained in the cube but cannot be accessed by the restricted users.

138 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

Example
A model uses several data sources to provide information about every facet of your sporting goods business. The source columns are Product, Customer, Branch, and Order, with each having a corresponding dimension. You want one of your cubes to focus on product sales performance. Because you don't need customer data, you omit that dimension from the PowerCube object. Note: Depending on your PowerPlay edition, topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. Open the PowerCube property sheet. 2. Click the Dimensions tab. 3. Right-click to select the dimension to omit or hide. 4. Click Omit Dimension. 5. Click OK.

Set a Password for a PowerCube


You can set a password to restrict cube access to authorized users. If a password is defined at the root node of a cube group, then the same password applies to all cubes in the group. A password defined for a member of the cube group overrides the password defined at the root group node. Users can type their password in a Common Logon window to see their reports in any PowerPlay client application. Administrators either set up Access Manager authentication based on user class membership or define auto-access to a cube using database signons. Series 7 PowerPlay users should be reminded to configure their authentication source so that they can access protected cubes at runtime without being repeatedly asked to identify themselves. Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. Open the property sheet for the PowerCube or PowerCube group. 2. Click the Output tab. 3. In the Password box, type the password twice, as prompted. Note: You cannot retrieve a forgotten password. 4. Click OK.

Step-by-Step Transformer 139

Chapter 5: Define and Create PowerCubes

Automatic Checking for Open Cubes


When attempting a cube build, Transformer checks whether the cube is open in another IBM Cognos application. If it is open, Transformer warns you that the cube is locked and in use, and also prompts you to select one of the following options: To retry. Close the reporting application using the cube, and click Yes. To use a temporary name. To quit. Click No. Click Cancel, to end the cube build process.

Notes
If Incremental Update was applied to the cube being generated, then the option of using a temporary cube name is unavailable. The user must close any reporting application presently accessing the cube or cancel the cube generation. For MDL and Series 7 OLE rebuilds, a default temporary file name may be used. If that temporary file name is rejected, Transformer will retry up to 100 times, appending a digit from 1100 to the filename each time.

Use Alternate Data Sources for Cube Creation


One way to customize cubes for individual audiences is to change the source data. You can create two different cubes based on the same model, but alter the content by using different source files. The structure of the alternate source file must exactly match the structure of the source file on which the original model is based. The alternate file must have the same columns as the original for it to be read into the model in Transformer. Also, the alternate data source must contain measure values. Purely structural alternate data sources will be ignored during a cube build.

Example
You decide to build cubes for different sales divisions from different source files, but in all cases the same sales analysis model can be used. You set up several Impromptu Query Definition (.iqd) files, each one containing filters that result in the retrieval of data for only one sales division. Note: Depending on your PowerPlay edition, topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. Use your database access tools to set up alternate source files that are structurally identical to the source files on which the model is based. Each must contain measure values (transactional sources).

140 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes 2. Open the property sheet for the PowerCube that will use the alternate source file, and then click the General tab. 3. In the Data Source box, select the appropriate column in the alternate source file. 4. In the Source File box, type or browse for the name of the alternate source file, and click OK.

Create Compressed PowerCubes


After you define PowerCube properties and user classes views, you are ready to create the PowerCube. You can create either a specific cube object or the cubes for all cube objects in the PowerCubes list. Also, depending on the number of categories in your cubes and the bandwidth of your network, you may want to compress your Series 7 cubes or cube groups before you distribute them. Because compression occurs after cube creation, you will not reduce the processing requirements, but distribution will be more efficient. Weigh the following advantages and disadvantages to determine if this optimization technique is worthwhile.

Advantages of Cube Compression


Compressed cubes are significantly smaller (typically 20 to 80 percent of their uncompressed size). Compressed cubes automatically return to their uncompressed state when opened in Series 7 PowerPlay. You can incrementally update compressed cubes. Options such as Partition Status, PowerCube Status, and Check Local PowerCube are still available.

Disadvantages of Cube Compression


Compression in Transformer, and decompression in PowerPlay, each take a few additional seconds. However, if you only compress your cubes to transfer them to a new location, you can use a macro to decompress them again, as a batch job. For more information, see the Transformer Macro Reference help. Transformer must decompress a cube before updating it, and then compress it again.

Note: Depending on your PowerPlay edition, topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. In the PowerCubes list, select the cube or cubes you want to create. 2. Open the property sheet for any cube that you want to compress, click the Store this PowerCube Compressed option (Processing tab), and click OK. 3. From the Run menu, click Create Selected PowerCube or Create PowerCubes.

Step-by-Step Transformer 141

Chapter 5: Define and Create PowerCubes

Create a Test Cube


You can generate categories or create a cube by using a subset of your source data. This can be useful if your source data is very large and it would take considerable time to create a cube for testing purposes.

Example
Your model uses three database sources (two structural data sources and one large transactional data source): Customers (9,400 records) Products (1,720 records) Daily Sales (350,000 transactional records)

You specify that you want a test build created by using the first 350 records from each data source. Transformer quickly creates a small cube whose categories you can evaluate in PowerPlay.

Steps
1. From the Run menu, click Test Build. 2. In the Number of Records box, type the number of records that Transformer will read from the source. 3. Click either Generate Categories Only or Create Cube.

Update the PowerCube Metadata


When Transformer creates a PowerCube, it reads all the source data, generates categories according to the model structure, and writes the data to an .mdc file for PowerPlay to use. There are several factors that affect the time it takes to create a PowerCube, including partitioning, cube optimization, incremental updates, and, above all, the size of the data sources. There is other data in the model, however, that does not depend on the category generation process. Sometimes referred to as metadata, this related information includes object names short names descriptions drill-through items user class views

You can quickly update the related information for an existing PowerCube without affecting the main cube data.

142 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

Example 1
The formula used in a calculated measure has changed to produce a more accurate analysis. You describe the calculation in the Description tab for the measure so that users can view it in Series 7 PowerPlay by using Explain. You use the Update Selected PowerCube command to update the measure description in the cube without changing the cube data.

Example 2
Your PowerCube production schedule involves recreating a cube monthly, while your Series 7 Impromptu schedule involves producing a report weekly. Your users need to drill through to one or several Impromptu reports from certain cells. On the first week of each month, they only need the first weekly Impromptu report. On the second week, they need the first and second weekly reports, and so on, until they have a choice of four reports on the last week of each month. Although you only create the full PowerCube once a month, you can update its related information weekly by adding the extra Impromptu report for the required measure.

Example 3
The makeup of the user classes in your Series 7 model has changed to reflect a company reorganization. Access to your PowerCubes is controlled by Access Manager user classes, so you need to update the authentication data. You retrieve the latest user class structure by clicking Update Access Manager Information (Tools menu). You then update the user classes information in the model, including any user class views, before updating all the PowerCubes to reflect the reorganized user classes. The remaining data is unchanged. Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps
1. In the PowerCubes list, select the PowerCube whose metadata you want to update. 2. From the Run menu, click Update Selected PowerCube. 3. In the Update PowerCube dialog box, select the items you want to update. 4. Click OK.

Check PowerCube Status


After one or more PowerCubes are created for a model, you can check their status at any time. You can also apply a filter in the dialog box to focus on the cubes that need attention.

Example
To check the status of a PowerCube, you define a cube group. Use Check PowerCube Status to confirm that all cubes are successfully created, before you tell the users that the cubes are available.

Step-by-Step Transformer 143

Chapter 5: Define and Create PowerCubes Note: Depending on your PowerPlay edition, topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Step
From the Tools menu, click PowerCube Status.

Customize Cube Content with Views: Overview


Transformer offers various options to customize your PowerCubes so that your reports include only the categories of interest to your users. Apex omits ancestors and siblings of a category; use it with dimension views and user class views. Exclude omits a category, its descendants, and their data; apply it from the category viewer and use it with dimension views and user class views. Cloak omits a category and its descendants, but retains the rollup values in ancestor categories; use it with dimension views and user class views. Summarize omits descendants, but retains their rollup values; use it with dimension views and user class views. Suppress omits a category from reports based on the cube, but retains its rollup value in ancestor categories; apply it from the category viewer or with dimension views. For special categories, Suppress is the only available option.

The Cloak, Summarize and Suppress options do not remove data from the cube; even if many categories are omitted, there is no corresponding decrease in the cube size.

Process
When you create a dimension view, use one of the above options to customize the view, select it from the Views list, and then apply it to your PowerCube object. You create a user class view in much the same way, but you must configure security before you include them in your model. Only then can you select your user classes from the available list, define a customized view by using one of the above options (except Suppress), and associate it with a cube in the PowerCubes list. When a user opens the cube in Series 7 PowerPlay or IBM Cognos 8 Analysis Studio, the system verifies that the user is cleared to see the secured data, before showing the portion of the cube defined in the custom view. This method is useful when access to shared cubes is a security concern. You can create cubes for different audiences based on dimension views, and then further restrict access by applying user class views to selected cubes in the set. However, certain combinations may not work well with your partitioning scheme, thereby lengthening cube build times in Transformer. One workaround is to create several smaller cubes, each using different dimension views, rather than a create one large cube that has an unacceptably long build time.

144 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes Note: Depending on your PowerPlay edition, topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Create a Dimension View


If you implement reporting solutions for diverse groups in your organization, you may want to create individual cubes that meet the needs of each group. To do so, you can create one or more dimension views, and then apply these to the cube objects in the model. When Transformer creates the cubes, it uses the applied dimension views to write only summarized versions of the model categories to each cube. Depending on the number of categories removed by the summarizing option, the cubes may be noticeably smaller. Note: You must not base your partitions on the same dimension that you used to create a dimension view. This strategy can result in conflicts and may halt cube creation. Nor should you use dimension views as the basis for user class views. This can negatively affect auto-partitioning.

Example
A sales-analysis model is used to create PowerCubes for several managers, each of whom is responsible for sales in a different region. You create a PowerCube for each manager that contains transaction details in their region, but summarizes values for other regions. You define a regional dimension view that summarizes the data for all regions other than the manager's region and repeat for each manager.

You apply this dimension view to the PowerCube object. The resulting PowerCube contains detailed data for the relevant manager's region, but only summarized information for the other regions.

Step-by-Step Transformer 145

Chapter 5: Define and Create PowerCubes

Tip: Instead of creating a separate dimension view for each category in a level, you can create a PowerCube group based on that target level. Choose the method that is easiest to implement and maintain in your own situation.

Steps
1. Open the diagram for the relevant dimension and, if the dimensions pane is not showing, click the Dimension tab. 2. Select the dimension, right-click, and then click Add New View. 3. Type a meaningful name for the dimension view, and click OK. 4. Select categories, and successively apply view operations (Exclude, Cloak, Suppress, Apex, Summarize) in the category viewer until you achieve the degree of summarization you want. 5. Open the PowerCube property sheet, and click the Dimensions tab. 6. Right-click a dimension and select View. 7. Select the newly defined dimension view and click OK to apply it to the cube.

Omit Categories Using Suppress


In situations where a category is not required for reporting purposes, but its ancestor and descendant categories are, you can suppress the category to hide it. Suppression creates placeholder categories in hierarchies where no values exist for some categories in a level. The values for the descendants of a suppressed category are rolled up and retained in the ancestor category. Suppressed categories, including blank categories, are still included in category counts. Values associated with them are included in rolled-up measure values.

146 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

You can suppress existing (as well as blank) categories in a level by suppressing the level itself. However, in order to properly support the calculation of relative time categories for the cube, you cannot suppress or exclude weekend days (Saturdays and Sundays) and their associated measure values. In dimensions with alternate drill-down paths, suppressing a category located above the convergence level in one drill-down path has no effect on categories in the other drill-down paths. You can suppress categories in different alternate drill-down paths, but you can't suppress more than one entire alternate drill-down path.

Example
Your company maintains branches throughout the world. Some branches are identified by their province or state. Others are identified by country only. In the model, the country dimension contains levels for country, province/state, and branch. To maintain the structure of the dimension, you decide to suppress categories with no associated source data. In the resulting report, your users can drill down to subordinate categories that reflect the current structure of your organization.

Steps
1. Open the dimension diagram. 2. In the category viewer, select the categories or the level to be suppressed. 3. From the Diagram menu, click Suppress. 4. Open the PowerCube property sheet and click the Dimensions tab. 5. Right-click a dimension and select View. 6. Select the newly defined dimension view and click OK to apply it to the cube.

Omit Categories Using Cloak


In certain situations, it may be desirable to omit one or more categories, along with the descendants of those categories, while retaining their values for rollup into higher-level categories. Like Suppress, the Cloak option causes a category to be omitted from reports based on the cube. Unlike Suppress, all of the descendants of that category are also omitted. Step-by-Step Transformer 147

Chapter 5: Define and Create PowerCubes When you apply cloaking to a cube, consolidation occurs by default. If new subordinate categories are added to a cloaked level, they are automatically included in the cloaked ancestors.

Example
In your organization, the French-speaking manager for Belgium and France also oversees your Montreal office. You define a special dimension view for this manager that includes the transaction details for Europe and Montreal (Canada), but that cloaks the values for the two other Canadian offices, Toronto and Vancouver.

You apply this view to the PowerCube object. The resulting cube contains data relevant to this manager.

Steps
1. Open the diagram for the relevant dimension and add the dimension and user class view that you want to cloak. 2. In the Dimension, User Class tab, select your new view. 3. In the category viewer, select the categories or level to be cloaked. 4. From the Diagram menu, click Cloak to omit the unnecessary categories. 5. Open the PowerCube property sheet and click the Dimensions tab. 6. Right-click a dimension and select View. 7. Select the newly defined view and click OK to apply it to the cube.

Omit Categories Using Exclude


You can exclude categories from a dimension directly from the Dimension Viewer. You do not have to create a dimension view. You need to create a user class view first, to exclude categories based on security. The Exclude option not only omits categories and their descendants from the dimension, user class view: it also omits the data associated with those categories. Excluded categories are not included in category counts, nor are values associated with them included in rolled-up measure values. This differs from the Cloak, Summarize, and Suppress options, which act on the categories but have no effect on the data written to the cube. However, in order to properly support the calculation of relative time categories for the cube, you cannot suppress or exclude weekend days (Saturdays and Sundays) and their associated measure values. In dimensions with alternate drill-down paths, excluding categories from one path excludes the same categories from all other drill-down paths.

148 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

Example 1: Exclude a Category and its Descendants from a Dimension View


You want to exclude Far East, United States, and Mexico categories and their descendants from a view, and from any PowerCube that uses that view. In the cube created with this dimension view, report users only see the European and Canadian categories. All of the information associated with the excluded categories is omitted from the cube.

Example 2: Use Combination Dimension and User Class Views to Hide Data
You can use Exclude in combination with one or more other options, to restrict access by your regionally-based sales executives, based on their security level, as follows: Exclude an unwanted measure, Order Quantity, from all user class views, and from the cube itself. Define separate user class views for each sales executive, based on the Regions dimension, and exclude the Far East and Americas data from the European Sales Executive's view. Repeat, restricting access as appropriate for each regionally-based sales executive. If you are working with Series 7 user class hierarchies, in addition to Far East and Americas exclusions inherited from the parent user class, you can create a custom view for the German team so they can see summarized data for the United Kingdom, cloaked data for other European branches, and details for German and Swedish sales representatives (the latter being affiliated with the Frankfurt branch).

Step-by-Step Transformer 149

Chapter 5: Define and Create PowerCubes If you apply this user class view to the PowerCube object, each sales executive and team member in a subordinate user class can only see reports containing the regional data defined in their customized view.

Steps
1. Open the diagram and add the dimension, user class view from which you want to exclude categories. 2. In the category viewer, select the categories or the level to exclude. 3. From the Diagram menu, click Exclude. 4. Open the PowerCube property sheet and click the Dimensions tab. 5. Right-click a dimension and select View. 6. Select the newly defined view and click OK to apply it to the cube.

Omit Descendant Categories Using Summarize


If you create a dimension view and use the Summarize option on a category, you remove the data associated with the descendants of the selected category, but roll up their measure values to the summarized level. When you summarize all categories in a level, if new subordinate categories are added, they are automatically included in the summarized ancestors. Although applying a summarized view consolidates the records in a cube by default, you should not use this option as a means of decreasing the size of your cube. Also, you cannot apply summarized views to a time dimension when the model contains a measure with Time State Rollup applied. See "Set a Time State Rollup Function for Measures" (p. 111).

Steps
1. Open the diagram for the relevant dimension and add the dimension or user class view that you want to summarize. 2. In the Dimension, User Class tab, select your new view. 3. In the category viewer, select the categories or level to summarize. 4. From the Diagram menu, click Summarize to omit the descendant categories but retain their combined rollup value. 5. Open the PowerCube property sheet and click the Dimensions tab. 6. Right-click a dimension and select View. 7. Select the newly defined view and click OK to apply it to the cube.

Omit Categories Using Apex


If you create a dimension view and use the Apex option on a selected category, the resulting cube contains only the apexed category and its immediate descendants. The ancestors of the category, any siblings, and any descendants of these siblings are all omitted. Any special categories that include 150 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes descendants of the apexed category are connected to the apexed category as if it were the root category. Note: You cannot apex on a union with an alternate drill path.

Example
Illustrated below is the Regions diagram, before and after the Apex option is applied to the United States category. PowerCubes with this dimension view contain data for the United States and its descendants only.

Steps
1. Open the diagram. 2. Right-click the Dimension and select Add New View. Or, right-click the view in the User Class tab, and select Use Custom View. 3. Enter a name for the new view, and click OK. 4. In the Dimension, User Class tab, select your new view. 5. In the category viewer, select the category you want to apex. 6. From the Diagram menu, select Apex to omit all ancestor and sibling categories. Tip: To reverse an Apex command, apply it at a higher level. 7. Open the PowerCube property sheet and click the Dimensions tab. 8. Right-click a dimension and select View. 9. Select the newly defined view and click OK to apply it to the cube.

Step-by-Step Transformer 151

Chapter 5: Define and Create PowerCubes

Set Up a Protected PowerCube: Overview


You can set up protected PowerCubes to be shared among members of user classes, each with access to only a portion of the data in the cube. Creating protected cubes is a good strategy when you are creating cubes on a central network server that is accessible by a large number of report users. It is important to understand the interaction between Transformer and your Series 7 security components, before you start. See "Enable User Security for a Model" (p. 153). Users who belong to more than one Series 7 user class have the option of opening a cube as an individual user class or as all user classes. Note: Depending on your PowerPlay edition, some topics in this section may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Introduction chapter.

Example
Your sales analysis PowerCube is accessed by both headquarters personnel and the mobile sales staff and is updated weekly. To control access so that users see only the most relevant information, you have created the following user classes in Access Manager, and enabled them in the model.

In Transformer, you set up custom user class views for Regional Managers, who see detailed data for their regions and summary data for the other regions Sales teams from Europe and the Americas, who only see the sales data for their own work regions

Process
In Access Manager, define user classes and users with appropriate signons, and release the resulting authentication data to all users who require access to the cube. Have users configure their systems to point to the authentication data. In Transformer, include user classes in the model and associate user classes with the PowerCube. Create user class views for the members of each user class. Create and distribute the protected .mdc PowerCube.

152 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes

Enable User Security for a Model


In Transformer Version 7.3 Maintenance Release 2 and subsequent releases, you can view and select user classes from Series 7 namespaces using the User Class Browser. The User Class Browser lets you select the user classes you want to include in your model, and lets you work more easily with namespaces that contain a very large number of user classes by allowing you to work with a subset of the namespace.

Process
Whichever method you use, the process for creating or updating security information remains the same. Define your user classes in Access Manager, and then configure Transformer to point to the namespace. In Transformer, specify this configured authentication source in the Model property sheet. (If you leave the box blank, Transformer reads the authentication data configured as Default). You also have the option of selecting Include Auto-Accesses in the Model, so users are not repeatedly prompted for their signon information. Have Transformer import the security information so that it appears in the User Class tab for the model. Repeat the process, to update your model should the security information change. Note: If user classes are added to a Series 7 authentication source, they appear in the list of available user classes in the User Class Browser, but you still have to add them to the model manually.

Steps
1. From the File menu, click New to open the New Model wizard. (For an existing model, you can open the Model Properties dialog box and click the Authentication tab.) 2. Ensure that the Include security in the model check box is selected and proceed to the namespace dialog box. 3. Select the Include user classes check box, the Use user class browser check box and, optionally Include auto-accesses. Ensure that you type the Access Manager configuration name to exactly match the name set up in the Access Manager Configuration tool. If you leave this box empty, Transformer uses the Default configuration. 4. In the User Class Browser, expand the left pane hierarchy as required, select the user classes to import, and then click the Add button or drag the selected user class to the right pane. All user classes under the selected node will be added to the model. 5. Click OK when you have finished adding security, take note of any warning messages, and use the wizard to finish setting up your model. 6. Open the Diagram for your model, click the User Class tab, and confirm that your selections match the security defined in your configured authentication location. They are now available for use in creating up to 10,000 access-controlled views per model. Step-by-Step Transformer 153

Chapter 5: Define and Create PowerCubes Note: There is no automatic synchronization of user classes between Transformer and your configured source. Therefore, user classes must be manually added or deleted if your authentication information changes. Use the toolbar or right-click menu options to add, update, or remove the user classes in your existing model, then reset your views.

Update Authentication Information


When user classes are enabled for a model, Transformer reads the configured security data and shows it in the User Class tab. If the hierarchy of the associated security data has changed, or users have been deleted, the model gets updated but the associated custom user class views become invalid. To update the security information in your model, you must reload it from your configured authentication source, confirm that the required user classes, groups, or roles are selected from the available list, and then adjust your user class views to reflect the updated data. To speed up your task, if these are the only model components that have changed, instead of querying each data source, select the Update Selected PowerCubes command (Run menu), and then clear all of the check boxes except the one pertaining to user security.

Steps
1. Log on as an authenticated user and open the model for which the authentication information has changed. 2. From the Tools menu, click Update Access Manager Information, and then confirm that your User Class views have been updated. 3. Use a similar procedure to add or remove obsolete user classes and their related views.

Set Up User Class Views


Instead of creating multiple cubes and distributing them to different audiences, you can ensure that different groups of users only see specified dimensions, measures, or categories by defining users, user classes, groups, or roles in your authentication source (configured in Access Manager) setting up custom user classes to control access to data and metadata securing the Powercubes or cube groups based on your secured model

User classes are applied hierarchically. When you associate a user class with one or more custom views in such PowerCubes, descendant user classes are also included in that view.

Example
In Access Manager, you set up user classes based on geography: Europe, Far East and the Americas. The encrypted security metadata may include user IDs and passwords, user classes, cube connection information, and any combination of basic, operating system, database, or server signons. For more information, see the Access Manager help.

154 IBM Cognos Series 7 PowerPlay Transformer

Chapter 5: Define and Create PowerCubes In Transformer, you set up the authentication that applies to your model and import the user class information. You then set up user class views for each user class that needs to have a different view of the data: All users share access to the Finance cube. Members of each user class only see financial data for their region. You use the Summarize command to screen Europe and Far East data from members of the Americas Sales Executives, Sales Managers and Sales Personnel user classes. You then limit the view of Europe and Far East sales personnel to their regional data. Within each region, the lowest-level class, Sales Personnel, inherits a subset of the permissions assigned to the higher-level classes: local Sales Managers, regional Sales Executives and their Managers.

Steps
1. Open the dimension diagram for the relevant dimension and click the User Class tab. Note: If user security is not currently enabled for the model, see "Enable User Security for a Model" (p. 153). 2. Select the security object for which you want to create a view, right-click, and then click Use Custom View. 3. In the category viewer, select categories and apply view operations (Exclude, Cloak, Apex, Summarize) until you achieve the effect you want. Note: If users belong to more than one security grouping, they see all the information that they are authorized to access (that is, the union of all items, not merely their intersection). 4. Drag the secured object that you want to associate with the cube to the appropriate cube or cube group in the PowerCubes list.

Block Total Values for Parent Categories with Excluded Children


In Series 7 Transformer, you have the option to block total values for parent categories with excluded children. In your report, you will see a "denied" value rather than the totals of the non-excluded children. This prevents you from viewing data that is an inaccurate roll up of only non-excluded categories. Missing values take precedence over denied values. Categories will show zero, N/A (not available), a blank (nothing in the cell), or missing values, depending on how the measures in the cube were designed to handle missing values. This allows you to distinguish between missing and denied values. You must exclude categories in the User Class tab of the (Categories) Diagram Viewer before selecting Block Totals for Parents with Excluded Children check box. You must also ensure that user classes are enabled.

Example for Series 7


You are responsible for a sales cube with North America divided into Mexico, Canada, and USA. A user is allowed to see the sales values for Mexico and USA, but not the values for Canada, so Step-by-Step Transformer 155

Chapter 5: Define and Create PowerCubes you exclude the Canada category. You can choose to restrict aggregate values, so that the user sees "Denied" instead of summary values, or continue to show totals for North America. If you continue to show totals, the user could then deduce the values for Canada, but not the details. Note: If you use filters, the user sees a value for North America that excludes the contribution for Canada. In this case users might erroneously conclude that Canada had no sales.

Steps for Series 7


1. Click Show Diagram and select the User Class tab. 2. From the user class list, select the dimension you wish to modify. 3. Select the category or level you wish to exclude. For more information, see "Omit Categories Using Exclude" (p. 148). 4. In the PowerCubes list, right-click the cube you wish to modify and select Properties. 5. In the Processing tab, select the Block Totals for Parents with Excluded Children check box.

Combine User Class Views with Dimension Views


You can add user class views to a cube that already has dimension views. Use this combination when you must control access to certain information (such as salaries) based on a user's security classification, but need not restrict access to the remaining data. We do not recommend using dimension views as the basis for user class views if auto-partitioning is in place. In very large cubes with complex partitioning schemes, test your design to ensure that combination views do not negatively impact cube creation time.

Example
In a sales analysis model, a PowerCube group contains cubes for Europe, the Americas, and the Far East. For each cube, additional protection is imposed by creating user classes that group users separately from security administrators, for each region. When the cubes and the accompanying authentication sources are released to users in each region, regional security administrators can maintain security definitions for their own regions.

Steps
1. Create all the dimension views or PowerCube groups you want in your model. 2. Apply the dimension views to the appropriate PowerCube objects. See "Create a Dimension View" (p. 145). 3. Create and apply user class views to the objects in the PowerCubes list. See "Enable User Security for a Model" (p. 153) and "Set Up User Class Views" (p. 154). 4. Create the PowerCubes.

156 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance


Your production Transformer models and cubes will probably require ongoing maintenance to respond to the evolving needs of your report viewers, changes in your data, or a reorganization of your workplace. Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Source Data Updates


If you add new transactional records, your model need not change and your cubes can be incrementally updated. If you change the structure of your data by re-ordering or renaming columns, you may need to redesign a portion of your model. See "Match Model and Source Columns" (p. 159) and "Move Categories When Source Data Changes" (p. 160).

Model Updates
If you delete a dimension, you won't be able to see any existing reports in PowerPlay. If you delete some categories, the reports will open but show "error" as the value for each deleted category. If your source contains records for time categories that don't exist in your model, Transformer creates the appropriate placeholder category: Early Dates, Late Dates, or Invalid Dates. To prevent Transformer from adding unwanted categories to a dimension, you can lock it from the Dimension property sheet. If you are making changes to your model, you should periodically clean up fragments that can cause generation errors by saving your model in .mdl (rather than the default .py?) format. If your model has categories that aren't used, delete them with the Clean House command (see "Delete Inactive Categories" (p. 161)). If your model contains incrementally updated cubes, you must retain all of their categories for the cubes to be valid.

Cube Updates
You should alert your report users whenever you change a cube object, because the change may not be obvious by simply looking at the report. If you enable the incremental update feature for a cube, Transformer appends the new data to the existing cube. If you disable incremental update, Transformer overwrites the existing cube. See "Set Up Placeholder Categories for Cube Groups" (p. 161). To rebuild an incrementally updated cube, delete the old .mdc file and recreate the entire cube.

Cube Connection Updates


After a PowerCube is rebuilt, you can automatically update the cube connection information, without affecting your IBM Cognos 8 users, by using the sample script cubeswap.bat or cubeswap.sh, located in the c8_installation_location/webapps/utilities/cubeSwap directory. Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010. 157

Chapter 6: Perform Model and PowerCube Maintenance You do not need to use the SDK. For help on the syntax, run the script without any parameters. For example, before updating the "great_outdoors_company" datasource to point to the file Great_ Outdoors_Company_2.mdc, navigate to the cubeSwap directory and type cubeswap.bat A help message will explain the syntax, and possible error exit codes:
<URL> <dispatcherName> <dataSource> <newCube> [<userName> <password> <nameSpace>]

Where URL is the IBM Cognos 8 BI Server URL, such as


http://<hostname>:9300/p2pd/servlet/dispatch

dispatcherName is the name of the dispatcher that services the cube to be updated, such as
http://<hostname>:9300

dataSource is the name of the source to be updated with the new cube, such as Go Data Warehouse newCube is the fully qualified name and path for the new cube, such as
<path>/<cubename.mdc>

Optionally, to use a secured namespace with "Anonymous" disabled, specify a userName, the name of a valid user authorized to run the cubeswap utility, their password, and nameSpace id. Possible exit codes are as follows:
0 - Success 1 - Invalid command line arguments 2 - Login Failure 3 - Operation Failed

Assuming your applications are running on default ports, to update the above datasource, type:
cubeswap http:// <hostname >:9300/p2pd/servlet/dispatch, http:// <hostname >:9300, great_outdoors_company, "D:\Program Files\Cognos\series8\webcontent\ samples\datasources\cubes\PowerCubes\En\Great_Outdoors_Company_2.mdc", AAA, AAA, cogs7

Note: You must put the path in quotation marks because there is a space in "Program Files". A successful connection update results in the following message output:
DataSourceChange properties for dispatcher: 'http://< hostname >:9300' updated successfully DataConnection String for dataSource: 'great_outdoors_company' updated successfully

Recover a Failed Model


To help you recover from power failures or similar processing interruptions without having to recreate the entire cube, Transformer adds checkpoint entries after each major stage in the cube creation process. These checkpoints are written to a temporary .qy? file in the folder specified by Model Temporary Files in the Directories tab (Preferences dialog box). Because this file is deleted when the process ends normally, the existence of a .qy? file indicates that Transformer terminated unexpectedly.

158 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance The next time you start Transformer, you will be asked if you want to see the list of suspended models. You can either open the model at the last checkpoint before failure and continue to develop it from that point, or continue from the point where you last saved the file. The .qy? file is then deleted. Transformer also writes messages to a log file, which is stored in the same location as your models, or in a location specified in the Directories tab (Preferences dialog box). It has the same name as your model, but with an extension of .log. If Transformer is unable to recover automatically from the processing failure, or if you choose to ignore previous processing and begin again, you can read the log file to find and correct the cause of the failure.

Notes
Checkpoints do not work if you use auto-partition as an optimization method. If you are using Transformer on UNIX, you can restart a job from the server command line: To open a checkpoint file in batch mode, use the -p command line option; for more information, see "-p .py?_file" (p. 250). To ignore a checkpoint file in batch mode, use the -i command line option; for more information, see "-i .py?_file" (p. 247).

Steps
1. From the File menu, click View Suspended Models. If a severe error occurred during processing that caused Transformer to shut down, you are prompted to open the Select Suspended Model dialog box when you next start Transformer. 2. Select the option to open a model, and click OK.

Match Model and Source Columns


When you create a model, the columns in each data source are saved as part of the model definition. If you re-order, add, delete, or rename the columns in a delimited-text, Impromptu Query Definition source file or Transformer model, you must update the model by running the Modify Columns command.

Example
An existing source file has columns named DATE, PRODUCT, SALESPERSON, QTY_SOLD and PRICE. The sales representatives are reorganized into units, and a UNIT column is added to store this new transactional data. You run the Modify Columns command to update your model.

Steps
1. Select the source in which the columns do not match the model columns. 2. From the Tools menu, click Modify Columns. A plus sign (+) appears to the left of all model columns that have been changed.

Step-by-Step Transformer 159

Chapter 6: Perform Model and PowerCube Maintenance 3. For each changed column, click Match, Add, or Remove, as appropriate.

Move Categories When Source Data Changes


You can prevent model errors due to changes in your source by designating a unique level. This tells Transformer that categories in that level are identified by their source values alone, without reference to their ancestors. However, when you move a category from a unique level, a uniqueness violation is reported during category generation because the moved category now appears in a different context. To avoid having to manually restructure the categories in a unique level to conform to the changed ancestor data, you can specify that such changes be treated as unique moves. Measure values, even those accumulated under the old structure, are thereafter rolled up the new path to the moved categories. Unless you make special adjustments in your model (such as implementing calculated columns to demarcate the move date), historical values move to the new path, and are no longer associated with the old one. Note: In certain circumstances, unique move is not supported in time-based partitioned cubes.

Example
You have a model defined, but your source data must change when two staff members, Alessandra Torta (Milan) and Ellen Shapiro (Amsterdam), switch offices. If you make the switch in your source data without adjusting your model, Transformer puts the new categories in their new context (left column, highlighted in red). But the values for each individual also remain associated with their former offices, which produces inaccurate results in PowerPlay.

Unique Move Not Specified


Country Italy City Milano

Unique Move Specified


City Milano Lastname Firstname Shapiro Ellen

Lastname Firstname Country Torta Shapiro Alessandra Italy Ellen ...

... Nether lands Amster dam Torta Alessandra Shapiro Ellen

Nether lands

Amsterdam Torta

Alessandra

Suppose you make the switch in your source data and adjust your model to make LASTNAME a unique level (because the switched personnel can be identified without reference to their ancestor categories). Two error messages appear when you try to generate categories: category Alessandra Torta cannot be created in the Netherlands path because it already exists in the Italy path

160 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance

category Ellen Shapiro cannot be created in the Italy path because it already exists in the Netherlands path

To avoid these problems, you click both the Unique and Move check boxes in the LASTNAME Level property sheet, thereby specifying the changes as unique moves. You now see the correct results (right column, highlighted in red).

Steps
1. Open the property sheet for the level that contains the categories affected by the changed data. 2. In the Source tab, click Unique. 3. Click Yes to the warning message that categories in the level must be recognizable by the source data alone. 4. Click Move, and then click OK. 5. From the Run menu, click Generate Categories. 6. To verify that the categories moved correctly, select the dimension in the dimension map and click Show Diagram from the Diagram menu.

Delete Inactive Categories


If your organization changes, your model may contain inactive categories that are no longer needed. A category is considered active if it has been created, updated, moved, or had its properties changed since a specified date. You cannot delete inactive categories if incremental updates are defined for the cubes in your model. If you do so, you will get an error message when you try to create the cube.

Example
Last year, your department was responsible for inspecting 40 homes for the elderly. After a consolidation of facilities, you now inspect and report on the operations of only 30 homes. You delete the categories for the 10 homes that have been closed since the start of your fiscal year.

Steps
1. From the Tools menu, click Clean House. 2. In the Date box, type a date using the format configured for your system or select a date by using the embedded calendar. All categories that have been inactive from the specified date to the present are deleted.

Set Up Placeholder Categories for Cube Groups


When you define a cube group, you can manually add a placeholder category to the level from which future cubes will be derived, to allow for additions. Provided the new members have the

Step-by-Step Transformer 161

Chapter 6: Perform Model and PowerCube Maintenance same rolled-up data as the existing members, the cube containing the placeholder category will gather the incrementally updated data that the new member needs.

Example
Your model has a cube group for your sales offices, which you update incrementally. Each member cube therefore contains historical summary data. Your company is planning to add another sales office in the future, but details aren't yet available. You want the new office to have access to the same historical data as the other offices.

Notes
See "Update Your Cubes Incrementally" (p. 163), "Steps to Perform Auto-Partitioning" (p. 171), and "Steps to Partition Manually" (p. 173) for important information about incremental updating and partitions. Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Steps to Set Up a Placeholder Category and Cube


1. Open the dimension diagram for the dimension on which the cube group will be based. 2. In the category viewer, insert a category into the level from which the member cube will be derived. 3. Define the cube group. In the Processing tab, be sure to select the This Cube is Incrementally Updated check box. 4. Click OK. 5. In the PowerCubes list, expand the cube group to list the members. 6. In the property sheet for the placeholder cube, change the name to New.

Steps to Set Up the New Member


1. Open the dimension diagram for the dimension on which the cube group is based. 2. On the property sheet for the placeholder category, rename the Category Label and Source Value to match the new data column. 3. On the property sheet for the placeholder cube, rename the cube.

Optimize Performance: Overview


As you implement larger and more complex PowerCubes, optimizing build times and runtime query performance becomes increasingly important. Before you build your model, consider optimizing performance by consolidating your source data by summarizing details and removing out-of-date records

162 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance adding multiple CPUs and configuring your data sources to use the multiprocessing option

Because cube size, processing time in Transformer, and access time in your PowerPlay reporting components are all affected by the optimization method you choose, identify which competing factors are important to you, and then select the most appropriate methods from the list below: Use multiple data sources to reduce the size of each source file and shorten processing time in Transformer. Specify how the cube is processed, either by reducing the number of categories in the cube (which shortens access time in PowerPlay) or by optimizing querying (which shortens processing time in Transformer). Maximize data consolidation by using the auto-partition feature and by adding a sort step before records are written to the cube; this decreases cube size and shortens access time in PowerPlay, but lengthens processing time in Transformer. Take full advantage of partitioning to speed up runtime access. Use incremental updates so that you only add new data during cube updates, which shortens processing time in Transformer. Subdivide large PowerCubes into multifile cubes to improve runtime query performance.

Update Your Cubes Incrementally


You may wish to design your model so that frequently updated data is added by means of one or more separate data sources. You can then perform an incremental update to quickly add this data to the existing cube. When a cube is first created, auto-partitioning is used by default, but for incremental updates, autopartitioning is not used after the first increment. For subsequent increments, the categories optimization method is used. The first time you run an incremental update, include all the categories for the levels used in the partitioning. This ensures the best performance from an incrementally updated cube. If you add new categories to a partition level in a model, the new categories will be stored in the parent partition level unless you specify the partition level number. If you add a large number of new categories, the access time for report users may be adversely affected because of the increased size of the summary cube. In this case, the model should be repartitioned. Over time, if new categories are being introduced, incremental updates reduce the effectiveness of the partitioning scheme in the cube. This, in turn, degrades performance. It is good practice to periodically recreate the entire cube, in order to optimize its auto-partitioning scheme (update weekly, recreate monthly, for example). And whenever you make any structural changes to your model, you must recreate the cube before performing further incremental updates. Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Introduction chapter.

Step-by-Step Transformer 163

Chapter 6: Perform Model and PowerCube Maintenance

Limitations of Incremental Updates


Incremental updates can save processing time, but there are a number of factors to consider if you plan to use them: Ensure that the data source file contains only new data; otherwise, data duplicated in the data source is duplicated in the cubes. Some changes that you make to a model can invalidate an incrementally updated cube. Don't delete a leaf category that is included in this type of cube. Don't use Exclude, Cloak, Summarize, or Apex in a view if they cause leaf categories to be excluded. Don't delete, add, or move a dimension or measure.

Retain all the data that was used to create an incrementally updated cube so that you can recreate it if you change the basic structure or content of the cube. If you disable the incremental update option, ensure that your model queries the source file containing all of the data required to recreate your cube from scratch (not a file that contains only changed data). If data that is related to a cube remains unchanged since the last update, you can reduce processing time by using the Disable Cube Creation command. This might occur if your model made use of cube groups, and only a subset of the cubes had new data. Use the Update PowerCube command to modify a cube if you have made minor changes to a model. The existing cube is updated, instead of deleted and replaced, and may take significantly less time than regular cube creation. You can use this command if the only changes you have made to a model are the following: update object names, short names, labels, or descriptions update drill-through reports update user classes

Notes
The cube is not a primary data source. You must retain all of the data used to build an incrementally updated cube so that you can rebuild the entire cube should the structure of your source data change significantly. When you disable the incremental update option, subsequent category generation and cube creation for that cube completely recreates the cube. If you changed the update timing of the source files, remember to change it back so that all the required data is queried during cube creation. If you have a large cube that changes its structure frequently, but you do not have time to recreate the entire cube every processing cycle, alternate between rebuilding and incrementally updating your cube. When structural changes occur, recreate the entire cube, including historical summary data. When data changes are only minor, update the cube incrementally.

164 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Introduction chapter.

Steps
1. Add a new cube definition to the PowerCubes list. 2. Open the property sheet for the new cube, and click the Processing tab. 3. Select the This Cube is Incrementally Updated check box, and then click OK. 4. Create the cube.

Recommendation - Keep Models Populated if Category Codes are Not Unique


When the category codes in a model are not unique, Transformer makes them so by adding the characters ~### to each code, where ### represents the number assigned sequentially to each nonunique item. We recommend that you save models with categories of this type in their fully populated form, rather than cleaning out the categories between each cube build. Also, we recommend that you save the model in both .mdl and .py? formats, so that you have a backup version if the py? file becomes corrupted. This precaution is particularly important if the same category repeats itself, or if your model contains blank categories. Furthermore, if your category codes are not unique, and change after each cube build, reports that contain explicit member references may no longer run successfully. To avoid this problem, we recommend that you base your reports on level (children of) references, which will not be affected by category code changes.

Recommendation - Periodically Clean up Your Model to Optimize Cube Processing


Periodically, we recommend that you revisit your design, adjusting your data, data sources, model, or cube creation choices. Consider making the following improvements to speed up cube creation, reduce cube size, and improve access times for report users: Delete or exclude records from the source data if they are no longer needed. Consolidate transactional data to a higher, summary level using the Duplicates Rollup feature, and implement optional drill-through targets, if the details are not needed by the majority of your users. To improve cube creation time, try changing the order of your structural data sources. Start with the structural data sources that contain the hierarchical data for the dimensions. Then add transactional data sources to supply measures for the model, using the minimum number of columns needed to reference those dimensions. Ensure that your data does not have any uniqueness violations, if you are using level uniqueness. Allocate extra time for data source processing to verify that all categories are unique within a level, or eliminate this step if it is not necessary by clearing the Verify Category Uniqueness option on the relevant data source property sheet.

Step-by-Step Transformer 165

Chapter 6: Perform Model and PowerCube Maintenance You can further optimize cube creation by specifying one of the following processing methods, accessed from the Processing tab of the PowerCube property sheet: You can further optimize cube creation by specifying one of the following processing methods, accessed from the Processing tab of the PowerCube property sheet: Auto-partition. Enables the Auto-Partition tab, where you can set the parameters for Transformer to devise a partitioning scheme. Categories. Minimizes the number of categories in a cube, the default option for models. Transformer adds only categories that are referenced in the source data or specifically designated to be included. Data Passes. Optimizes the number of passes through the temporary working files during the creation of a cube. This option is beneficial only if the more efficient alternative, auto-partitioning, is not used (that is, your model implements features not supported with auto-partitioning). Direct Create. Adds all categories in the model to the cube while the data sources are processed. Records that don't generate new categories are then directly updated to the cube. This optimization method also predates the more efficient alternative, auto-partitioning. It may be used in models that are expected to generate few new categories, and where all categories are expected to be added to the cube. It is not available for individual cubes within a cube group. Incremental Update. Selecting this option may speed up cube updates by adding only new data, without recreating the whole cube. You can create data sources that only contain new data and use these data sources to incrementally update a cube. If your increments are small, incremental updates may reduce the time needed to add records to the cube. Note: The model must remain synchronized with the cube that you are incrementally updating. If the model changes, you must recreate the cube, but you can add new categories to an incrementally updated cube without recreating it. We recommend that you recreate your cube periodically, in its entirety, rather than always using incremental updates. Incremental updates can improve cube creation time up to a point but, depending on the frequency and number of updates, you may find that processing time increases after a while.

Step
In the Processing tab (PowerCube property sheet), select any of the following, and click OK: Optimization. Use to choose how Transformer optimizes the creation of a cube. AutoPartition is the default. See "Steps to Perform Auto-Partitioning". This Cube is Incrementally Updated. Use to add only the most recent data to an incrementally updated cube, thereby shortening processing time. See "Update Your Cubes Incrementally" (p. 163). Cube Creation. Use to create the cube or cube group locally. Enabled is the default. If data related to a particular cube is unchanged since the last update, shorten processing time by selecting Disabled. Store This PowerCube Compressed. Use to compress the cube for more compact storage.

166 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance Enable Crosstab Caching. Use to store summaries for the initial crosstab in the cube, which shortens access time for report users.

Note: Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Introduction chapter.

Use Multiple Data Sources


By using multiple data sources for your model, you can reduce the total volume of data processed, thereby shortening processing times in Transformer. If used in combination with calculated columns, multiple data sources can minimize or eliminate the need for creating database table joins in an external data access tool. Using multiple data sources also enables measure allocation. Models created from multiple data sources are supported in all editions of Transformer.

Example
Data for products, customers, and orders is stored in a set of tables. If you provide this data from a single source, you need the tables for Product, Customer, Custsite, Order, and Ordrdtl. However, the source would contain many duplicate values and the joins between the tables would be relatively complex. Instead, you create three separate data sources: Products, Customer/Site, and Order/Order Detail. The volume of data contained in each is less than that in the single source, and the joins between Customers and Custsite, and between Order and Ordrdtl, are simple.

Steps
1. Using a data access tool, create each of the data sources required for your model. Each source must contain sufficient data to establish context within the dimension map. You cannot perform database table joins in Transformer. 2. Use the New Model wizard to add the largest structural data source to your model. 3. Use Insert Data Source (Edit menu) to add the additional sources to the Data Sources list.

Consolidate Data in PowerCubes


Consolidation summarizes measure values during cube creation in Transformer, so that fewer summarizing calculations need be performed in PowerPlay. Consolidation reduces cube size and using the currently implemented auto-partitioning algorithm, does not increase cube creation times. For more information, see the consolidate data example. Transformer automatically consolidates measure values in cubes. For a list of instances, see "Consolidate Data: Overview " (p. 120).

Step-by-Step Transformer 167

Chapter 6: Perform Model and PowerCube Maintenance The consolidation process is run against every source file in your model. Ensure that your temporary file space is at least as large as the sum of all your source files.

Steps
1. Open the PowerCube property sheet for the cube that you want to consolidate, and then click the General tab. 2. In the Consolidate box, select the appropriate entry, and then click OK.

Refresh Category Information


For large, complex models, you may improve processing in Transformer by disabling the options that refresh the category information. If this information subsequently changes in your source data, remember to enable these refresh options again, before regenerating your categories.

Steps
1. Open the appropriate Level property sheet so that you can disable its refresh options. 2. Clear the Refresh check boxes for Label Column, Description Column, and Short Name Column. 3. Click OK.

Devising an Optimal Partitioning Strategy


The partitioning process passes through the data, often many times, consolidating and counting the records in the temporary work files. Data is then divided into sets (transparent nested partitions). One summary partition contains presummarized values from each of the lower-level detail partitions. The categories that form the roots of the partitions are assigned partition numbers to indicate a partition level. Partitioning is useful when there are millions of rows of source data because it can significantly reduce the time needed to access OLAP reports. There is a tradeoff, however: the more partitions there are, the longer it takes to build the cube. You can allow Transformer to automatically partition your cube. Let the built-in algorithm choose your candidate partitioning levels, then consolidate records with sort (the default option). specify one or more dimensions for partitioning and use manual levels to add depth. This is a good strategy if the dimensional hierarchies in your original model were too flat. check the log file to see if the number of rows in the summary partition or the number of records and categories processed is decreasing from pass to pass. If it isn't, reduce the Maximum Number of Passes setting on the Auto-Partition tab of the PowerCube property sheet. repeat with a larger partition size or manually fine-tune the partitions further

Evaluate Partitioning Approaches and Constraints


You can use two strategies to partition a cube successfully:

168 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance Ensure that the majority of queries are answered from the first or upper partitions (called summary partitions). Arrange partitions so that information required for most queries can be found within a single partition.

When you develop a partitioning strategy, bear in mind of the following considerations: You can only partition on categories in the primary drill-down path. (However, auto-partitioning may occasionally partition categories from dimensions that have alternate drill paths.) You cannot partition on root, leaf, or special categories. Avoid partitioning a dimension for which lowest-level detail reports are needed. Access times are slower for these reports than for summary-level ones because data is returned from several partitions. Reduce the number of records in each partition if the network is slow. Completely recreate a cube if you change the partitioning scheme.

Partitioning will not be used if any of the following applies: Consolidation is disabled for the model; that is, the Consolidate option on the General tab of the PowerCube property sheet is set to No. The Optimization method is set to Categories (smallest-possible cubes) or Direct Update (fastest build times). The cube uses externally rolled-up measures. The cube uses before-rollup calculated measures. Use calculated columns instead. Any cube in the model uses incremental update.

Additionally, the following environmental parameters change the range of partition sizes that you can use and, in general, apply to all cubes: network bandwidth - Communication of information between a cube and the end user's computer can involve multiple networks and host computers. If you use smaller partitions then you can support a larger number of queries. cube production time frame - If you decrease partition sizes then query response time improves because the volume of data required for query calculation is reduced. However, this increases cube build time. acceptable query response time - Query response time is normally expressed in terms of an average because it varies with the distance from the cube and with the complexity of the reports executed. The number of simultaneous requests being processed and network capacity can also affect query response time. You need to consider fluctuations in workload during the course of a typical work day, in order to determine if the correct OLAP architecture and hardware has been used.

Step-by-Step Transformer 169

Chapter 6: Perform Model and PowerCube Maintenance server and end user hardware - You should start capacity planning by estimating volumes of incoming requests. Then you can design a system that has a combination of hardware capacity and cube structure to support the request load. Large partitions are only practical on servers that are capable of performing a large number of calculations per second.

Prepare Your Model for Partitioning


Partitioning-related performance improvements are most pronounced when models have hierarchical dimensions and category-per-level ratios of 10:1 or less. Auto-partitioning does not work well on models where the top level of a dimension has hundreds of categories and the leaf level directly beneath it has thousands more. If the dimensional hierarchies in your current model are too flat, try adding one or more manual levels to bring the larger dimensions closer to the recommended 10:1 ratio. You can do this by setting up clearly recognized, business-related groupings in your source data, such as commodity types or customer sales channels, and importing them into your model as a new data source column manually creating subdivisions such as geographic regions on the Transformer dimension map, then using the category viewer to drag lower level categories to associate with the appropriate parent levels adding calculated columns such as product number ranges or alphabetically sorted customer groups

If these manually added categories are not needed in certain cubes or reports, you can create a dimension or user class view and use the Suppress command to remove the unnecessary levels of detail. However, if you suppress manual levels in a dimension view, this will reduce the effectiveness of auto-partitioning.

Select the Best Partitioning Method


To speed up report retrieval times, accept the automatically set partitions in Transformer. These pre-summarize the cube data into rows at one or more optimal partition levels. For models that have relatively flat dimensional hierarchies, you may prefer to use manual partitioning so that you can control how partitioning is done on the dimensions, levels and categories. Other possible reasons for this choice include the following: You want to improve on the auto-partitioning strategy. You have large or unusually structured cubes. You want to tune performance for the most popular reports.

Define Partitions Automatically


To specify how auto-partitioning affects your cube, you can modify two parameters on the AutoPartition tab of the PowerCube property sheet:

170 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance the desired partition size (based on estimated number of consolidated records). Transformer selects groups of categories that satisfy the partition size criteria you specify and that optimize query performance. Transformer always stops partitioning when the number of records in the summary partition drops below the specified partition size. the maximum number of partitioning passes. Transformer continues for this number of passes in an attempt to optimize query performance. It may not use all the passes that you specify, but it won't use more. It uses one pass for each partition level that it creates.

As you decrease the desired partition size and increase the number of passes, the number of partition levels created increases, and cube creation time increases. The last pass that Transformer performs consolidates the summary partition. If an additional pass does not yield a reduction in summary partition size then this pass can be skipped. Transformer may read the source data several times to identify a good partitioning strategy, so expect auto-partitioning to extend cube creation times, at least initially.

Auto-Partitioning Tips
Experiment with different partition sizes, beginning with large partition sizes and working toward smaller ones. Set the maximum number of passes to a large number while testing. Later passes may not produce significant improvements in query response time. If this happens, you can decrease the number of passes to achieve an appropriate balance between query performance and cube build time. If both the summary partition and the level-one partition have the same number of records then the summary partition has not been consolidated. In this case, you should increase the number of passes. If you have existing partitions that are manually defined, we recommend that you clear them and let Transformer define the partitions automatically. You can then compare the two. Select PowerCube Partition Status (Tools menu), and see how using auto-partitioning has optimized your model. Choose the best solution.

Steps to Perform Auto-Partitioning


1. Open the property sheet for every cube in the model, click the Processing tab and ensure that Optimization is set to the default (Auto-Partition). 2. Click the Auto-Partition tab and enter the following partitioning guidelines: specify the Estimated Number of Consolidated Records adjust the slider in the direction of Faster Cube Creation or Faster Cube Access specify a Desired Partition Size (start large, not more than 250, 000 records, then reduce in incremental steps; test and repeat until runtime processing is acceptable) specify the Maximum Number of Passes (start with 5, or one pass for every manually defined partition level)

3. In the Dimensions tab, select the dimensions that you want to include in your cube. Step-by-Step Transformer 171

Chapter 6: Perform Model and PowerCube Maintenance 4. Click OK. 5. To view partitioning information, right-click a cube in the PowerCubes list and click PowerCube Partition Status. 6. To remove partitioning, select Reset Partitions (Tools menu).

Define Partitions Manually


If your cubes are very large or unusually structured, you may achieve faster build times and better runtime performance by manually defining your partitions. You do this by assigning partition level numbers to categories in selected dimensions, preferably ones that are several levels deep, with similar category-to-level ratios throughout. Most models have dimensions in which the lowest-level details are accessed frequently, such as product codes. In these dimensions, it is important to manage categories with a high parent-to-child ratio and partition them accordingly. Too many partition levels will adversely affect lowest-level detail reports. Dimensions that are summarized frequently are also candidates for manual partitioning. Generally, if 80 percent of your users create summary reports with categories from a given dimension, consider partitioning at a high level in that dimension. Before partitioning manually, we recommend that you run auto-partition, examine the log file, and take note of the partition points selected by the auto-partitioning algorithm. Once you manually assign partition level numbers, auto-partitioning is disabled and only categories and levels specified manually get partitioned. Using a small partition size for dimensions that are summarized frequently may contradict partition size choices you made earlier. This is especially true if your cubes have frequently summarized dimensions as well as dimensions with categories that are mainly used to report lowest-level details. You can't use different partition sizes on different parts of the cube. You must decide whether to favor summary reports or lowest-level detail reports. To help you test your partitioning strategy, you can use the following Tools menu options: PowerCube Partition Status. Logs the record distribution resulting from your trial partition. Reset Partitions. Removes partitioning from your model, so you can test an alternative strategy.

Example
In a sales analysis model that contains time, region, and product dimensions, partitions are defined based on product lines and sales regions. Separate partitions are defined for the Outdoor Products line and the Europe region because most of your products are in the Outdoor Products line and most of your offices are in Europe, so this is the most frequently queried information at runtime the consolidated summary partition for all Outdoor Product sales contains less than 500,000 records the consolidated summary partition for all European sales contains less than 500,000 records

172 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance Given this sales distribution, partitioning on both the regions and product line dimensions creates the most useful summary partitions. The resulting consolidated records are readily accessed because there is no waiting for rollups to be computed in the reporting component.

Manual Partitioning Tips


A partition level is a set of categories that all receive the same partition number. These categories can come from more than one level in a dimension. However, we recommend that you select them from the same level and include a specific set of categories across the dimension. If more than three levels of partitioning are required to achieve acceptable performance, consider adding partitioning to another dimension or level. Choose dimensions that contain a large number of categories. Consider dimensions that contain large numbers of levels compared to other dimensions in the model. Most often, these dimensions offer the greatest possibility for consolidating rows during cube creation. Avoid partitioning dimensions that are frequently updated with new categories, or which contain alternate drill-down structures, leaf-level subdimensions, or special categories. Do not specify partition numbers for leaf categories, drill categories, or the main root category. When you manually define partitions, you must still specify the Maximum Number of Passes setting on the Auto-Partition tab (Cube property sheet). The number of passes must be set to the number of manually assigned partition levels, or to a number greater than that. You can include categories from different levels in the same partition level. However, a single partition level cannot include categories from more than one dimension and you cannot partition a suppressed category.

Steps to Partition Manually


1. Begin by calculating the required number of partitions, based on the following formula: Number of partitions = (Number of source rows)/(Desired partition size) Note: In most production environments, partition levels should not exceed 3, and partition sizes should not exceed 500,000 records. Source rows are based on the source file. 2. Open the diagram for the dimension in which you want to define partitions, and choose a level that contains approximately the number of categories identified in Step 1. 3. Open the property sheet for the category or level whose partition number you want to set. 4. In the Partition box, type the partition number you want to assign to the category or level and click OK. 5. Assign the same number to each category in a partition level, starting with the lowest level and working up to the top level in the dimension. Make sure each partition level number is equal to, or one greater than, the partition number of its ancestor. If there is a gap in the numerical order of the partitions, Transformer alerts you with an error message when you create the cube. Note: Manually-specified partition level numbers don't necessarily define the order in which partitions are placed in the cube. Partition level numbers may be reordered by Transformer.

Step-by-Step Transformer 173

Chapter 6: Perform Model and PowerCube Maintenance 6. When you are finished, click the Auto-Partition tab (PowerCube property sheet) and ensure that you specify a Maximum Number of Passes that is at least as large as the number of partitions you calculated in step 1, and added in steps 2 to 5. 7. Create the cube and use the PowerCube Partition Status command (Tools menu) to view the distribution of records: If no partitions are larger than your desired partition size, partitioning is complete. If some partitions are larger than your desired partition size, proceed to Step 8 and test performance (access times) in your reporting component.

8. In your reporting component, drill down to the partition with the largest number of records. If the performance is unacceptable, you may have to add another level of partitioning in this dimension. Check the number of records in the summary partition. The goal is to reduce this number. 9. If necessary, repeat this procedure for levels in other dimensions, ensuring there are enough partition levels to yield the desired reporting performance. For each new level of partitioning, remember to increase the partition number by 1.

Omit Dimensions
You can choose to omit dimensions even if you use auto-partitioning. Consider omitting a dimension if it is used only for lowest-level detail reports. If you omit detail dimensions, which are often very large, you can set a smaller partition size. Cube build time will decrease and summary queries will be processed faster. If the same model includes partitioning on detail dimensions, lowest-level queries are slower because they report across multiple partitions.

Add New Partition Levels to Existing PowerCubes


You can add new categories to an existing partition level. For example, if a cube is partitioned on a level called Regions, adding a new region to the level results in a new partition for that region. You cannot add new partition levels to a model used to create an existing incrementally updated PowerCube. To change partitioning for the model, you must repartition the model and rebuild your PowerCube from scratch, using all the data from all increments.

Create Multifile PowerCubes


By default, a cube is automatically output to multiple files when it contains more than 30 million data records, or exceeds 2 GB (formerly, the size limit for a single cube). You can change this threshold by adjusting the MultiFileCubeThreshold setting in the Transformer .ini file. For more information, see the Trnsfrmr.ini file topic. Transformer determines the number of output files needed, taking the number of data records in the cube, dividing by the threshold, and rounding up.

174 IBM Cognos Series 7 PowerPlay Transformer

Chapter 6: Perform Model and PowerCube Maintenance If the cube is partitioned, the contents are evenly distributed across the required number of multidimensional partition (.mdp) files, and an additional multidimensional cube (.mdc) file is added to hold the PowerCube metadata.

Step-by-Step Transformer 175

Chapter 6: Perform Model and PowerCube Maintenance

176 IBM Cognos Series 7 PowerPlay Transformer

Chapter 7: Use Transformer in a Client-Server Environment


Running Transformer in a client-server environment differs from running it from a personal computer: You must define the connection to the server (done during installation). You must install the PowerGrid network daemon on the server. You can use NetInfo to ensure it is running. You can create a prototype model on the client, then specify On the Server as the location where the cube will be processed and upload the model to the server. You can check the progress of your job by selecting Server Status (Server menu). Your client and server models must be synchronized.

For information on running Transformer in a client-server environment, see Transformer for UNIX.

Notes
Transformer on UNIX only recognizes a limited set of data sources, including .iqd files, delimited or fixed-field text files, and Cognos PowerHouse subfiles. You can use the concurrent processing ability of the server to quickly create many cubes from different models. You can synchronize several models at once using the Transformer Model Definition Language (MDL). For more information, see the online book Transformer MDL Reference. If your model is in MDL format, you can use an FTP program to copy it from your client computer to the server. If the server or user name changes, click Maintenance (Server menu), click Server Setup, and then define the new server configuration. Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions section in the Welcome chapter.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

177

Chapter 7: Use Transformer in a Client-Server Environment

178 IBM Cognos Series 7 PowerPlay Transformer

Chapter 8: Use Architect with Transformer


You must install Transformer on the computer on which you installed Architect. You will then be able to use models and packages you created in Architect in Transformer. Architect models (.cem) are created in Architect. Each model can contain one or more packages. Each package contains all the information about a subset of a single business model, including business rules and calculations business components, such as filters, prompts, and display formats or styles information about the data, such as label names (descriptive metadata)

There are differences in the way Transformer displays information when the data source is an Architect package rather than a non-Architect data source.

Use an Architect Package as a Transformer Data Source


You can create a Transformer model based entirely on an Architect package or you can use one Architect package and a variety of non-Architect data sources. However, you can only use one Architect package as a data source in each Transformer model.

Create a Transformer Model from an Architect Package


When you first create a model using the New Model wizard, you can only specify one data source: either an Architect package, a single non-Architect data source, or the first in a series of multiple data sources. In the latter case, the first data source you specify should be a large structural data source containing columns that define the key dimensions, and hence the structure, of your model. Once you have created a preliminary model, you can add other, non-Architect data sources to your Transformer model.

Tips
If you normally work in a UNIX server environment, you should create a prototype model locally, to start. To speed up the design and test phase, use only a portion of your source file. For more information, see Transformer for UNIX. If your model is based on more than one data source, you may want to allocate measures to other levels, based on a constant or another measure in your model. Allocation between data sources is supported by all editions of PowerPlay and Transformer.

Steps
1. From the File menu, click New to open the New Model wizard.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

179

Chapter 8: Use Architect with Transformer 2. In the Model Name box, enter a name for your model. Note: All models based on Architect packages use security. You do not need to select Include Security in This Model. 3. Click Next and enter the name of your initial data source in the Data Source Name box. 4. Select Architect Model from the Data Source Type list, and click Next. 5. In the Access Manager Namespace box, select the namespace you want to use in your model, and click Next. 6. In the User Class dialog, select a user class, and click OK. 7. Select the Architect model and package, and click Next. 8. On the last page of the New Model wizard, choose one of the following options: Use the Wizard to scan the metadata and create a preliminary model that you can edit. The Candidate Hierarchies pane and the Common Measures pane are displayed, showing all the candidate hierarchies and the common measures in the package that you are using. Select the hierarchies, levels, and measures that you want and click Finish to create the preliminary model. Exit the Wizard and use the Metadata Explorer to scan the metadata. When you exit the Wizard the first time, the Metadata Explorer displays the package view pane with the objects, attributes, and measures from the package, the Candidate Hierarchies pane with the dimensions and levels, and the Common Measures pane. You can use the Metadata Explorer options and controls to select the measures and candidate hierarchies that you want to include in your model. Once you have made your selections, click OK to create the model. You can use the Candidate Hierarchy button to show or hide the Candidate Hierarchies pane. The next time you use the Metadata Explorer, it will appear in the view it last displayed in.

Add an Architect Package to an Existing Transformer Model


If you are working with an existing model, you can use the Insert Data Source command to open the New Data Source wizard, and add an Architect package, or any other sources required, to your model. Ensure that each data source has a unique name.

Steps
1. Right-click in the Data Sources list of your model and select Insert Data Source. 2. In the New Data Source wizard, enter the name of the data source in the Data Source Name box. 3. Select Architect Model from the Data Source Type list, and click Next. 4. In the Access Manager Namespace box, select the namespace that was defined in the Access Manager Configuration Manager, and click Next.

180 IBM Cognos Series 7 PowerPlay Transformer

Chapter 8: Use Architect with Transformer 5. In the IBM Cognos Common Logon dialog, enter the userid and password corresponding to a valid user in the namespace you selected, and click Log On. 6. Select the Architect model and packages that are available for your model, and click Next. Transformer adds your specified source to the existing model, and you see your new source in the Data Sources list. 7. Select Exit to the Wizard or Use the Wizard, and click Finish.

Metadata Explorer Overview


The Metadata Explorer in Transformer shows all the objects that are included in any Architect package: subjects, attributes, reference information, candidate dimensions, levels, and measures for your model. You can select a component by clicking the check box beside it. The component will appear in your dimension map when you click Apply or OK. You can use the check boxes and buttons in the Metadata Explorer to design your model with a degree of precision not available in models designed using the Wizard. For information about the correspondence between Architect attribute usage settings and their roles in Transformer models, see the Model with Architect Guide. Models created by using Architect packages, like those using sources other than Architect, can include a time dimension that contains the relevant divisions in the calendar or fiscal year, such as quarter, month, week, and day, generally derived from a single column in your data source hierarchies (dimensions) with one or more drill-down paths. These hierarchies support analysis of transactional values, such as quantity sold, by attributes, such as product type or vendor. manual levels added in the dimension map, to enhance the analytical value or to support measure allocation

The left pane (package view) of the Metadata Explorer consists of a Measure tab that is selected by default, and a Level tab. The Measure tab shows measures (performance indicators), such as number of items shipped, from the Architect source. The Level tab shows the non-measure data that will be used to create dimensions. Each tab offers two options: Subject, which displays all the subjects All, which displays all the attributes.

When you select one or more attributes in the Measure tab, the Candidate Hierarchies pane (top right) shows possible Transformer dimensions and levels for that selection. In the Candidate Hierarchies pane, you can select a whole hierarchy or the check box beside a level to include it in your Transformer model. The Common Measures pane (bottom right) shows candidate measures for your Transformer model. You can select the check box beside a measure in the Common Measures pane to include it in your model. If you click the Show Scope button, levels that are directly associated (in scope) with the selected measure are highlighted in yellow.

Step-by-Step Transformer 181

Chapter 8: Use Architect with Transformer Once you have made your selections, the Metadata Explorer builds and displays the candidate hierarchies. Besides the measures you have selected, the Metadata Explorer displays other measures that it finds in other levels in the hierarchy, depending on how you have set the Union and Intersect controls. Select the Union button if you want the Metadata Explorer to display any dimensions that are related to at least two measures that you have selected. Select the Intersect button if you want the Metadata Explorer to display any dimension that is common to the selected measures. In the Level tab, you can select a subject or attribute. When you make a selection, you will see the proposed dimension for the subject displayed in the Candidate Hierarchies pane. In the Common Measures pane, you will see the measures that relate to the subject. If you click the Show Scope button, levels that are directly associated (in scope) with the selected measure are highlighted in yellow. In addition to the Show Subject/Show All options and the Union and Intersect controls, you can use the Show Scope and Show Model controls to investigate the scope of your Architect source data. The Show Scope button shows all levels associated with a measure you select from the Common Measures pane of the Metadata Explorer. The Show Model button shows the levels and measures already inserted in your Transformer model, as shown in the dimension map. You can use Show Model to identify new candidates. You can create alternate drill-down paths manually in Transformer, based on Architect packages, by dragging the information from the package view pane to the dimension map. You can drag attributes from the package view pane to the dimension map in the Candidate Hierarchies pane to create whole dimensions, partial dimensions, or levels. To create a dimension, drag the item to the dimension line. The new dimension creates a single level with the same name as the dimension. To add levels, drag items from the package view pane to the levels area in the Candidate Hierarchies window. You can also drag measures from the package view pane to the Measures pane.

Design Your Transformer Model Using the Metadata Explorer


By using the Metadata Explorer, you can analyze the entity-attribute relationships in your Architect source data, select items for your model based on a candidate list of dimensions, levels, and measures, and then see the scope of your choices. You use the Union, Intersect, and Show Scope options to design your Transformer model in one window, without having to run separate commands or jump to a different dimension view to see the results of your choices.

Steps
1. If the Metadata Explorer was not automatically started from the New Model wizard, in the toolbar, click Metadata Explorer. 2. In the Level tab (package view pane), select a subject from the package view pane, and review its proposed dimensions and levels in the Candidate Hierarchies pane and the associated measures in the Common Measures pane. 3. If you want to include the dimension in your Transformer model, select the check box beside the level in the Candidate Hierarchies pane. 182 IBM Cognos Series 7 PowerPlay Transformer

Chapter 8: Use Architect with Transformer 4. Repeat Steps 2 and 3 for each item in the Level tab and click Apply any time you want to insert your choices in your Transformer model before continuing. 5. Click the Measure tab and, with the Show Scope and Show Model buttons selected, click a subject in the package view pane. 6. Verify that the measure is associated with one or more of the levels you previously selected in the Candidate Hierarchies pane. Note: Yellow highlighting indicates a direct association. 7. If the measure is a performance indicator that you want to include in this model, select the check box beside the item in the Common Measures pane. 8. Repeat Steps 5 to 7 for each item in the Measure tab. 9. When you are finished, click OK to close the Metadata Explorer. Transformer then builds the required queries, based on your Architect source. 10. Confirm the results in the Data Sources list, then use the pop-up menu, dimension map, or diagram to make further adjustments to your model, as required.

Filter Your Architect Data Source in Transformer


You can create different types of filters with different subjects in your Architect model and in Transformer. Each type has different implications for your Transformer data sources. Filter an Entity in the Business Layer in Architect Add a filter to an entity in the business layer if you want the filter to be included in every package where that entity is used as a subject. Transformer will always apply the filter and it will automatically become part of the SQL definition for your Transformer data source. Use this filter when you want a filter that will be applied to every associated subject in every package. Filter an Entity or an Entity Attribute for a User Class in Architect Add a filter to an entity or to an entity attribute for a user class, if you want the filter to be associated with a user class that will be available in the Transformer model if the modeler is a member of the user class where the filter was included. Once it is applied, the filter will automatically become part of the SQL definition for your Transformer data source. Use this filter when you want the filter to be applied based on different user classes using the entity or the entity attribute. Filter a Subject for a Specific Package or Without Specifying a Package in Architect You can add a filter to a package in the package layer without specifically adding it to any subjects or you can add a subject filter to a subject in a package. This filter becomes available for Transformer to use, but will not be used automatically. To use it, you must import the filter for each data source that you want it applied to. Once the filter is applied, it becomes part of the SQL definition of your data source.

Step-by-Step Transformer 183

Chapter 8: Use Architect with Transformer This is a reusable filter that you can set up in an Architect model as a productivity aid and convenience when you are creating Transformer models. In Transformer, you can choose whether you want to use this filter. If you are creating filters that affect an attribute and you are importing the filters to the model manually, ensure that you add them to every data source that contains attributes that are referenced by the filters. You can apply multiple filters against your Transformer model. Transformer combines the filters using the AND operator. Filters added to structural data sources only affect category generation. Filters added to a transaction data source affect records in your cube.

Steps to Use an Architect Subject Filter in Transformer


1. Double-click on a data source belonging to your Architect model in the Data Sources list to open its property sheet, and click the Filters tab. Note: This filter must be defined in your Architect model and available in the package. 2. Click Import to open the Import Filter window. 3. From either the package or from one of its subjects, select the filter that you want to apply against your data source, and then click OK. 4. To remove a filter, click the filter in your filter list, and then click Remove. This filter will no longer be available in Transformer. However, since it is an Architect filter, it can be reimported, if necessary.

Steps to Create and Use a Transformer Filter in Transformer


1. Double-click on a data source belonging to your Architect model in the Data Sources list to open its property sheet, and click the Filters tab. Note: This filter is unique to Transformer. It has not been defined in the Architect model and is not available in the package. 2. Click Add to open the Filter Definition window. 3. Define your SQL expression to meet your requirements, and then click OK. 4. To remove a filter, select the filter in your filter list, and then click Remove. Filters designed in Transformer are no longer available once they are deleted from your filters list.

Compare the Show Scope Function in Architect and Transformer


The following table shows how the Show Scope function applies in Architect and in Transformer.

184 IBM Cognos Series 7 PowerPlay Transformer

Chapter 8: Use Architect with Transformer

Scope
Level derived directly

Color

Use
The values for the measure are recorded in this level, or recorded in a lower level and rolled up to this level. By default, this level appears with yellow shading. Shows all levels associated with the measure you select from the Common Measures pane of the Metadata Explorer. The same color is used to show this scope type in the Metadata Explorer.

Level with allocated measures

The values for the measure are recorded in a higher level, but allocated to this level. These values can be allocated by a constant or in proportion to another measure. By default, this level appears with green shading. The same color is used for each type of allocation. Because measure allocation can only be done in models created from multiple data sources, this scope type is not shown in the Metadata Explorer.

Level has no direct association

There are no values for the measure in this level. A level that has no measure in scope appears white in both the dimension map and the Metadata Explorer. The level is not related to the source column by name, but a lower level is related. Therefore, the records in the data source can be matched unambiguously to categories in the level. By default, this level appears with light yellow shading. No equivalent appears in the Metadata Explorer.

Level derived indirectly

Level not derived

The level is not related to an attribute or source column by name. Consequently, there is no match between records in the data source and categories in the level. A level to which no attribute or source column is related appears white in both the dimension map and the Metadata Explorer.

Step-by-Step Transformer 185

Chapter 8: Use Architect with Transformer

Scope
Level derived from a data source that has missing columns

Color

Use
The level is referenced (it is related to the source column by name), but not derived. The records in the data source can't be matched unambiguously to categories in the level, because more than one category can have the same name in the level (a uniqueness problem). By default, this level appears with red shading. No equivalent appears in the Metadata Explorer.

Share Category (General Tab, Category and Special Category Property Sheets)
Share Category specifies the Object Identifier and shows the Category Code of another category in the same dimension (the share object), that is used as the base for share calculations. This item has been retained for compatibility with Transformer versions 5.x, in which you could set and apply a share object. To create this type of category for an Architect data source in Transformer version 6.6.1 and above, add a calculated attribute. On the General Tab (Level property sheet), Share Category is called Share Object.

186 IBM Cognos Series 7 PowerPlay Transformer

Chapter 9: Reference
Cognos.ini and <RenditionName>.ini Files
The Cognos.ini and <RenditionName>.ini initialization files contain database connection information and other initialization settings that ensure forward and backward compatibility with other components or renditions of the IBM Cognos platform. In cases of overlap, settings in the <RenditionName>.ini and Trnsfrmr.ini files override the corresponding settings in Cognos.ini. In PowerPlay Series 7, the <RenditionName>.ini file has the format cern.ini. Cognos.ini and <RenditionName>.ini files are created or updated when the user installs an IBM Cognos product running in the Windows environment. The default location for the Cognos.ini file is in the \cognos folder, at the same level as cern. By default, the <RenditionName>.ini file is located in the installation_location\bin folder used for your IBM Cognos products. Transformer uses the following sections of Cognos.ini or, in PowerPlay version 6.6 and above, its generic equivalents, <RenditionName>.ini or <CompanyName>.ini.

[PowerPlay Transformer]
Specifies the preferences for Transformer, as set by the user interface. Transformer maintains this section and recreates any missing or invalid entries. This [PowerPlay Transformer] section is maintained in the Cognos.ini file for compatibility with PowerPlay versions prior to 5.2. Transformer now stores preference settings in Trnsfrmr.ini. Each setting in Trnsfrmr.ini overrides any corresponding setting in Cognos.ini.

[Cognos Locations]
Provides information on the location of components of the IBM Cognos platform.

[Services]
Provides Transformer with information required to create model files.

[Service - Transformer Server]


Identifies the Bourne-shell or C-shell scripts used to open Transformer for UNIX from the Windows environment.

[Databases]
Stores database definitions so that other components of the IBM Cognos platform can use the source tables. To ensure backward compatibility, Cognos.ini remains the default location for all database connection information.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

187

Chapter 9: Reference

[Connection List]
Contains a list of connection names for client/server commands. These connection names appear in the Edit Network Connections dialog box. Used by PowerGrid when connecting to Transformer for UNIX. In Transformer versions 6.6 and above, a utility installed with PowerGrid copies the connection information to a new file called Cogconnect.ini. The utility runs only once, during product installation so, if you need to change any of the information, you must edit the Cogconnect.ini file directly.

[Connection Types]
Provides Transformer with a list of DLLs that are used for server connections. These connection types appear in the Modify Connection dialog box. Transformer uses only Windows sockets-compliant TCP/IP transports.

[<Connection Type> Config]


Provides information on the particular connection type, where <Config> is a keyname in the [Connection Types] section. Used by PowerGrid when connecting to Transformer for UNIX.

[Connection - <connection name>]


Provides Transformer with parameters on specific server connections, where <connection name> is a keyname in the [Connection List] section. You can configure this information by using the Modify Connection dialog box, and its two descendant dialog boxes: Connection Timeouts and Connection TCP/IP Setup.

[PowerPlay]
Provides Transformer with local user and company information. Depending on the country version of your Windows operating system, this information may be derived from the Windows system registry instead of the Cognos.ini file.

[PowerPlay DataServer]
Provides settings related to Transformer and the way OLAP source values appear in PowerPlay client reports. For example, you can change the memory allocation setting for read/write cache sizes used by Transformer during cube generation. This may be required if your models contain a large number of categories. For more information about adjusting the cache size, see the PowerPlay Administrator's Guide or the IBM Cognos Configuration Manager User Guide. You can also change the zero suppression setting to control how zeros are reported in PowerPlay clients. Perform the following steps in your PowerPlay for Windows or PowerPlay for Excel client applications:

Steps
1. In PowerPlay for Windows, from the File menu, click Preferences, and then click the Suppress tab. In PowerPlay for Excel, from the PowerPlay menu, click Options, and then click the Suppress tab.

188 IBM Cognos Series 7 PowerPlay Transformer

Chapter 9: Reference 2. In the Suppression Options box, select Zero Values. 3. Click OK. Tip: For best performance, suppress only zero values, but not computed zeros (aggregations or calculations whose result is zero.) To suppress only zero values, make the following entry in your cern.ini file:
DisableMaxZeroSuppress=1

If you want to suppress computed zeros and zero values (the default), make the following entry in your cern.ini file:
DisableMaxZeroSuppress=0

Or to restore the default behavior, remove the DisableMaxZeroSuppress entry from your cern.ini file. For more information about suppressing zeros, see the online Help for your client or, for thirdparty OLAP data sources, the OLAP Server Connection Guide.

[PowerPlay DataServer Size Limitations]


In previoius releases, this section included a setting to prevent insertion of a record if the insertion caused the resulting cube to exceed the size limit for local cubes. For more information about size limitations, see the MultiFileCube Threshold Setting section of the "Trnsfrmr.ini File" (p. 190) topic.

[PowerPlay Server List]


Provides Transformer with a list of valid data servers.

[PowerPlay Server - <server>]


Provides Transformer with additional information for each type of PowerPlay data server, where <server> is a keyname in the [PowerPlay Server List] section.

[PowerPlay Server - PPDSRemote]


Specifies a client port, in the range of 1025 to 5000 inclusive, which is then used for all communication between the PowerPlay Enterprise Server query processor and the Windows client. Use for security reasons, when you want to control which port ID the remote driver binds to, rather than letting the operating system supply any available number. For example, to bind the remote driver to client port 5000, type
Port=5000

Valid port IDs are 1024 < value 5000. The same port ID can be used for all Windows clients, as long as they are installed on di-fferent computers. Note that, when connecting remotely, users can only start one instance of the PowerPlay client per computer.

Step-by-Step Transformer 189

Chapter 9: Reference

Trnsfrmr.ini File
The Trnsfrmr.ini file stores the preference values that you specify by using the Preferences command. It contains a single section, [PowerPlay Transformer], which Transformer maintains by checking for missing or invalid entries. The Trnsfrmr.ini file is created or updated when you change settings in the Preferences dialog box. Note: In Transformer Version 7.3 and subsequent releases, the cern.ini file includes a new section called [Transformer Locale Type]. By default, the LocaleType is set to 1, meaning that the operating system determines how decimal separators, thousands separators, dates, and currency symbols display. However, in Transformer Win32 editions only, you can use Configuration Manager to change this setting to 0. Transformer will then use some of the display settings configured in cerlocale.xml, thereby maintaining consistency across the entire product suite for a given locale. This change has no effect on the settings used during cube-building. For more information, see "Dates and Numeric Values Not Formatted as Expected" (p. 300) in the PowerPlay Troubleshooting section.

File Location
Transformer automatically finds this file by looking in the executable directory of your most recently installed rendition of the product. By default, the file is located in the folder: \cognos\cern\bin. To retain your settings from previous versions of Transformer, the setup program moves any existing Trnsfrmr.ini file to this spot, from the Windows directory or the home directory of a multi-user Windows system.

AutoPartition Setting
Use Trnsfrmr.ini to set the AutoPartitionOff environment variable. A setting of 1 ensures that autopartitioned cubes always build with the Categories optimization method. A setting of 2 ensures that model files imported into the current version of Transformer switch to Auto-Partition, unless one or more cubes in a model contain features that preclude use of this default cube optimization method.

MultiFileCube Threshold Setting


You can use the multifile PowerCubes feature introduced in Transformer 6.6 to create local PowerCubes. By default, the MultiFileCubeThreshold setting in the [PowerPlay Transformer] section of Trnsfrmr.ini is set to zero. This disables multifile generation, so that only a single cube is generated. However, you can change this threshold setting so that very large cubes are automatically ouput to multiple files. For example, set the threshold to a large unscaled integer (such as 30,000,000), if your cube is still less than 2 GB set the threshold to a smaller number (such as 1,000,000) to test or use the multifile feature on smaller cubes

Transformer determines the number of output files needed, taking the number of data records in the cube, dividing by the threshold, and rounding up. Cube partitions are spread evenly across these multidimensional partition (.mdp) files, and an additional multidimensional cube (.mdc) file is added to hold the PowerCube metadata.

190 IBM Cognos Series 7 PowerPlay Transformer

Chapter 9: Reference

CenturyBreak Setting
Use Trnsfrmr.ini to specify a cut-off date that determines whether the two-digit year (YY) in a sixdigit date is a 20th century date or 21st century date. Transformer stores values below the cut-off date as 21st century dates: The default setting is CenturyBreak=20, which signifies that the dates 00 to 19 are interpreted as the years 2000 to 2019, and the dates 20 to 99 are interpreted as 1920 to 1999. You can change this default to any value from 0 to 99. For example, if you change the setting to CenturyBreak=05, all YY values between 00 and 04 are interpreted as 21st Century dates, and all YY values at or above the cut-off date are interpreted as 20th Century dates (that is, 1905 to 1999).

If your data includes overlapping dates in two centuries (for example, 1900 to 1999 and 2000 to 2020), you must change your source data to use the 4-digit year format (YYYY).

MDL Save Option Settings


Use Trnsfrmr.ini to specify the following manually maintained MDL save options: To set .mdl save actions to verb format instead of structured MDL format, type VerbOutput=1. To set .mdl save actions so they do not use object identifiers, type ObjectIdOutput=0.

Note
In PowerPlay versions prior to 5.2, all preference settings were stored and maintained in the Cognos.ini file. For compatibility, entries in the [PowerPlay Transformer] section of Cognos.ini are still read; however, settings in Trnsfrmr.ini override those in Cognos.ini.

Rendition.cfg File
In PowerPlay version 6.6 and above, a Rendition.cfg file is added during the installation process. It specifies a base rendition name and a base rendition company: the key information needed to point to the correct registry subtree (specific to a particular version and language). The registry root is no longer hard-coded into the product. For example, if the Rendition.cfg file contains the entries Base Rendition Name=cer6 and Base Rendition Company=Cognos, the system looks for the required initialization settings in the <RenditionName>.ini and <CompanyName>.ini files. In this case, it finds cer6.ini in the installation directory for the cer6 (Cognos Enterprise Reporting 6) rendition, and Cognos.ini (which includes the information required to make the proper database connections) in the cognos folder.

The Log File


Transformer tracks activity during processing by writing messages to a log file. By default, the log file has the same name as the model file, but with a .log extension. Log files are ASCII text files consisting of header information followed by a series of messages. Each message is tab-delimited to show the following columns:

Step-by-Step Transformer 191

Chapter 9: Reference

Column:
Contains:

1
Processing Date/Time 05/13/1999 14:23:06

2
Message Severity

3
Object ID

4
Message Text

Example:

000002B1

Start cube update.

Processing Date/Time
The processing date and time is a time-stamp showing when the message was written to the log file.

Message Severity
The severity of each message falls under one of four categories: 1. Severe Error This can be caused by a system administration limit on CPU, disk, file, or transaction resources; or by a corrupted model, cube, or temporary file. A severe error yields corrupted or inconsistent files. 2. Error Occurs at the transaction level. An error causes a cube to be marked as invalid, but leaves the cube in a consistent (though possibly incomplete) state. 3. Warning Doesn't impede processing, but indicates a potential problem. 4. Information

Object ID
The ID of the object processed, in hex notation. See the Preferences dialog box (Titles tab) to activate object IDs.

Message Text
The text of each message includes information about processing and timing. Messages marked Timing are especially useful to analyze a series of processing events. You can do this by importing the log file into any spreadsheet application as a tab and commadelimited file. Because messages containing timing information are formatted with a comma (,), after import, the timing information appears as a separate column in the spreadsheet. You can then use the automatic filtering capability of the spreadsheet application, to focus your analysis on this aspect of the processing.

Notes
In the Preferences dialog box, you can specify the following for log files: the log file name (the default is the model name)

192 IBM Cognos Series 7 PowerPlay Transformer

Chapter 9: Reference the directory to which Transformer writes the file the degree of detail (severity level) logged the elapsed minutes between each logging entry whether entries are appended to the log file

Step-by-Step Transformer 193

Chapter 9: Reference

194 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference


Creating Drill-Down Paths
When you create an alternate drill-down path, you designate an additional way of viewing the data in the selected level. When drilling down in PowerPlay, you can choose which of these paths to take. Alternate drill-down paths always begin at a root category and extend to the selected convergence level. For a convergence level to be valid, it must have source values that map to unique categories. Otherwise, there is no way of distinguishing between categories. If you create an alternate drill-down path to a level that is not flagged as containing only unique categories, you are prompted to declare that level unique. Responding yes to this prompt has the effect of selecting the Unique check box in the property sheet (Source tab) of the convergence level.

Defining Scope
Measure Scope Dimension Map
Use the measure scope dimension map to focus on the portions of the model where measures have meaning. By default, measure scope levels appear in one of the following states.

Level Derived Directly


The values for the measure are recorded in this level, or recorded in a lower level and rolled up to this level. By default, this level appears with yellow shading.

Level with Allocated Measures


The values for the measure are recorded in a higher level, but allocated to this level. These values can be allocated by a constant or in proportion to another measure. By default, this level appears with green shading. The same color is used for each type of allocation.

Level Has No Direct Association


There are no values for the measure in this level.

Data Source Scope Dimension Map


Use the data source scope dimension map to focus on the dimensions and levels with which a data source is associated. By default, data source scope levels appear in one of the following states. Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

195

Appendix A: Additional Reference

Level Derived Directly


The level is related to a source column by name. Consequently, the records in the data source can be matched unambiguously to categories in the level. By default, this level appears with yellow shading.

Level Derived Indirectly


The level is not related to the source column by name, but a lower level is related. Therefore, the records in the data source can be matched unambiguously to categories in the level. By default, this level appears with light yellow shading.

Level Not Derived


The level is not related to a source column by name. Consequently, there is no match between records in the data source and categories in the level. A level to which no source column is related appears white in both the scope map.

Level Derived from a Data Source With Missing Columns


The level is referenced (it is related to the source column by name) but not derived. The records in the data source can't be matched unambiguously to categories in the level because more than one category can have the same name in the level (a uniqueness problem). By default, this level appears with red shading.

Tips
To change the default color for a level state, use the Dimension Map tab (Preferences dialog box). You can perform the same actions on a scope dimension map as on a regular dimension map.

Quotation Marks in Data


The MDL syntax reserves quotation marks, (') and ("), to delimit textual data. All text strings are enclosed in either double quotes, for example, "text", or single quotes, for example, 'text'.

Original Text
New York VP's Statistics

Syntax in MDL
"New York" "VP's Statistics"

196 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Original Text
Other "No-name" Brands

Syntax in MDL
'Other "No-name" Brands'

When a text string contains both single and double quotes, Transformer changes some quotation marks to avoid ambiguity. All quotation marks in the original text are converted to single quotes ('), and the entire string is enclosed in double quotes (").

Original Text
Other's "No-name" Brands "London" and London ' ("prime") Steel Swivel Castor 2 1/2", Black

Syntax in MDL
"Other's 'No-name' Brands" "'London' and London ' ('prime')" "Steel Swivel Castor 2 1/2', Black"

Note: Using quotation marks to designate Imperial measurement is not recommended. If you use quotation marks to designate inches and feet, then the double quote used to designate inches is changed to a single quote for feet.

Client-Server Model Synchronization


Synchronization involves copying model changes from client to server and from server to client, and updating several time-stamps and identification numbers stored in the client and server models. When Transformer synchronizes client and server models, it performs these steps: 1. Changes in the client model are incorporated into the server model. Internal time-stamps and identification numbers are updated. 2. Changes in the server model are incorporated into the client model. Internal time-stamps and identification numbers are updated. This process is the counterpart of step 1. In performing steps 1 and 2, Transformer may encounter conflicting changes in associated client and server models. In such cases, Transformer overrides server changes in favor of changes made to the client model. 3. Current date and relative time relationships are recalculated on the client and transmitted to the server model. 4. All internal stamps and identification numbers in both the client and server models are updated to show that they have been synchronized. This ensures that future changes to either model will be recognized as updates in the associated model. Note: If you manually edit the MDL description of a model and then process it on either the client or the server, do not change any of the internal identification numbers associated with synchronization. These values ensure that models and cubes remain synchronized as they are changed. Identification numbers involved in model synchronization generally contain the keywords "Synchro" (as in "SynchroStamp"), "Cycle" (as in "UpdateCycle"), or "Stamp" (as in "ClientStamp").

Step-by-Step Transformer 197

Appendix A: Additional Reference

When To Synchronize
When you have made changes to either a client or a server model independent of the associated model (that is, by not using commands in the Server menu), you should synchronize the models. For example, if you update a model on the server by running Transformer on Unix from the UNIX command line or via a crontab entry, you should later synchronize the model with the associated client model. It is not necessary to synchronize the client model with the server model following each production update on the server. Use the Synchronize command when you want to make changes to the client model or when you want to review the current contents of the model. Transformer automatically synchronizes client and server models when you issue any of the commands on the Server menu.

Server Processes
When you issue a Generate Server Categories or Create Server PowerCubes command, Transformer performs these steps: 1. Transformer on Windows and Transformer on Unix establish a connection. A dialog box may appear in which to type the password for your server account. 2. The client and server models are synchronized. 3. Transformer on Unix is started to generate categories for the server model by using the associated server sources. 4. For a cube creation command, the cubes or cube groups for the server model are created by using the server-based data sources and the contents of the server model. The way Transformer on Unix uses server-based data sources depends on the timing set for each data source. See the Timing properties in the General tab (Data Source property sheet). 5. Any resulting changes are sent from the server model to the client, where they are incorporated into the client model.

Warning and Error Messages


If warning or error messages appear, then you can view the troubleshooting information for the message. Click here (p. 198) for more information about specific messages. Warnings are issued only when you use the Check Model command. Errors are issued both when you use the Check Model command and when a model check is performed implicitly during category generation or cube creation.

PowerCube Status Filters


You can use a combination of the two drop-down lists to filter the PowerCubes list. The following are valid settings for Cube Creation:

198 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Filter Value
Enabled/Disabled Enabled

Meaning
Lists all cubes whether Enabled or Disabled. Lists all cubes that are set to be created during the cube creation process. Lists all cubes that are set to be skipped during the cube creation process.

Disabled

Valid settings for Status are:

Filter Value
Any Status

Meaning
Lists all cubes associated with the model, regardless of status. The current status of each cube is shown in the Processing tab of the PowerCube property sheet. For a description of each cube status, see the What's This? Help. Lists all cubes that Transformer failed to create. Possible states are Invalid, Failed, or Missing. Lists all cubes from which warnings were detected during the last creation or update. Lists all cubes that Transformer created successfully without errors or warnings. The status is OK.

Errors

Warnings

Successful

Data Source Types


The following table outlines the data sources supported by Transformer. To view a complete list of environments currently supported by IBM Cognos products, such as operating systems, patches, browsers, Web servers, directory servers, and database servers, visit IBM Cognos on the Web (http: //www-01.ibm.com/software/data/cognos/).

Step-by-Step Transformer 199

Appendix A: Additional Reference

Setting

Description

Impromptu Query Definition (valid The source table is described in an Impromptu Query on client or server) Definition (.iqd file). Input values are retrieved from a supported database by executing an SQL query that is stored in the .iqd file. The contents of the .iqd file are stored in the model and the embedded .iqd contents are refreshed when the data source is opened (that is, when you generate categories or create cubes), or when you click OK on the Data Source property sheet. For PowerPlay users to drill through to detail values using Impromptu or Impromptu Web Reports, include an associated Impromptu report (.imr) file. Note: Transformer does not support Impromptu HotFiles as input. Delimited-field Text with Column Titles (valid on client or server) Input values are found in a text file with one record per line. The values in the first line represent column names. The fields (column values) are delimited by the character specified in the Field Delimiter box.

Delimited-Field Text (valid on client Input values are found in a text file with one record per or server) line. The fields are delimited by the character specified in the Field Delimiter box. dBase Table (valid on client only) Access Table (valid on client only) Input values are found in a dBase file. Input values are found in an Microsoft Access file. Secured (password-protected) files are not supported. The data source table is described in a Microsoft Access Query (.mdb file). Input values are retrieved from an ODBC-supported database by executing an SQL query that is stored in the .mdb file. Secured (password-protected) files are not supported.

Access Query (valid on client only)

Paradox Table (valid on client only) Input values are found in a Paradox file . Lotus 1-2-3 Crosstab (valid on client Input values are found in a Lotus 1-2-3 crosstab file. only) Excel Crosstab (valid on client only) Input values are found in an Excel crosstab file.

200 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Setting

Description

Lotus 1-2-3 Database (valid on client Input values are found in a Lotus 1-2-3 spreadsheet dataonly) base file. Excel Database (valid on client only) Input values are found in a Microsoft Excel spreadsheet database file. PowerHouse Portable Subfile (valid Input values are found in a Cognos PowerHouse portable on client or server) subfile (.ps). FoxPro Table (valid on client only) Clipper Table (valid on client only) Fixed-Field Text (valid on client or server) Input values are found in a FoxPro file. Input values are found in a Clipper file. Input values are found in a text file with one record per line. Each field starts at the byte immediately following the preceding field; the width of each field occupies a specified number of bytes. Each row ends with a text line delimiter.

Fixed Field and Record without CR Input values are found in a text file. Each field starts at the byte immediately following the preceding field; the width LF (valid on client or server) of each field occupies a specific number of bytes. The record end is not marked by a text line delimiter.

Field Delimiters
Transformer examines only the first byte in double- and multi-byte characters, to determine whether a character in the input stream matches the delimiter character you specify. In addition, if the source data is rendered in the DOS Code Page (OEM) character set, Transformer converts the delimiter character to the OEM character set. Standard delimiters such as the comma, semicolon, or space character remain the same across character sets. To use the tab character as a delimiter, type \t (backslash t).

Character Sets
Setting
Default

Description
See Windows (ANSI).

Step-by-Step Transformer 201

Appendix A: Additional Reference

Setting
DOS Code Page (OEM)

Description
The data source file was output by a DOS program, or by an OS/2 program. It contains characters that map to the active DOS code page. In the United States, most computers by default use Code Page 437. For more information on code pages, see your Microsoft Windows User's Guide. This character set is also known as the IBM PC character set.

Windows (ANSI) one-byte characters Use this character set to improve performance if the originating application does not use multi-byte characters. Windows (ANSI) The data source file was output by a Windows application or a program on an ordinary ISO 8859-1 UNIX system. For example, it may be a Comma-Separated Values file (.csv) that was created by a Windows application such as Microsoft Excel. This character set is also known as the Windows Latin 1 character set. For more information on the Windows character set, see your Microsoft Windows User's Guide. If you use a client-server model, you must use the same character set on both the client and the server, or results with extended characters (above 128) will be unpredictable.

Isolation Levels in .IQD Files


You can set isolation levels for Impromptu Query Definition (.iqd) files in the data source property sheet.

Isolation level
Default

Description
Uses the isolation level that was originally specified in Impromptu when the .iqd file was created. Makes changes made by other transactions immediately available to a transaction. Allows a transaction access only to rows that have been committed by other transactions. Prohibits other transactions from updating the row on which a transaction is positioned.

Read Uncommitted

Read Committed

Cursor Stability

202 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Isolation level
Reproducible Read

Description
Ensures that rows selected or updated by a transaction will not be changed by another transaction until the first transaction is complete. Prohibits access by a transaction to rows inserted or deleted since the start of the transaction. Ensures that a set of transactions executed concurrently produce the same result as if they were performed sequentially.

Phantom Protection

Serializable

UNIX Paths
When specifying a path to a UNIX host computer (server), be sure to use a fully qualified UNIX-style path, with a forward slash character (/) as the directory delimiter. Paths can contain UNIX environment variables if the FilenameVariable preference on the host computer is set to TRUE.

Date Input Formats


There are two types of settings, specified in the locations noted below.

Setting
Predefined

Description
As defined in the data source, including Clipper, dBase, or FoxPro Impromptu Query Definitions, where the column has a data type in the database Paradox PowerHouse portable subfiles, with a column marked as date in the subfile dictionary spreadsheets with date-formatted cells Where the data source does not define the date format, such as in text files, Transformer assumes the format to be YYYYMMDD.

Step-by-Step Transformer 203

Appendix A: Additional Reference

Setting
From Windows Control Panel

Description
As defined in the Regional Settings of your Windows Control Panel. The value is taken from the Short Date Style box on the Date tab. Note: This setting is available only on the General tab of the Preferences dialog box (File menu.) When new columns are created with this preference, the Date Input Format setting in the Column property sheet initially reflects the Windows Control Panel setting.

The settings below are available only in the Date Input Format box on the Time tab of the Column property sheet. Use to set the date format that exactly matches your source data.

Setting
YMD DMY MDY YM

Description
Year, Month, Day; for example, 990413 or "1999-Apr-13" Day, Month, Year; for example, 130499 or "13 Apr 1999" Month, Day, Year; for example, 041399 or "Apr 13, 1999" Year, Month: for example, 199904 or 1999-Apr Transformer processes this setting as if the day component was 01.

MY

Month, Year; for example, 041999 Transformer processes this setting as if the day component was 01.

Year; for example, 1999 Transformer processes this setting as if the month and day components were 01.

Date Format Codes


Transformer uses year, month, quarter, and day codes to construct date format codes. For levels in a time dimension, you can combine the codes to construct date formats comprising years, quarters, months, and days. By combining codes, you can create date formats such as: YYYY MMM DD, which appears as 1998 Jan 01. YY "Q"Q, which appears as 98 Q1.

204 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference Note: For lunar years, quarters are labeled Q1-4, months are labeled 1-12 or 13, and days are labeled 1-28.

Code
YY YYYY Q MM MMM MMMM DD DDDD /, -, or space character

Meaning
A 2-digit year. A 4-digit year. A 1-digit quarter indicator. A 2-digit month in the year.

Sample (English)
98 1998 1 01

The abbreviated month name. Jan The full month name. A 2-digit day. A day of the week. January 01 Sunday

Separator characters for other 1998/01/01, 1998-01-01 date codes. The quoted string itself. "(" shows an open parenthesis.

Any quoted string

Inclusion
You can prevent cubes from containing zero values for categories that lack data by including categories in the cubes only when they occur in the data source. Cubes that are more compact help users to focus on the relevant data. The Inclusion setting is available in various Category property sheets (Category, Drill Category, Special Category), as well as the Level property sheet. In the Category property sheets, this setting affects one selected category. You can specify a default Inclusion setting for all categories in a level by setting the Inclusion property in the Level property sheet. The setting for the level applies to all categories that use the default setting, and to all subsequently-created categories.

Setting
Default <<From Level>>

Description
Uses the Inclusion setting for the level in which the category resides.

Step-by-Step Transformer 205

Appendix A: Additional Reference

Setting
Always Include

Description
Retains the category in the model and includes it in cubes, even if it, or any of its descendants, fails to appear in the data source. The category is also included if any of its descendants are included and if the category has not been excluded, summarized, or cloaked in a dimension view. If necessary, Transformer includes ancestors of the category, regardless of their Inclusion settings. Note: Always Include is the default Inclusion setting when you create a time dimension. If you exclude categories, special categories that use relative time concepts (such as Last Month) will not work properly.

Suppress Blank Categories (levels only) Suppress (categories only)

Retains categories in the model, but excludes from cubes those categories with a blank Source Value. Excludes the category from the cube but retains the category's descendants and all data values associated with them. The immediate descendants appear in PowerPlay at the same level as the excluded category. The result is identical to using the Suppress command (Diagram menu). For a category to be excluded, the following conditions must be true: The category is not the share category of another. The category is not referenced by a special category.

Include When Needed

Retains the category in the model, but excludes it from cubes when it and all its descendants fail to appear in the current data source. If necessary, Transformer includes ancestors of the category, regardless of their Inclusion property.

Excluded (regular and calculated categories only)

Excludes the category, its descendants, and all related data from the cube. The result is identical to using the Exclude command (Diagram menu). For a category to be excluded, the following conditions must be true: The category is not the share category of another. The category is not referenced by a special category.

206 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Allocation Types
Setting Description

From Level (Category property sheet Uses the Allocation Type setting for the level in which the only) category resides. Do Not Allocate Suppresses allocation. PowerPlay users see "na" in the category's descendants. Allocates the measure value associated with the current category as a constant, to all descendants. PowerPlay users see the constant value in all descendant categories. Opens the Select a Measure dialog box. Use to allocate the measure value proportionally to descendant categories by using values from another measure as a weighting factor. For example, you might allocate the value of a fixed cost measure to various regions based on another measure, such as sales for each region. Select a measure that provides the weighting values for the measure being allocated.

Constant

By Measure

Partial and Extra Weeks


Partial Weeks
If your time dimension contains a Week level in a calendar year, the day of the week that the year ends on may not coincide with end of the week. (A lunar week always ends at the end of the week.) For example, the last day of 2000 is a Sunday. By using the Partial Weeks option, you can specify how to shift or split up the last week in the Week or the lowest date level in your time dimension. The following example shows what would happen to a Sunday-to-Saturday week that spans December 2000 and January 2001. Dec. 2000/Jan. 2001
S 31 M 1 T 2 W 3 T 4 F 5 S 6

Setting

Description

Example (Dec. 2000/Jan. 2001)


Period: Dec. 2000
S M T W T F S 31 1 2 3 4 5 6

First Period

Places the week into the period in which it begins.

Step-by-Step Transformer 207

Appendix A: Additional Reference

Setting

Description

Example (Dec. 2000/Jan. 2001)


Period: Jan. 2001
S M T W T F S 31 1 2 3 4 5 6

Last Period

Places the week into the period in which it ends.

Largest Period

Places the week into the month Period Jan. 2001 having the greatest number of days S M T W T F S in that week.

31 1 2 3 4 5 6

Always Split

Creates two distinct partial weeks by splitting the spanning week between the two periods. On the dimension diagram, both weeks are displayed.

Period: Dec. 2000


S M T W T F S 31

Period: Jan. 2001


S M T W T F S 1 2 3 4 5 6

Split > 1 Day

Splits the spanning week between Period: Jan. 2001 the two periods, provided that each S M T W T F S period contains at least two days. 31 1 2 3 4 5 6 Otherwise, places the week into the period to which most of the days belong.

Extra Weeks
When you use lunar time periods, a year contains 52 weeks of 7 days each, yielding 364 days. This is either one or two days less than the calendar year of 365 days or 366 days (for a leap year). Eventually, after a few calendar years, the number of "remainder" days begins to accumulate. Transformer can use these days to create an extra week category, and re-synchronize. This ensures that the lunar year remains within the boundaries of the calendar year, plus or minus the Add an Extra Week setting on the Drill Category property sheet.

Relative Time Settings


Setting
None

Description
Indicates that the special category is not a relative time period. Use to cancel a previously established relative time period without deleting the special category and its existing substructures.

208 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Setting
Current <Period>

Description
The current time period. For example, if the current date is 2000/05/30, then the Current Month is 2000/05.

<Period> To-Date

The period-to-date. For example, if the current date is 2000/05/30, then the Quarter To-Date category is a specially constructed version of 2000 Q2 that contains only the months of April and May (assuming a standard calendar year of four quarters beginning in January). the Year To-Date category is a specially constructed version of 2000 that contains 2000 Q1, and a specially constructed version of Q2 that contains only the months April and May. the Life To-Date category contains all previous years plus the Year To-Date categories.

<Period> To-Date Grouped

A group of relative time periods consisting of a period-todate category and a period-to-date, prior period category. For example, Quarter To-Date Grouped consists of a Quarter To-Date category and a Quarter To-Date, Prior Quarter category. Year To-Date Grouped consists of a Year To-Date category and a Year To-Date, Prior Year category

Last <Period>

The last period at this level. For example, if the current date is 2000/05/30, then the Last Month category is 2000/04. the Last Quarter category is 2000 Q1 (assuming a standard calendar year of four quarters beginning in January). the Last Year category is 1999.

Step-by-Step Transformer 209

Appendix A: Additional Reference

Setting

Description

Same <Period>, Prior <Higher-Level The same period in the most recent higher-level period. Period> For example, the current date is 2000/05/30, which falls in the second month of the second quarter of a standard calendar year. Given these settings, then the Same Month, Prior Quarter category is 2000/02, which is the second month of the first quarter. the Same Month, Prior Year category is 1999/05, which is the fifth month of the previous year. <Period> To-Date, Prior <Period> The periods-to-date in the context of the most recent higherlevel period. For example, the current date is 2000/05/30, which falls in the second month of the second quarter of a standard calendar year. Given these settings, then the Quarter to Date, Prior Quarter category is a specially constructed version of 2000 Q1 that contains only the first and second months (January and February) of that quarter. the Quarter to Date, Prior Year category is a specially constructed version of 1999 Q2 that contains only the first and second months (April and May) of that quarter. Custom A time period of your own choosing. When you select Custom, you can change the Details associated with your relative time categories.

Details
For any Relative Time selection other than Custom, the default detail settings cannot be changed. However, they are useful for showing how a particular relative time category is constructed, or for starting with a pre-defined selection, then changing the settings to create Custom periods such as the following: 2000/03, which is two months before the month in which the current period occurs. Current Period = 2000/05/30 Basic Approach = Single Category Target Period = Month Target Offset = -2 Context Period = <unspecified> Context Offset = 0

210 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference 1999/10, which is two quarters ago, one month before the month in which the current period occurs in the current quarter. Current Period = 2000/05/30 Basic Approach = Single Category Target Period = Month Target Offset = -1 Context Period = Quarter Context Offset = -2 A category that spans all years up to 2000, as well the first quarter of 2000 and the months April and May, 2000. Current Period = 2000/05/30 Basic Approach = Period To-Date Total To-date Period = Life Target Period = Month Target Offset = 0 Context Period = Quarter Context Offset = 0 A category that spans the quarters 1999 Q1, 1999 Q2, 1999 Q3, and the months 1999/10 and 1999/11. This is Year to Date, two quarters ago, up to the same month in that quarter as the current month is in the current quarter (in this case, the second month of the quarter). Current Period = 2000/05/30 Basic Approach = Period To-Date Total To-date Period = Year Target Period = Month Target Offset = 0 Context Period = Quarter Context Offset = -2 A category that spans a five month period ending in July 1999. This is a five-month running total, starting three quarters ago, where the ending month in that quarter is one month before the position of the current month in the current quarter. Current Period = 2000/05/30 Basic Approach = N-Period Running Total Number of Periods = 5 Target Period = Month Target Offset = -1

Step-by-Step Transformer 211

Appendix A: Additional Reference Context Period = Quarter Context Offset = -3

Degree of Detail
The Degree of Detail for a date column does not necessarily reflect the amount of detail in the source data. It defines the level at which Transformer allows reporting to occur. For example, a time column with values for Year, Quarter, and Month can be restricted to only allow quarterly reports. You cannot specify a Degree of Detail that is lower than the lowest level indicated by the Time Input Format on the Time tab (Column property sheet). The setting does not apply to regular columns.

Select
Unspecified

To
Have Transformer set the Degree of Detail for the date column. Transformer bases the frequency on the lowest level as defined by the Time Input Format setting. Set a specific degree of detail for date-time values. Reporting of measures in the time dimension is restricted to the level of detail you select. If the level is not the lowest, the measures for levels below your selection become candidates for allocation.

Any other item in the list

Level Uniqueness
What is Level Uniqueness?
Depending on your PowerPlay edition, portions of this topic may not apply to you. For more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions topic in the Welcome chapter. Level uniqueness in Transformer means that the level contains only one instance of each category source value. In practical terms, this means no two categories in the same level can represent identically-named but distinct categories, as in cities with the same name in two or more states. For example, in a Regions dimension with levels Country, State, and City, there might be cities named Burlington in both Massachusetts and Vermont. Burlington is ambiguous without the context of its ancestor levels, hence the level City is not unique. a "unique" real-world entity that occurs in different contexts, as in a single customer that transacts business in several different cities. For example, in a Customers dimension with levels Country, State, City, and Customer, a customer named Acme Metals might transact business in Chicago, Philadelphia, and Orlando. In this case, the Acme Metals category will exist under each of these cities. It is ambiguous without the context of its ancestor levels. Hence, the level Customer is not unique.

212 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

When is Uniqueness Required in a Level?


1. Categories in a level must be unique when the level is a convergence level for alternate drilldown paths. 2. Categories in a level must be unique when a model uses multiple data sources, where some sources contain details about the structure of the dimensions, and other sources supply measure values but lack details about dimension structure. 3. Categories in your time dimension must be unique if you are implementing currency conversion.

Why is Uniqueness Required in a Level?


1. In order to generate accurate categories for PowerPlay, Transformer must be able to identify each category in the level by its source value alone, without reference to its ancestor category. If a convergence level contains multiple occurrences of the same category value, Transformer cannot unequivocally determine which drill-down path to take when generating categories. For example, if Burlington appears in the City level, is it in the state of Vermont or Massachusetts? To make the distinction, you must associate the city with its state. For example, concatenate Burlington+Massachusetts and Burlington+Vermont (by using a calculated column) to create unique categories, with different source values. If you indicate that all categories in your convergence level are unique when, in fact, they are not, invalid results occur when Transformer attempts to associate values with these categories. Transformer places any ambiguous or non-unique source values into the first associated category it finds. 2. It is common practice to have some data sources that contain transactional data, and other data sources that contain only structural data. In star-schema relational databases, these are referred to as fact tables and dimension tables respectively, and are used to significantly reduce the amount of data imported into Transformer. If you create a dimension that uses columns from multiple data sources, Transformer must be able to relate categories from structural sources to categories from transactional sources. For example, if a Regions dimension contains the levels Country, State, and City, data for Country and State may come from a structural data source, while another (transactional) data source supplies measure values at the City level. You can view this relationship by using the Show Scope command. When generating categories, Transformer must be able to identify each category at the City level by its source value alone, without reference to the State category. When you indicate that the City level is unique, Transformer treats all categories at that level as though they had a single source.

Date Functions
This setting
None

Creates categories
That use the value in the Source column as is.

Step-by-Step Transformer 213

Appendix A: Additional Reference

This setting
Calendar Year Lunar Year Calendar Quarter

Creates categories
Based on the standard calendar in the format YYYY or YY. Based on a lunar year, which contains exactly 52 weeks. Based on the standard calendar in the form YYYY Q, or YY Q, where Q is the Quarter number (1, 2, 3, or 4). Based on lunar quarters, which contain exactly 13 weeks. Based on the standard calendar, in the format YYYY/MMM or YY/MMM. Based on a lunar month, which contains exactly 4 weeks. Based on repeating 3-month patterns containing 4 weeks, 4 weeks, and 5 weeks. Based on repeating 3-month patterns containing 4 weeks, 5 weeks, and 4 weeks. Based on repeating 3-month patterns containing 5 weeks, 4 weeks, and 4 weeks. Based on weeks, in the format YYYY/MMM/DD or YY/MMM/DD. When weeks appear in a time dimension, you must specify the way in which weeks split over month boundaries, and the day that marks the start of the week. You can set these properties in the Time tab (Drill Category property sheet).

Lunar Quarter Calendar Month

Lunar Month 4-4-5 Week Months

4-5-4 Week Months

5-4-4 Week Month

Week

Day

In the form YYYY/MMM/DD or YY/MMM/DD.

Note: Because lunar years are 1 or 2 days shorter than calendar years, lunar periods (Lunar Year, Lunar Quarter, Lunar Month, 4-4-5 Week Month, 4-5-4 Week Month, and 5-4-4 Week Month) leave unassigned days that, over several years, comprise entire weeks. To manage the unassigned days, you can set an "Add an Extra Week" rule on the Drill Category property sheet for the drilldown path.

214 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

PowerCube Optimization Methods


Setting
Categories

Description
Minimizes the number of categories in a cube. Transformer adds only categories that are referenced in the source data or specifically designated to be included. Categories optimization requires an extra data pass for each cube to find the categories required for that cube. Optimizes the number of passes through the temporary working files during the creation of a cube. Transformer assumes that all categories will be required in the resulting cube, and does not pass through the source data to determine which categories are required. Although included, unreferenced categories will not be visible in PowerPlay. Adds all categories in the model to the cube before the data sources are processed. Records that don't generate new categories are then directly updated to the cube. This optimization method is best used with models which are expected to generate few new categories, and where all categories are expected to be added to the cube. Note: This setting is not available for individual cubes in a cube group.

Data Passes

Direct Create

Auto-Partition

Enables the Auto-Partition tab, where you can set the parameters for Transformer to devise a partitioning scheme. Note: This is the default optimization setting.

Rollup Functions
The rollup functions specify how measure values are evaluated in PowerPlay. There are three rollup types: Regular Rollup is how PowerPlay or Transformer rolls up measure values from lower levels to higher category levels. Transformer applies the rollup function when creating a cube; PowerPlay applies them at runtime. Time State Rollup is how Transformer represents the state of a measure at specific times. For example, if a model tracks the number of active customers at the end of each quarter, you can set up a time state measure to report the number of customers active at a specific time. This is more useful than the quarterly sum of the number of customers serviced during each month in a quarter.

Step-by-Step Transformer 215

Appendix A: Additional Reference Duplicates Rollup is how Transformer evaluates duplicate records in the source data.

Note: When consolidation is enabled, Transformer performs the duplicates rollup first and then regular rollup. To enable consolidation, use the Consolidate box on the General tab (PowerCube property sheet).

Regular Rollup Selection


Sum

Results in PowerPlay
Shows the sum of the values of all descendant categories of the current category. Shows the minimum data value among all descendant categories of the current category. Shows the maximum data value among all descendant categories of the current category. Shows the average of the values of all records of descendant categories of the current category. Shows the number of records that contain non-null values in all descendant categories of the current category. Shows the number of records (including those containing null values for this measure) for all descendant categories of the current category. Shows the value 1, if any records for a descendant category contain values. Shows the value 0, if no records exist for this measure or all records that do exist have null values for this measure.

Minimum

Maximum

Average

Count

Count All

Any

External

Shows source values that have been directly assigned to specific data records.

Time State Rollup Selection


None (Regular Rollup)

Results in PowerPlay
Shows rollups not associated with a time state measure. Use when the measure is not a time state measure. Shows the smallest measure value from all categories in the time period being examined.

Minimum

216 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Selection
Maximum

Results in PowerPlay
Shows the largest measure value from all categories in the time period being examined. Shows the measure value from the first subordinate period in the time period being examined. For example, if a time dimension contains Years, Quarters, and Months, and you are examining data at the Quarter level, PowerPlay shows (for each quarter) the measure value from the first month of each quarter. When you examine data at the Year level, PowerPlay shows the first value from the first month in the first quarter of each year.

First Period

Last Period

Shows the measure value from the last subordinate period in the time period being examined. For example, if a time dimension contains Years, Quarters, and Months, and you are examining data at the Quarter level, PowerPlay shows (for each quarter) the measure value from the last month of each quarter. When you examine data at the Year level, PowerPlay shows the value from the last month in the last quarter of each year.

Current Period

Shows the measure value from the category that is designated the "current period" in the time dimension. If the time period being examined does not include the current period, the result is identical to Last Period. For example, a time dimension contains Years, Quarters, and Months, where Quarter 1 starts in January. The current period is set to April 2000. At the Year level, PowerPlay shows the measure value for April 2000. At the Quarter level, PowerPlay shows the measure value for April in Quarter 2 (because April is the current period), but shows the value of the last active month in every other quarter (that is, March for Quarter 1; September for Quarter 3; December for Quarter 4.

Average

Shows the average of the measure values from all categories in the time period being examined.

Step-by-Step Transformer 217

Appendix A: Additional Reference

Duplicates Rollup Selection


None (Regular Rollup)

Transformer Action
Uses the Regular Rollup function specified for the measure. See the note below. Sums the measure values found in the duplicate records, except for external rollups (overridden). Takes the smallest of all values for the measure found in the duplicate records. Takes the largest of all values for the measure found in the duplicate records. Takes the average of all values for the measure found in the duplicate records. Note: If Regular Rollup is set to Average, duplicates rollup is performed before regular rollup.

Sum

Minimum

Maximum

Average

First

Takes the first value of all values for the measure found in the duplicate records, by using the order of the records in the data source. Takes the last value of all values for the measure found in the duplicate records, by using the order of the records in the data source.

Last

Note: A Duplicates Rollup setting other than None forces Transformer to consolidate the source file when generating cubes, as described in the following table.

Consolidation Setting
Default or Yes (With Sort)

Transformer Action
Sorts the source file, then consolidates duplicate records by using the Duplicates Rollup setting. Overrides the Consolidation setting, sorts the source file, then consolidates duplicate records by using the Duplicates Rollup setting. Consolidates the source data by using the Duplicates Rollup setting without first sorting the source file.

No

Yes (Presort)

218 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Expression Editor
The Calculation dialog box contains a common expression editor that is shared with other components of the IBM Cognos platform. You select elements one by one from the set of available expressions in the left pane of the dialog, and build your expression in the right pane. As you enter each element, the syntax is evaluated against standard mathematical rules. The available elements vary according to the type of calculation and the position in the expression, and each is explained in a ToolTip window in the Calculation dialog box. Note that you can only use components that appear in the Available Components pane of the Expression Editor. For more information on the functions, operators, constants, and components provided by the common expression editor, see the Expression Editor online help.

Search Wildcards
You can use the following wildcard characters in the Find in Category dialog box when the Use Wildcards check box is selected:

Character
^

Finds
The beginning of a string.

Example
"^inter" finds "interesting" and "interfere", but not "splinters". "$in" finds "in" and "within", but not "interfere". "to?" finds "top" and "ton", but not "to". "files~" finds "file" and "files", but not "filed".

The end of a string.

Any single character (except newline). Zero or one occurrence of the preceding character (or subexpression).

Zero or more occurrences of any "can*" finds "can" and characters (except newline). "Canada". Zero or more occurrences of the "filex#" finds "file" and preceding character (or sub"filexxx". expression). One or more occurrences of the "filex@" finds "filex" and preceding character (or sub"filexxx", but not "file". expression).

Step-by-Step Transformer 219

Appendix A: Additional Reference

Character
|

Finds

Example

Either the preceding character "localis|ze" finds either "local(or sub-expression) or the follow- ise" or "localize". ing one. Any character within the brackets. Ranges of characters can be specified by using a hyphen (a hyphen at the start matches itself). An exclamation point at the beginning causes the set of characters to be inverted; e.g. [!a-m] matches everything except a through m. "p[iu]ck" finds "pick" and "puck". "[a-d]ay" finds "bay" and "day", but not "gay". "m[!u]st" finds "mist", but not "must". "m[!a-o]st" finds "must" but not "most". "Apr[-/]98" finds "Apr-98" or "Apr/98"

[]

()

Sub-expressions, so that repeti- "ab(cd)#e" finds "ab" followed tion and alternative wildcard by zero or more "cd" combinacharacters can be applied more tions followed by "e". generally. The next character literally. Allows wildcard characters to treated as normal characters. "what\?" finds "what?".

Note: The following characters are reserved and should not be used: "<", ">", "{m,n}", and "\:x". To find "<" or ">" literally, use "\<" or "\>".

Category Actions in Diagrams


Exclude
Omit specific categories and their descendants from all cubes created from the model. Omit specific categories and their descendants from cubes created by using dimension or user class views.

Cloak

Suppress

Apex

Summarize

220 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Exclude
Prevent specific categories from being accessed by the user class (and its descendant user classes). Eliminate ancestor categories from cubes created by using the dimension or user class views. Prevent ancestor categories from being accessed by the user class (and its descendant user classes). Show rollup values for descendants of a category without showing the descendants themselves. Enable members of a user class (and its descendant user classes) to see rollup values for descendants of a category without seeing the descendants themselves.

Cloak

Suppress

Apex

Summarize

Exclude
Eliminates categories and their descendants. Transformer shows categories and hides their descendants. Users can drill down only to the parent of the excluded category. You can apply exclude in a user class view. at the dimension level of the category viewer, in a dimension view, and

Exercise caution when excluding categories from a dimension that contains alternate drill-down paths. If you exclude categories from one path, the data is excluded from all drill-down paths. See "Dimension Views in Alternate Drill-Down Paths " (p. 232).

Step-by-Step Transformer 221

Appendix A: Additional Reference

Cloak
Eliminates categories and their descendants, but rolls up their values for representation in the parent category. Transformer shows categories and hides their descendants. Users can drill down only to the parent of the cloaked category. You can apply cloak in a dimension view and a user class view. You can remove an alternate drill-down path from a cube by cloaking the associated drill category. You cannot cloak special categories or categories in a convergence level of an alternate drill-down path.

Suppress
Eliminates categories, maintaining links from the parent to the child categories. Transformer shows categories. Users bypass the suppressed category when they drill down. You can apply suppress at the dimension level of the category viewer, and in a dimension view (but not in a user class view). You cannot suppress root categories. In dimensions with alternate drill-down paths, Transformer suppresses the drill category in the primary drill-down path by default. You can reverse this suppression if you wish.

Apex
Makes it the highest-level category. Transformer suppresses all ancestor categories and hides all siblings (and the ancestors of all siblings) of the apex category. Users see only the apex category and its descendants. You can apply apex in a dimension view and a user class view. You cannot apex special categories. In an apexed dimension, any special categories that refer to regular visible categories become children of the apexed category. You can reverse apexing by reapexing the root category. Note: You cannot apex on a union with an alternate drill path.

Summarize
Eliminates descendants, but rolls up their values for representation in the selected category. Transformer shows categories. Users can drill down only to the summarized category. They cannot see any of the category's descendants. You can apply summarize in a dimension view and a user class view.

You cannot summarize special categories.

Union of User Class Views


In PowerPlay, if a user is a member of more than one user class, that user can open a cube as a member of a single user class, or as a member of the combined user classes, using the <All User Classes> option.

222 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference When opening a cube using the <All User Classes> option, PowerPlay shows the categories that represent the combined access rights of all the user classes that the user is a member of. Anything that users can see due to membership in any individual user class is visible to the union of user classes. The advantage of this is that the user doesn't have to open the cube multiple times, as a member of each user class, in order to gain access to all authorized data. However, in certain situations, it may appear that PowerPlay is restricting users to less than what they can see under their individual user classes. The apparent discrepancy is resolved if the user understands how particular user class views are defined in the model. The type of view, such as exclude, apex, or omit, affects the behavior, as does the application of that view, whether to a single dimension or across multiple dimensions. When you apply user class views to a dimension of a cube, you can limit access to specific categories in the following ways: by Excluding categories to eliminate the categories and their descendants from view by Cloaking categories to eliminate the categories and their descendants from view, while retaining the rollup values in the ancestors by Summarizing categories to eliminate only the descendants from view, while retaining the rollup values by Apexing a category to make it the highest-level category of the dimension, thereby eliminating ancestors and siblings by Omitting an entire dimension so that its categories, data, and rollup values do not appear

Cubes that are created using user class views contain all the data defined in the model. However, the categories that a particular user is able to see are determined at runtime by the PowerPlay engine.

Notes
You cannot apex on a union with an alternate drill path. The following examples depict the union of two user classes in the Great Outdoors Company, across the Products or Locations dimension. The effect of the union of more than two user classes is cumulative. Evaluate the union of the first two user classes, then apply the next user class to the result, and so on. The order of application doesn't matter; any order produces the same result.

Scenario Involving Exclude


This scenario involves the following user classes and applied views: UC1 - Exclude Environmental Line UC2 - Exclude Outdoor Products UC3 - Exclude Asia Pacific UC4 - Exclude Asia Pacific and Exclude Outdoor Products

Individually, UC1 cannot see Environmental Line but sees the following.

Step-by-Step Transformer 223

Appendix A: Additional Reference

UC1

Asia Pacific

Europe
337,514 93,264 430,778

North America
419,077 136,672 555,749

Locations
880,453 302,216 1,182,669

Outdoor Products 123,862 GO Sport Line Products 72,280 196,142

Individually, UC2 cannot see Outdoor Products but sees the following.

UC2
Environmental Line GO Sport Line Products

Asia Pacific
184,911

Europe
382,772

North America
514,911

Locations
1,082,594

72,280 257,191

93,264 476,036

136,672 651,583

302,216 1,384,810

Individually, UC3 cannot see Asia Pacific but sees the following.

UC3
Outdoor Products Environmental Line GO Sport Line Products

Europe
337,514 382,772 93,264 813,550

North America
419,077 514,911 136,672 1,070,660

Locations
756,591 897,683 229,936 1,884,210

Individually, UC4 cannot see Asia Pacific or Outdoor Products, but sees the following.

UC4
Environmental Line GO Sport Line Products

Europe
382,772 93,264 476,036

North America
514,911 136,672 651,583

Locations
897,683 229,936 1,127,619

If multiple restrictions are applied to a dimension, the following occurs: UC1+UC2: members of both, logged on as <All User Classes>, see all the data because it is visible in one or more individual cases.

224 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

UC1+UC2

Asia Pacific

Europe
337,514 382,772

North America
419,077 514,911

Locations
880,453 1,082,594

Outdoor Products 123,862 Environmental Line GO Sport Line Products 184,911

72,280 381,053

93,264 813,550

136,672 1,070,660

302,216 2,265,263

UC2+UC3: members of both, logged on as <All User Classes>, cannot see data for Outdoor Products in the Asia Pacific, because it is not available to either individual user class.

UC2+UC3

Asia Pacific

Europe
337,514 382,772

North America
419,077 514,911

Locations
756,591 1,082,594

Outdoor Products 0 Environmental Line GO Sport Line Products 184,911

72,280 257,191

93,264 813,550

136,672 1,070,660

302,216 2,141,401

UC1+UC4: members of both, logged on as <All User Classes>, cannot see data for Environmental Line in the Asia Pacific, because it is not available to either individual user class.

UC1+UC4

Asia Pacific

Europe
337,514 382,772

North America
419,077 514,911

Locations
880,453 897,683

Outdoor Products 123,862 Environmental Line GO Sport Line Products 0

72,280 196,142

93,264 813,550

136,672 1,070,660

302,216 2,080,352

Scenario Involving Apex


This scenario involves the following user classes and applied views: UC5 - Apex Environmental Line UC6 - Apex Outdoor Products

Step-by-Step Transformer 225

Appendix A: Additional Reference UC7 - Apex Asia Pacific UC8 - Apex Asia Pacific and Apex Environmental Line

Individually, UC5 only sees Environmental Line. In the Dimension viewer, no other products are visible and Environmental Line appears as if it were the root of the Products dimension.

UC5
Alert Devices

Asia Pacific
16,261

Europe
40,954 95,327 19,361 91,720 135,410 382,772

North America
61,778 123,442 28,020 95,617 206,054 514,911

Locations
118,993 259,542 56,968 228,784 418,307 1,082,594

Bio-Friendly Soaps 40,773 Recycled Products 9,587 Sunblock Water Purifiers Environmental Line 41,447 76,843 184,911

Individually, UC6 sees only Outdoor Products, whereas UC7 sees only Asia Pacific.

UC7

Outdoor Products
54,685 16,628 29,216 23,333 123,862

Environmental Line
99,222 20,887 27,037 37,765 184,911

GO Sport Line

Products

Australia Hong Kong Japan Singapore Asia Pacific

19,120 24,904 14,352 13,904 72,280

173,027 62,419 70,605 75,002 381,053

If multiple restrictions are applied to a dimension, the following occurs: UC5+UC6: members of both, logged on as <All User Classes>, see both Outdoor Products and Environmental Line, because each have access to this data within one or more individual user classes.

UC5+UC6

Asia Pacific

Europe
337,514

North America
419,077

Locations
880,453

Outdoor Products 123,862

226 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

UC5+UC6
Environmental Line Products

Asia Pacific
184,911

Europe
382,772

North America
514,911

Locations
1,082,594

308,773

720,286

933,988

1,963,047

UC5+UC7: members of both, logged on as <All User Classes>, cannot see Outdoor Products in Europe or North America, nor GO Sport Line in Europe or North America, because this data is not accessible by either of these individual user classes.

UC5+UC7

Outdoor Products
123,862 denied denied 123,862

Environmental Line
184,911 382,772 514,911 1,082,594

GO Sport Line

Products

Asia Pacific Europe North America Locations

72,280 denied denied 72,280

381,053 514,911 514,911 1,278,736

UC6+UC8: members of both, logged on as <All User Classes>, cannot see GO Sport Line, nor Environmental Line in Europe or North America, because this data is not accessible by either of these individual user classes.

UC6+UC8
Asia Pacific Europe North America Locations

Environmental Line
184,911 denied denied 184,911

Outdoor Products
123,862 337,514 419,077 880,453

Products
308,773 337,514 419,077 1,065,364

Scenario Involving Omit


This scenario involves the following user classes and applied views: UC9 - Omit Products UC10 - Omit Locations

Individually, UC9 does not know that the Products dimension exists, because it does not appear in the Dimension viewer. The user sees the Locations dimension and summary values across it.

Step-by-Step Transformer 227

Appendix A: Additional Reference

UC9
Asia Pacific Europe North America Locations

2004
190,445 364,834 431,689 986,968

2005
190,6082 448,716 638,971 1,278,295

Years
381,053 813,550 1,070,660 2,265,263

Individually, UC10 does not know that the Locations dimension exists, because it does not appear in the Dimension viewer. The user sees the Products dimension and summary values across it.

UC10

Outdoor Products
451,162 429,291 880,453

Environmental Line
397,830 684,764 1,082,594

GO Sport Line

Products

2004 2005 Years

137,976 164,240 302,216

986,968 1,278,295 2,265,263

In the union of user classes, UC9+UC10 log on as <All User Classes>. They do not see data for any combination of Product and Locations. For example, neither can see how much revenue Outdoor Products generated in the Asia Pacific. However, UC9 can see that the Asia Pacific generated revenue of 381,053 in all years. UC10 can see that Outdoor Products generated revenue of 880,453. The summaries are visible for the union of these user classes, as follows.

UC9+UC10

Outdoor Products
denied denied denied 880,453

Environmental Line
denied denied denied 1,082,594

GO Sport Line

Products

Asia Pacific Europe North America Locations

denied denied denied 302,216

381,053 813,550 1,070,660 2,265,263

Scenarios Involving Parent-Child Relationships


Further complexities arise with the union of user classes when parent, child, and sibling combinations are involved, as discussed below.

228 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Parent-Child Category Relationships


The following table shows what an "all user classes" user sees in a dimension where various actions are applied to categories in a parent-child hierarchy. This user belongs to two user classes. In one arbitrary user class, actions are applied to the parent category. In the other user, actions are applied to the child category. If it is not specified in the table, child values are rolled-up.

Parent Category
Child Category Exclude The child is hidden. The parent rollup values don't include that of this child. The child is hid- The child is hid- No restrictions. den. The parent den. rollup values don't include that of this child. The child is hid- No restrictions. den. Exclude Cloak Summarize Apex

Cloak

The child is hidden. The child is hidden.

Summarize

The child is visible The child is visible The child is vis- No restrictions. but its children are but its children are ible but its chilhidden. hidden. dren are hidden. The parent is hidden. The child is moved to be a child of the nearest common ancestor. The common ancestor rollup values don't include those of the siblings of the child. The parent is hid- The child is vis- The apex category den. The child is ible but its sib- is the nearest commoved to be a lings are hidden. mon ancestor. (See "Union of Apexes" child of the below.) nearest common ancestor.

Apex

Exclude
If a child category is excluded in one user class and its parent is hidden, that is, excluded or cloaked, in another user class, the resulting view does not roll up the excluded child values into the parent, as would normally be the case for a cloaked parent. This prevents unauthorized users from computing the value of the excluded child by subtracting the sum of the parent's other visible children from the parent's value. Note that due to this exception of suppressing the rollup, it is possible that the value of a rolled up parent category may differ depending on the user class. If a parent category is summarized in one user class and its child's children categories are excluded in another user class, then the child's children's data is excluded in the union of user classes.

Step-by-Step Transformer 229

Appendix A: Additional Reference

Union of Apexes
When user classes are apexed on different categories, the union of the user classes apex becomes the nearest ancestor common to all the user classes. For example, consider the following dimension hierarchy: Locations World North America Canada Pacific Region Central Region Eastern Region Atlantic Region Northern Region USA Mexico Europe Asia One user class is apexed on USA, and another user class is apexed on Eastern Region. The nearest common ancestor is North America, which becomes the visible root category of the Locations dimension. In addition, this new apex now has only two visible children, which are the apexes of the individual user classes: USA and Eastern Region. Therefore, values from outside the new hierarchy, such as Mexico, are not rolled up into the calculation for North America.

Scenarios Involving Multidimensional Relationships


When restrictions apply to different dimensions, there is a smaller chance of having any restrictions at all for cubes accessed using the <All User Classes> option. This is because as the number of user classes increase, it is more likely that union of the user classes is allowed to see all the categories. However, in cases were restrictions intersect, some data may be hidden. For example, consider the Locations dimension above and the following Date dimension: Date Year Quarter Fiscal Quarter (alternate drill down) Month One user class applies an exclude action to North America, and another user class applied an exclude action to Fiscal Quarter. The union of user classes is not able to see a data value for the cell intersecting North America with Fiscal Quarter (plus any other intersecting category), since neither individual user can see that value.

230 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference If you applied an apex on North America for one user class and applied an apex on Fiscal Quarter 1 for another user class, then the resulting union of user classes is able to see data from all fiscal quarters for North America and data for all continents in Fiscal Quarter 1.

Alternate Drill-Down Paths in Time Dimensions


When you create alternate drill-down paths in a time dimension, you must define the drill-down paths so that Transformer can connect them appropriately at the convergence level. In particular, the categories that descend from the convergence level must be identical. If you construct a time dimension that contains multiple drill-down paths and you try to connect it at a level in which descendant time periods do not exactly coincide, Transformer will be unable to connect the paths correctly. Several factors affect the way in which Transformer creates categories in levels containing dates, and therefore potentially limit the ability to connect alternate drill-down paths in a time dimension. The factors are: whether the drill-down paths differ in type (calendar or lunar time) how the Year Begins property is set for each drill-down path how the properties that affect weeks are defined in each drill-down path, such as the Week Begins property, the Add an Extra Week property (lunar time dimensions only), and the Partial Weeks property (calendar time dimensions only)

You must observe the following rules when constructing alternate drill-down paths in the time dimension: You can create a time dimension with drill-down paths for both calendar and lunar time periods only if the paths converge at the Day level. The Year level cannot be a convergence level for alternate drill-down paths. In all alternate drill-down paths, the Year Begins property must be set so that the convergence level categories (Months, for example) coincide in each drill-down path. For example, to connect alternate drill-down paths at the Quarter level, the Year Begins property in each alternate drilldown path must be offset by exactly 'n' Quarters, where n is 1, 2, or 3 (the offset is less than a full year). Similarly, to connect at the Month level, the Year Begins property in each alternate drill-down path must be offset by an integer greater than or equal to one month and less than or equal to 12 months. You can visualize the concept by lining up the categories at the convergence level as in the following diagram.

The calendar year begins on January 1, 2000. The fiscal year begins on April 1, 2000, which is one offset, one quarter from the start of the calendar year. The offset allows Quarter to be the convergence level. When the Year Begins date is offset by integral units of the convergence level, Transformer can construct descendant categories of the convergence level correctly.

Step-by-Step Transformer 231

Appendix A: Additional Reference For both lunar and calendar time dimensions, the rules governing weeks must coincide in all drill-down paths. In calendar drill-down paths, the Partial Weeks property must be identical in each drill-down path. Similarly, in lunar time dimensions, the Add an Extra Week property must be identical in each drill-down path.

Note: When you create lunar and calendar alternate drill-down paths, Transformer adopts the labeling of the primary drill-down path for both time dimensions, and displays a warning message that the labeling of the alternate drill-down path will conform to that of the primary drill-down path.

Dimension Views in Alternate Drill-Down Paths


Depending on your PowerPlay edition, portions of this topic may not apply to you. More more information about the features of Transformer in the various PowerPlay editions, see the Features and Editions topic in the Welcome chapter. Because alternate drill-down paths share category values at and below the convergence level, you must be careful when you create dimension views in one of the paths of a dimension that contains alternate drill-down paths. Any diagram command (Apex, Exclude, Cloak, Suppress, or Summarize) that you apply to categories in one path will affect all other paths in the drill-down structure. Listed below are the effects of performing diagram operations when you create dimension views in a dimension that contains alternate drill-down paths:

Apex Operation
Eliminates other paths completely, if the apex category is either a drill category or below one of the drill categories in the dimension. You can only reverse the effect of an Apex action by performing another Apex action on the root category or drill category.

Exclude Operation
Excludes data from all other drill-down paths.

Cloak Operation
Removes categories from other drill-down paths, but allows their values to roll up to higher levels in those paths.

Suppress Operation
For categories at and below the convergence level only, suppresses the shared category in all other drill-down paths.

Summarize Operation
Removes child categories from other drill-down paths, but adds (or rolls up) their values to the higher levels in those paths. Note: You cannot apex on a union with an alternate drill path.

232 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference

Example
In a Channels dimension, there are two alternate drill-down paths: By Customer Type and By Region. If you create a dimension view that summarizes several Customer Types in order to focus on Mass Marketers, Transformer eliminates the same categories in the By Region drill-down path.

When drilling down By Region in PowerPlay, the only Customer No categories available are those that are Mass Marketers.

Current Period
Transformer uses the current period setting to determine which date categories make up the relative time categories in the time dimension. For example, if a time dimension contains a relative time category called Last Month, and the current period is set to April 1999, Transformer takes Last Month to be March 1999. If the current period for the dimension changes, Transformer automatically updates the Last Month category. Each time dimension can have its own current period, although all current periods will likely be the same. The current period for a time dimension is shown on the Time tab of the Dimension property sheet.

Process
You can set the current time period in four ways: automatically, based on the most recent date in the data source that updates the current period manually, by using the dimension diagram for the time dimension to choose a specific time period as the current period on the command-line, by using the -t option in MDL, by executing the appropriate MDL script

Step-by-Step Transformer 233

Appendix A: Additional Reference

How Data Sources Relate to the Dimension Map


In models created by using multiple data sources, each source is processed separately against the model. Transformer doesn't perform database joins between data sources. Instead, Transformer associates source columns directly with levels in the dimension map. If a level is unique, then Transformer can match values from input records directly to the lowest levels in the dimension hierarchy, without processing the entire dimension. If a level is not specified as unique, Transformer must associate categories with the appropriate source values based on their relationship with other columns in the same data source. If a data source that contains the column for a level also contains all columns required for the ancestor levels, you do not have to specify uniqueness. In this case, Transformer can identify the categories in the level from the context afforded by the other columns in the data source. However, when the columns for the ancestor levels come from different data sources, the values for categories in that level must be specified as unique. Uniqueness ensures that Transformer can distinguish all the categories in a level, without knowing their context. For Transformer to relate columns from different data sources to the same level in a dimension, the column names must be identical in all data sources.

Example of a Non-Unique Level Declared Unique


The following example illustrates how non-unique levels that you have declared unique on the Level property sheet can cause problems in the model structure. The problems arise when the same category value appears under two distinct parents, but the categories represent different entities. In a Location dimension that contains the levels Country, State, and City, a source value based on the city name does not necessarily ensure uniqueness. There might be more than one city with the name Burlington (for example, one in each of the states Illinois, Massachusetts, and Vermont). Additional context is required to determine which instance of Burlington is being referenced. If a data record has all the fields required to identify the city (COUNTRY=USA, STATE=Illinois, and CITY=Burlington), there is no ambiguity as to which Burlington is being referenced. Transformer finds the right one by starting at the root category, finding USA, finding Illinois, and then finding the one Burlington in that state.

Data source structure

Sample source data


COUNTRY,STATE,CITY USA,Illinois,Burlington USA,Massachussetts,Burlington USA,Vermont,Burlington

234 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference However, if the data sources are set up so that values for the Country, State, and City levels come from one data source while values for City, Outlet, and Sale Amount come from another data source, the values for City must be unique. For example, assume that the values from the above data source are derived from separate data sources as follows.

Data source structure

Sample source data


COUNTRY,STATE,CITY USA,Illinois,Burlington USA,Massachusetts,Burlington USA,Vermont,Burlington CITY,OUTLET,SALE_AMT Burlington,Store01,10000 Burlington,Store02,23000 Burlington,Store05,25000

If the City level is declared unique, Transformer only creates a single "Burlington" category, and associates measure values for each "Burlington" record found with that "Burlington" category, but this leads to invalid results. To avoid this problem in Transformer, you can use a calculated column to concatenate City with State. Alternatively, you can change the source values for non-unique cities in the two data sources by using qualifiers to make them unique:

Data source structure

Sample source data


COUNTRY,STATE,CITY USA,Illinois,Burlington (IL) USA,Massachusetts,Burlington (MA) USA,Vermont,Burlington (VT)

Step-by-Step Transformer 235

Appendix A: Additional Reference


CITY,OUTLET,SALE_AMT Burlington (IL),Store01,10000 Burlington (MA),Store02,23000 Burlington (VT),Store05,25000

Example of a Non-Unique Category


The level uniqueness property does not necessarily mean that the real-world entities referenced in the model are unique. In this example, a Customers dimension consists of the levels Country, State, City, and Customer. The Customer level includes categories for individual customers in the cities in the dimension:

Even though source data records may contain values for what is logically viewed as a single customer (Acme Metals, for example), the level Customers cannot necessarily be considered unique. If that customer (Acme Metals) transacts business in Chicago, Los Angeles, and Toronto, then there will be three categories named Acme Metals in the Customer level but in different cities. This makes the Customers level non-unique. In order to uniquely identify each instance of Acme Metals, you must create a calculated column that concatenates customer and city (in Transformer) or add qualifiers to the non-unique customers (in your source data).

Tips
To improve processing efficiency in models that use multiple data sources, ensure that all categories are uniquely defined in the source. Do not expect Transformer to relate values in one data source with values in another by making joins between the columns. To accurately associate measure values from two different data sources, base your model on a source column that generates categories for at least one level in the model.

Uniqueness Issues When Drilling Cube to Cube


Background
In Transformer, model dimension names and category codes must be unique. (For information about uniqueness, see "Level Uniqueness" (p. 212).) Ordinarily, category codes default to the name by which a category is referenced in the data source (the name by which the real world entity is known in the database). This name must be unique in the context of its ancestor so that a data record can be connected unambiguously to the category. If there is more than one category in the same level or in different levels of the same dimension, Transformer makes the category code unique by appending a tilde (~) and a number to the non-

236 IBM Cognos Series 7 PowerPlay Transformer

Appendix A: Additional Reference unique source value. When you drill cube to cube, the context is carried from the original cube to the destination cube by matching category codes in the corresponding dimensions. Where category codes have unique source values, or the cubes are created from the same model, there is no problem in matching categories. However, where cubes are created from different models, and categories have codes made unique by appended numbers, categories that are actually the same will not be matched because their appended numbers differ. In other cases, the wrong categories may be matched. When implementing cube-to-cube drill-through in cubes built from different models, especially involving cubes created in third-party OLAP sources such as Essbase, ensure that category codes in every dimension of every cube are unique and predictable. If your source values do not provide unique category codes, create them by using calculated columns and specify uniqueness in the Category Code Column of the Level property sheet.

Level Properties
Multiple source values are associated with a level. Using Level Properties you can set the source values of the levels in your model.

Source
Identifies the data source for the level. Levels in Transformer can be populated by multiple data sources to improve performance in models with high data volumes.

Label
Identifies the name of the data source.

Description
Provides information in the PowerPlay Explain window.

Short name
Identifies an abbreviation of a long name for a dimension or category.

Category code
Identifies a category within a dimension.

Drill Through
Identifies the drill-through path for the level.

Step-by-Step Transformer 237

Appendix A: Additional Reference

238 IBM Cognos Series 7 PowerPlay Transformer

Appendix B: Functions
HIDD_COLUMNGENERAL The Calculation dialog box contains a common expression editor that is shared with other components in the IBM Cognos Business Intelligence product suite. You select elements one by one from the set of available expressions in the left pane of the dialog, and build your expression in the right pane. As you enter each element, the syntax is evaluated against standard mathematical rules. The available elements vary according to the type of calculation and the position in the expression, and each is explained in a ToolTip window in the Calculation dialog box. You can only use components that appear in the Available Components list. However, you may be able to access additional Expression Editor functions, such as characters-to-integer or dateDayDiff, by creating the calculations in another supported data source product, and then importing them into Transformer. For more information on the functions, operators, constants, and components provided by the common expression editor, see the Expression Editor online help.

change(cat_code, cat_code|set |level)


Returns the difference over a linear series of categories by calculating the change between each pair of categories. The order of pairs is based on the object ID of each category. Note: This function is used for automatically generated relative time categories, such as year-todate (YTD Change). It appears in the list of Available Components when you use the Expression Editor to create a calculated category. It is the same as the variance Summary Function in the Expression Editor help.

Example
A dimension contains a level with Quarters Q1 to Q4. To create change categories for Q1-Q2, Q2Q3, and Q3-Q4, use the function
change("Quarter")

Tip: To use ToolTip on the pop-up diagram to show the labels and object IDs of categories, select the Object Identifier check box in the Preferences dialog box (Titles tab).

percent-growth(cat_code, cat_code|set |level)


Returns the growth over a linear series of categories by calculating the percentage change between each pair of categories. The order of pairs is based on the object ID of each category. Note: This function appears in the list of Available Components when you use the Expression Editor to create a calculated category.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

239

Appendix B: Functions

Example
A dimension contains a level with Quarters Q1 to Q4. To create growth categories for Q1-Q2, Q2Q3, and Q3-Q4, use the function
growth(Quarter)

Tip: To use ToolTip on the pop-up diagram to show the labels and object IDs of categories, select the Object Identifier check box in the Preferences dialog box (Titles tab).

share(cat_code, cat_code|set |cat_code, set|set|level)


Returns the values of categories as a percent share of other target categories.

Example
A dimension contains the category Color with several descendant categories, such as Black and Chrome, which you define as a set. To create two share categories, representing each of Black and Chrome, as a percentage share of the parent, use the function
share(set, Color)

Note: This is the same as the percentage Summary Function in the Expression Editor help.

Parameters
cat_code
The category code string specified in the property sheet for the category.

set
The category set defined in the Category Calculation dialog box. Define a category set by selecting categories in the pop-up dimension diagram and dragging them to the Category Calculation dialog box.

level
A level in the same dimension. Select a level from the pop-up menu and use it in your expression editor calculation.

240 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options


You can use command line options to perform routine tasks, such as creating or updating cubes using the appropriate executable updating a model with new categories generated during the category generation process running a set of batch jobs with different preference settings or files changing the current date setting so that relative time calculations in batch cube creation are based on a specific date supplying database signon information changing the degree of detail for log file messages opening and deleting checkpoint files verifying and, if necessary, updating the scales used in MDL model columns and measures to match those used in the datasource

Windows-only command line options enable you to run Autodesign based on an .iqd (Impromptu Query Definition) data source, build a model, create a cube, open PowerPlay, and display a report open the Transformer executable without showing a splash screen regenerate categories, and the measure scales used with them, without building the cube

UNIX-only command line options enable you to open specified .mdl files and/or accept MDL statements specify the number of records for a test cube prepare to accept input from the standard input stream

The syntax for using the Windows command line interface is as follows:
Trnsfrmr -<option><model_file> where <model_file> can be a .py? or .mdl file type.

The UNIX syntax is as follows:


rsserver <options><model_file> where you specify the processing information by means of a

dash or by one or more case-sensitive options.

Notes
Although the UNIX command line syntax is case-sensitive, the Windows syntax is not. You can combine command line options. For example:
Trnsfrmr -n -i Sales.py?

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

241

Appendix C: Command Line Options


Trnsfrmr -i -t2006 Sales.py?

The space character is used to separate multiple command line options. You cannot add spaces between an option and its argument, and if any of the arguments contain spaces, you must enclose them in double quotes. For example:
Trnsfrmr -n -kfield three=CarlosR/pw462 Field3.mdl

is not valid, whereas


Trnsfrmr -n -k"field three=CarlosR/pw462" Field3.mdl

is valid. When you run a batch file to create a model in Transformer, the code returned is zero if successful and non-zero if unsuccessful. A non-zero error code may be returned in a number of circumstances, such as failure in the cube creation or update, or if the application terminates unexpectedly. The following Windows batch file tests whether the operation ended successfully:
cd <install_dir>:\Program Files\Cognos\cern\bin trnsfrmr.exe -n2 -s -i -nologo < install_dir >:\< filename >.py? if errorlevel 1 goto error :noerror echo no error was encountered pause goto end :error echo Error pause :end

On UNIX, you can append the following Bourne Shell script to your rsserver command, to perform another action on successful completion:
#!/bin/sh if rsserver <command line options> then #perform action a if exit status is 0 else #perform action b fi

Command Line Options List


The available Windows and UNIX command line options are summarized below, and explained in detail in the sections that follow:

242 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options

Option
-a <data_source>

Restrictions
Windows only

Meaning
runs AutoDesign for an IQD-based model, then creates a cube, opens PowerPlay for Windows and displays a report

-c

UNIX only; used with -i, -m, generates categories and creates or -p cubes using rsserver Removal of objects and views checks for and logs obsolete user is done on Windows UI classes found in an existing model On UNIX, demands an upper- overrides user preference setting case D; no space between the option and its argument Cannot be used with -c; updates model but not data should always be used with n and -o

-cs .mdl_file

-D<preference_var>=<setting> .py?_file |.mdl_file

-e .py?_file |.mdl_file

-F<preference_file> .py?_file On UNIX, demands an upper- sets user-defined preference file |.mdl_file case F; no space between the option and its argument -i .py?_file On UNIX, cannot be used with -s opens specified .py? model and restarts failed process from beginning

-k<signon>=<userid>/ <password> .py?_file |.mdl_file

No space between the option specifies database signon and its argument; depending on your edition of Transformer, may not apply. For more information, see the Features and Editions topic. UNIX only opens specified .mdl file or accepts Model Definition Language (MDL) statements runs Trnsfrmr.exe in batch mode

-m .mdl_file

-n<display_state> .py?_file Windows only |.mdl_file -nologo .py?_file |.mdl_file Windows only

omits splash screen display on opening

Step-by-Step Transformer 243

Appendix C: Command Line Options

Option

Restrictions

Meaning
turns off various model and cube creation actions; see description

-o .py?_file |.mdl_file and - -ox is Windows only ox -p .py?_file

Not valid with an MDL file opens specified .py? file and should not be used with s Valid levels are 0, 1, 2, 3, and specifies log level detail 4; no space between the option and its argument On Windows, used in conjunc- saves model tion with -n; cannot be used with -i or -p

-r<log_level> .py?_file |.mdl_file

-s .py?_file |.mdl_file

-t<category_code> .py?_file On Windows, used in conjunc- sets current period |.mdl_file tion with -n; no space between the option and its argument -u<powercube_name> .py?_file |.mdl_file Cubes must have been gener- gets partition status ated; does not work on secured cubes; no space between the option and its argument UNIX only; used with -c, -m, specifies number of records for test or -p cube Slightly different behavior on updates column and measure scales UNIX than on Windows based on the data source UNIX only expect input from the standard input stream

-v data_subset_number

-x .mdl_file

- (dash)

-a <data_source>
A Series 7 Transformer for Windows option. Runs AutoDesign, based on the specified data source, to build a model, then create a cube, open PowerPlay, and display a report.

Example: Windows
Trnsfrmr -a <Sales_datasource>

Opens the Sales data source and places dates in the time dimension, columns with numerical values in the Measures list, and all remaining columns in the dimension map, by using the best-fit approach. Then, creates the Sales cube, opens PowerPlay, and displays the Sales report. 244 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options

Notes
You can only use this option with the -d, -f, -r, and -nologo options. The -k option, which you can normally use to supply Transformer with a signon in batch mode, should not be used with IQD datasources or with autodesign. In these cases, a logon screen appears, and a user must intervene to supply the required signon information, such as the logical name that appears in the IQD source. There must be a space between -a and the datasource file name.

-c
A UNIX-only option. Generates categories and creates cubes after rsserver loads a model file, interprets MDL statements, or both. You must use this option with the -p, -m, or -i option.

Example: Generate Categories and Create Cubes on UNIX


In both of the following examples, the command starts rsserver and builds the cubes that the model specifies. The .mdl file is a full model definition. This command processes a binary model file (.py?) called go_sales.py?:
rsserver -c -p go_sales.py?

This command processes an MDL text file called go_sales.mdl:


rsserver -c -m go_sales.mdl

-cs .mdl_file
Checks for and logs obsolete user classes found in an existing model. The namespaces checked are those accessible using the specified userid and password.

Example: Windows
Trnsfrmr -m -cs go_sales.mdl -user <userid> -pw <password>

Logs on as an authenticated user and, for each namespace associated with the go_sales model that is accessible to the specified <userid> and <password>, outputs a log file listing the obsolete user classes.

Example: UNIX
rsserver -m -cs go_sales.mdl -user <userid> -pw <password>

On provision of the appropriate user ID and password, checks for and lists the obsolete user classes.

Notes
Used with -m in order to specify that the ASCII form of the model file (.mdl) is to be parsed. To remove obsolete objects and their associated views, you must log on to the Windows UI.

Step-by-Step Transformer 245

Appendix C: Command Line Options

-D<preference_var>=<setting> .py?_file |.mdl_file


Sets a new value for a Transformer preference. The value overrides settings from the Preferences dialog box for this instance only. Also, if you specify the -D option after the -F option, the -D setting overrides the setting in the -F file, and vice versa. On UNIX, an uppercase D is required. No space may appear between the -D and the argument <preference_var>. All <preference_var> settings are case-sensitive and must match the values specified in the trnsfrmr.ini file. For example, you must use -DLogFileName not dlogfilename.

Example: Override Preference File Settings on Windows


Trnsfrmr -dDataSourceDirectory=C:\Newdata -n Transact.mdl

Sets the Data Source Directory to be C:\Newdata, opens the file Transact.mdl, then runs the process in batch to create all defined cubes.

Example: Override Preference File Settings on UNIX


rsserver -DChildRatioThreshold=25

Overrides the default value at which rsserver issues warnings that a category has too many descendants.

Notes
In Series 7 Transformer, you can use most of the settings in your Trnsfrmr.ini file as arguments for <preference_var>. Trnsfrmr.ini is located in the executable directory of your most recently installed rendition of the product. The setup program moves any existing Trnsfrmr.ini file to this spot, from the Windows directory or the home directory of a multi-user Windows system, to retain your settings from previous versions of Transformer. Any settings in the [PowerPlay Transformer] section of Cognos.ini are read; however, settings in Trnsfrmr.ini override those in Cognos.ini. You can include several -d options on the command line. However, for ongoing production use, you can instead create your own preference file, based on Trnsfrmr.ini, and have Transformer access your file with the -f command line option. You can also use environment variables to set preferences. See "-F<preference_file> .py?_file |.mdl_file" (p. 247).

-e .py?_file |.mdl_file
Updates and saves all the cube metadata that is defined in the model, but does not update the data. The cube metadata consists of object names, labels, short names, descriptions, drill through reports, and user classes. You cannot use this option with -c, and you should always use it in combination with the -n and -o options, to run in batch and suppresses cube creation. Otherwise, you defeat the purpose of this command.

Example: Windows
Trnsfrmr -e -n -o New.py?

246 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options Opens the model New.py?, updates the defined cubes without regenerating existing categories or creating new ones, including all of the cube metadata (object names, labels, descriptions, drillthrough reports, user classes), and then saves the model file.

-F<preference_file> .py?_file |.mdl_file


Specifies the user-defined preference file or files to use. The name may include a directory path. No space may appear between -F and the argument <preference_file>. On UNIX, an upper case F is required. If you are performing batch tasks and need to specify multiple preference files, Transformer combines the settings in each file successively; later settings override previously defined ones.

Example: Specify a Preference File on Windows


Trnsfrmr -n -fc:\Monthly.prf Transact.mdl

Sets the preference file to C:\Monthly.prf, opens the file Transact.mdl, then runs the process in batch to create all defined cubes.

Example: Specify a Preference File on UNIX


rsserver -Fmypref.prf -m go_sales.mdl

Commands rsserver to parse an .mdl file using the preference file mypref.prf.

Note
If the preference filename does not include a path, Series 7 Transformer searches the executable directory of your most recently installed rendition of the product. The setup program moves any existing Trnsfrmr.ini file to this spot, from the Windows directory or the home directory of a multiuser Windows system, to retain your settings from previous versions of Transformer. Any settings in the [PowerPlay Transformer] section of Cognos.ini are read; however, settings in Trnsfrmr.ini override those in Cognos.ini. See also "-D<preference_var>=<setting> .py?_file |.mdl_file" (p. 246).

-i .py?_file
Opens a saved model, regardless of the existence of a checkpoint file. A checkpoint file exists if a model is suspended due to a general system failure, such as that caused by a power outage. Normally, you are offered the choice of opening the checkpoint file or the lastsaved version of the model file, the next time the model is opened. However, you can use the -i option when working in batch mode to bypass the prompt and force Transformer to open the original model file instead of the checkpoint file. In UNIX, cannot be used with the -s option.

Example: Windows
Trnsfrmr -n -i Sales.py?

Opens the model file Sales.py?, discarding any existing checkpoint file, then runs the process in batch to create all defined cubes.

Step-by-Step Transformer 247

Appendix C: Command Line Options

Notes
Checkpoint files have a .qy? extension. The ? (question mark) in the extension .qy? is replaced by the character that is used in your release of Transformer. For more information about error recovery, see "Recover a Failed Model" (p. 158).

-k<signon>=<userid>/<password> .py?_file |.mdl_file


In Series 7 Transformer, supplies the signon information needed to establish one or more database connections during batch processing. It provides an alternative to storing the information in the Signons list or using Access Manager to retrieve user IDs and passwords. This is especially useful when used with .mdl files which, by default, don't use "verb MDL" and so do not store signon passwords. For databases referenced in an Impromptu query, the signon is the logical database name that appears in the .iqd file and the Cognos.ini file. Multiple .iqd data sources can use the same signon object. You can view these signons on the Series 7 Transformer Windows interface, but you cannot change them.

Example: Windows
Trnsfrmr -n -kfield=CarlosR/pw462 Field3.mdl

Opens the file Field3.mdl and grants access to the required database using the signon named field, user ID CarlosR, and password pw462. If the signon matches that defined in the model, the process runs in batch mode, creating the cubes as defined in the model.

Notes
No space may appear between -k and the argument <signon>. The signon name cannot be empty or contain the ASCII equal (=) character. The user ID cannot contain the slash (/) character.

Example: UNIX
In this example, Transformer reads your data source for model Xyzsales.mdl from an Oracle database using an .iqd file. The signon sal_log includes the Oracle user ID corpadm and the password my_pass. The command to process the .mdl file for model Xyzsales.mdl is as follows:
rsserver -c -s -m Xyzsales.mdl -ksal_log=corpadm/my_pass

If you use the -k option to pass user IDs and passwords to rsserver, there is a possibility that security breaches may occur. For example, your security can be violated if other users can view the details of your rsserver process using the ps command or by reading the log file. To prevent security problems, you have these options: 1. Store the -k option with the user ID and password information in a file in a secure directory and call the file from the rsserver command line. 2. Embed the user ID (or the user ID and password) in the MDL model file. 3. Create an MDL script file.

248 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options In the first case, you can create a file called Sal_id.txt and store it in a secure directory. This file contains the -k option with user IDs corpadm and corpis and passwords my_pass and bld_cube.
-ksal_log=corpadm/my_pass -ksal_cube=corpis/bld_cube

You can then call the Sal_id.txt file from rsserver as follows:
rsserver -c -s -m Xyzsales.mdl 'cat Sal_id.txt'

In the second case, you can add MDL statements to the end of the .mdl model file. These embed the user ID and password, and update the signon information needed to log on to the database:
SignonUpdate "sal_cube" PromptForPassword False UserID "corpis" Password "bld_cube"

To embed the user ID only, enter:


SignonUpdate "sal_cube" PromptForPassword True UserID "corpis"

You can then run rsserver with the -m option, specifying the modified .mdl file without the -k option. In the third case, you can create a secured temporary MDL script on the server. The MDL script updates the model signon, as shown in this example:
OpenPY "Xyzsales.py?" SignonUpdate "sal_cube" PromptForPassword False Password "bld_cube" SavePY "Xyzsales.py?"

To use this MDL script, run rsserver with the -m option, specifying the name of the .mdl file.

-m .mdl_file
On UNIX only, specifies an ASCII model or script file (.mdl) to interpret. If you use multiple occurrences of -m, files are processed in the order of their occurrence. In addition, you can use a dash (-) as an argument to accept MDL verb statements from the standard input stream.

Example: Save a File in MDL Format on UNIX


1. Create a separate file, Savemdl.mdl, containing the line:
SaveMDL "Xyznew.mdl"

2. Using the ASCII model file Xyzsales.mdl, type the following command:
rsserver -m Xyzsales.mdl -m Savemdl.mdl

Then, using the binary model file Xyzsales.py?, type the following command:
rsserver -p Xyzsales.py? -m Savemdl.mdl

3. Input SaveMDL from the standard input stream by typing the following commands:
rsserver -p Xyzsales.py? -m SaveMDL "Savemdl.mdl"

4. Finish with the UNIX end-of-file command (Ctrl-D) to save the .py? file in .mdl format.

Step-by-Step Transformer 249

Appendix C: Command Line Options

-n<display_state> .py?_file |.mdl_file


Runs Transformer in batch mode. This option is not valid for UNIX. Use this option to open Transformer, create cubes identified in the model, and close Transformer. You can optionally specify a window display state of 1 to minimize the Transformer window, or 2 to hide the Transformer window.

Example: Windows
Trnsfrmr -n -s Roofing.mdl

Opens the model file Roofing.mdl, creates its defined cubes, then saves the model file.
Trnsfrmr -n2 Roofing.mdl

Opens the model file Roofing.mdl without displaying an application window, then creates its defined cubes.

-nologo .py?_file |.mdl_file


Prevents the display of the Transformer splash screen.

Example: Windows
Trnsfrmr -nologo Roofing.mdl

Opens the model Roofing.mdl without first showing the splash screen.

-o .py?_file |.mdl_file
On Windows, regenerates the categories after a model load, but disables cube creation. For batch mode operations, can be used with the -n option to open Transformer (Windows), perform the specified action, and then close Transformer. A separate Windows-only option, -ox (which is not a combination of -o with -x) disables both category creation and the cube rebuild. On UNIX, turns off both population of the model and cube creation, after the .mdl file is loaded.

Example: Windows
Trnsfrmr -s -n -o Roofing.mdl

Opens the model file Roofing.mdl, and saves any model changes, such as new categories. Transformer then closes without creating any cubes defined in the model.

Example: UNIX
rsserver -o go_sales.mdl After the file go_sales.mdl is loaded, disables both population of the model and cube creation.

-p .py?_file
Opens the checkpoint file (.qy? on Windows) or loads a binary model file (.py? on UNIX) and processes it, beginning from the last checkpoint saved in the checkpoint file if this exists, or beginning from the start of the .py? file. All changes are saved on termination.

250 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options A checkpoint file exists if model processing was suspended. It has a .qy? extension, where the ? (question mark) is replaced by the character that is used in your release of Transformer.

Example: Windows
Trnsfrmr -n -p Sales.py?

Opens the checkpoint file associated with model file Sales.py?, then continues to process the model in batch mode, creating all defined cubes.

Example: UNIX
rsserver -p go_sales_jan.py? -m monthly_update.mdl -Ftrnsfrm_prd.prf

Starts rsserver, processes the commands (MDL verbs) in the file monthly_update.mdl, obtains preferences from the file trnsfrm_prd.prf, and saves the model.

-r<log_level> .py?_file |.mdl_file


Sets a degree of detail for messages written to the log file, where log_level is a value from 0 to 4. Each level includes the errors and messages for the higher levels: 0 - the Enable Message Logging box is cleared; logging is suppressed 1 - includes only severe errors 2 - includes error messages and above 3 - includes warning messages and above 4 - includes informational messages and above (the default setting)

Example: Windows
Trnsfrmr -n -r2 -dLogFileName=Roof.log -dLogFileDirectory=F:\Test Roofing.mdl

Opens the model file Roofing.mdl, sets the degree of detail for messages to 2, then runs the process in batch to create all defined cubes. The messages are written to the file F:\Test\Roof.log.

Notes
No space may appear between -r and the argument <log_level>. For more information on error logging, see the reference topic dealing with the Log file.

-s .py?_file |.mdl_file
After successful creation of a cube, before closing Transformer, saves the model in binary format (.py?), with any new categories added during the category generation process.

Example: Windows
Trnsfrmr -n -s Roofing.mdl

Opens the model file Roofing.mdl, creates its defined cubes, saves the model file, and closes Transformer.

Step-by-Step Transformer 251

Appendix C: Command Line Options

Example: UNIX
rsserver -m go_sales.mdl -s go_sales.py?

Starts rsserver, parses an ASCII model file (.mdl), and saves the changes in a binary model file (.py?).

Notes
In Windows, this option must be used in conjunction with -n. In Windows or UNIX, do not use this option with -i or -p.

-t<category_code> .py?_file |.mdl_file


Sets the current period for the purpose of calibrating relative time calculations. In Windows, this category code is defined on the Category property sheet. The category must exist in a manually-set time dimension, which is set by clearing the Automatically Set Current Time Period box in the Dimension property sheet (Time tab).

Example: Windows
Trnsfrmr -n -t"20051201-20051231" -s-Year3.mdl

Opens the model Year3.mdl, sets the current period to the category which has a category code of 20051201-20051231, then runs the process in batch to create all defined cubes.

Notes
No space may appear between -t and the argument <category_code>. If the category contains hyphens or space characters (as in the date range above), it must be enclosed in double quotes. The <category_code> portion of the command is case-sensitive; it must exactly match the category code in the model. In Windows, this option must be used in conjunction with -n.

-u<powercube_name> .py?_file |.mdl_file


Writes the partition information for a specified cube to the log file. The partition information is written in the following format:
<date> report <time> Cube Partition # <PowerCube_name> partition

Category Code

Category Name

Partition Size

Example: Windows
Trnsfrmr -i -n -uNorth -uEast -dLogFileName=F:Roof.log Roofing.mdl

Opens the model file Roofing.mdl, discarding any existing checkpoint file, creates all defined cubes, and writes the partition information of cubes North and East to the log file F:\Roof.log.

252 IBM Cognos Series 7 PowerPlay Transformer

Appendix C: Command Line Options

Notes
Cubes must be generated before their partition status can be reported. If the command line includes options to generate categories and create cubes, those options are processed before the partition information is obtained. To obtain the partition information of cubes in a cube group, you must specify the individual cube names, not the cube group name. The cube name is case-sensitive. In the above example, you must type uNorth, not unorth, for this command to work; no space between the option and its argument. Partition information cannot be provided for secured cubes and cube groups.

-v data_subset_number
Specifies how many data source records rsserver should use to create a test cube. If you have a large data source file, this option enables you to do a test run on a limited number of records before processing the entire file. If the number of records you specify is greater than the total number of records in the file, rsserver treats the process as a normal run, not a test, and uses the whole file. Use this option on UNIX only, in conjunction with the -c, -m, or -p option.

Example: Create a Test Cube from a Subset of Records on UNIX


rsserver -c -p Xyzsales.py? -v 525

Commands rsserver to process 525 records from binary model file Xyzsales.py?, generate categories, and create a cube.

-x .mdl_file
Updates the column and measure scales of the MDL model, provided the data source can handle queries about scale. This means that the option is supported for relational or ADO data sources, including Microsoft Access and Microsoft Excel, but not ASCII or other flat-file data sources. Begins by verifying that all column scales match those in the source. Then, checks all of the associated measures, updating their output scales as required.

- (dash)
On UNIX, use to have rsserver accept input from the standard input stream. Any options listed on the right of the dash are ignored.

Step-by-Step Transformer 253

Appendix C: Command Line Options

254 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design


This chapter describes proven practices you can adopt when modeling your PowerCubes and designing your production system.

Recommendation - Analyze Your Requirements and Source Data


The first step in developing an effective business intelligence model is to analyze your users and the reports they require. Use questions such as the following to help you analyze your users. What reports do users currently use? Which do they use most frequently? Which do they use only rarely? Does each group require different reports? Are there some reports that are required by all users? Do users need detailed drill-through reports, summary reports, or both? How frequently are the measures in the report updated? How frequently do the reports themselves change? Does the frequency vary from group to group? How often are reports required? Can you trade off timeliness in order to ensure accuracy? For example, if your users ask for monthly reports and the data source is refreshed weekly, the data will always be current. However, if your users want daily reports, the data will only be up-todate on the first day of the weekly cycle.

Identify Your Security Needs


Assess the need for controlling access to information and, if required, identify the security levels of each user class or group. Use questions such as the following to help you analyze security needs. What business information can be made available to all employees? Which information must be restricted to certain individuals or groups? Can you place your users into distinct classes based on their information needs and access privileges? Or do people move about so frequently that this is not practical? If your organization already has user groups, are these based on network hook-ups and database access, or existing Human Resources classifications (job functions and task profiles)? Must you realign these user groups to more accurately reflect decision-making roles? Can you rely on network operating system logins to control access, or must you implement alternative security for your sensitive data? Do you have user-class or directory-based security already in place?

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

255

Appendix D: Proven Practices in Model and System Design

Assess Your Source Data


Use questions such as the following to help you analyze your source data. Does the data come from one source or many? What format is it in: flat files, Impromptu reports, spreadsheets, or databases? Does it need to be converted to a supported source type before it is imported? How many records are there? How much do you expect the data to increase? How much of the data is static and suitable for incremental updates? Can you create different data sources for static and non-static data to support incremental updating? This shortens cube creation time by appending new data to a cube instead of recreating it. How much data preparation and cleaning are required? (You should clean and preprocess your data as much as possible.) If you are using a database, do you plan to use pre-summarized data? Are all data items unique? Are linked measures from different sources updated at the same time? Must you create additional data sources to accurately model your organization?

Before you begin designing your model, take a closer look at your data. Consider the relative advantages of merging data into an Impromptu .iqd file, keeping it in separate files, or restructuring it for better performance and flexibility.

Merge Data into an Impromptu Source File


Transformer can obtain input in a variety of formats, including flat files, spreadsheets, Access, and Paradox. If the data you need is stored in a relational database that Transformer doesn't read, depending on your edition of Transformer, you may be able to preprocess the data using a tool that creates comma-separated values (CSV) files or fixed-field files create an Impromptu query definition file (.iqd) and then access the database directly or by means of an ODBC connection. To ensure that Transformer connects to the database defined in Impromptu in read-only mode, override the default isolation level for the database by changing the IsolationLevel property of the Signon for your database in the Signons list in Transformer. import CSV or Query Definition files exported from Framework Manager, the IBM Cognos 8 modeling component

Leave Data in Different Source Files


If several different source files provide the input for one Transformer model, you can customize the resulting cubes to suit the needs of different users, and store the files in various secure locations. In such models you can do one of the following:

256 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design specify a different source file for each data source in your model. You change the source file name, but retain the other properties associated with the data source. You can then specify which data sources you want to use when you create each cube. use a separate data source to point to a source file whose contents change often. For example, if your hospital admissions data changes weekly, put this information in a separate file, and specify that this source be queried every time your cube is processed. That way, the cube will always contain the most up-to-date information.

Presort, Clean, or Consolidate Your Data


Consider the performance benefits of preprocessing your data further: Presorted records are processed more quickly by Transformer. If you streamline your source data so that it only contains the information needed for the model, read time is faster in Transformer. You can use Transformer to presummarize the data if your users don't need to access all the details in the source. If your organization processes 50,000 transactions daily, for example, and you only create the cube weekly, then summarize the transactions at the weekly level before Transformer begins processing. This will greatly speed up cube creation. Consolidation (that is, combining records with identical non-measure values) reduces the size of the cube and improves performance in your reporting application. Consolidation is enabled by default in Transformer. Evaluate your data to see if it can be further consolidated by using the duplicates or regular rollup features of Transformer. For consolidation purposes, nonmeasure values are considered identical if they meet any of the following criteria for the particular rollup. The source data contains transactions with identical non-measure values. For example, two sales of the same product are made to the same customer on the same day, but the colors differ. If colors are omitted from a dimension view using the Suppress or Summarize command, the sales records will have identical non-measure values. Records become identical when a dimension is omitted from the cube. For example, two sales of the same product are made at different stores on the same day. If the Stores dimension is removed from the model, these sales records will have identical non-measure values. Records become identical because of the Degree of Detail setting. For example, if the Degree of Detail is set to Month for a column associated with a time dimension that includes week and day values, Transformer ignores the week and day values in the source transactions when consolidating records.

Separate Structural and Transactional Data


It is helpful to know whether your data sources contain purely structural information, transactional information (measure values), or a combination. Processing time improves if you can query structural and transactional information separately. Ideally, you should define each dimension or drill-down

Step-by-Step Transformer 257

Appendix D: Proven Practices in Model and System Design path with a separate structural data source and add one or more transactional data sources to provide measures for those dimensions. We recommend defining the structural data sources in the same order they are used to build the dimensions and levels, listed from left to right in the Data Source dialog box. This allows Transformer to process one data source, update the associated dimension and its categories, and then continue with the next data source. The last items on the list should be the transactional sources that provide measure values for the dimensions. If the data sources are not listed in the correct order, and optimization is not set to Default (autopartition), Transformer may have to process a data source repeatedly to build a single dimension. We recommend defining any transactional data sources that change frequently so that they contain a small, concise record set, with the minimum amount of information needed to update the data in your PowerCubes. Whenever possible, maintain your category structures within your Transformer model, to eliminate the redundant processing required to continually rebuild it. Finally, if your models contain long descriptions, we recommend that you generate PowerCubes using models that are already populated with categories associated with those descriptions. The following subsections provide some additional tips and guidelines.

Analyze the Data Flow


Analyze the flow from the point at which your data is generated until the data is input into Transformer. Should the data be streamlined or rationalized at any point? If so, can you use a data warehouse, a series of data marts, or a data-extract procedure to reorganize it?

Remove Any Constraints


You may have to resolve uniqueness issues and data dictionary terms before you can merge two sets of data into one multiple-data source model. Ensure data integrity by checking your column joins: outer joins or table aliases may be required. (Transformer isn't a relational database tool, and doesn't perform joins between the columns of different data sources. If you need to set up database joins, use Impromptu or QueryDefinition files exported from Framework Manager, the modeling component of IBM Cognos 8.)

Build Flexibility into Your Plan


If you can, use a different source file for each aspect of your business, and organize the data sources in your model so that each data source supplies the data for a different dimension. That way, you can add more information into your cube as your business evolves, even if the data comes from different software applications, platforms, departments, or locations.

Preprocess for Better Performance


Performance improves as you reduce processing loads in Transformer. One way to do this is to partially normalize your source data by restructuring it into structural and transactional data sources. This speeds up both category generation and cube creation.

258 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Recommendation - Build a Prototype


The best way to field-test the accuracy of your analysis is to build an initial model to reflect the needs of key decision-makers in your enterprise. Base your pilot project on an existing set of popular, stable reports and use the following as a set of signposts along the way.

Identify Measures
Measures are the numbers you use to gauge your organization's performance. You should choose the critical success factors in your business to be your measures. Examples of typical measures include sales revenues, profit margins, and response times. If you have multiple data sources, the dimensions and levels of your model should be related to the data source that contains the columns that will be used for your measures. You will have a more effective model if your measures are applicable to more than one dimension. For example, if your dimensions are products, locations, and customers, your measures should bridge these dimensions.

Specify a Time Dimension


To ensure that your users can make period-to-period comparisons and visualize trends over time, choose a time dimension that reflects and synchronizes accounting periods and reporting schedules. In most cases, your users' needs are met by models based on the calendar or fiscal year. Month, Quarter and Year categories are supplemented by automatically generated relative time categories such as Percent Growth year-over-year. However, many organizations need to use custom time periods, such as lunar weeks and months, or 8-hour shifts. For more information about how to design custom time periods, see "Set Up a Custom Time Dimension" (p. 85).

Select the Data to be Modeled (Sales Example)


You need to set up your data sources so that they meet the needs of the Transformer model that you want to create. For example, in your sales organization, information about customers is stored in a Customers table, while information about products is stored in a Products table. Related tables, Customer_Details and Product_Details, provide additional information about customers and products. Order information is stored in two tables called Orders and Order_Details. In keeping with good design practice, you decide to set up the Customers, Customer_Details, Product, and Product_Details tables as structural data sources, to provide the information that Transformer uses to build the Customers and Products dimensions in the model. The information about transactions is stored in the Orders and Order_Details tables. For efficiency, you decide to combine the information in these tables into a single data source called Order_Info. The Order_Info data source contains all the information that Transformer requires to associate sales with customers and products: the order date, to generate categories for the time dimension header information such as the customer, sales representative, and so on

Step-by-Step Transformer 259

Appendix D: Proven Practices in Model and System Design the product, order quantity, and sales amount for each line item in an order, to provide sales measures the cost of the order and any discounts applied to it

You can create your initial dimension map on paper, to capture all of the dimensions, levels, categories, and measures needed in your cube.

Order Date
Year Quarter Month

Products
Product Group Product Class Product Name Product No.

Locations
Region Office Sales Rep

Customers
Market Segment Customer Type Customer Group Subgroup

Sample Measures

Sales, Order Qty, Cost, Discount

Create and Refine Your Model


Once you have created an initial dimension map on paper, you then create a new PowerCube model in Transformer. We recommend that you begin with only one type of data source. Later, you can enhance the business value of your model by adding more data sources, or by manipulating the data derived from the existing data sources. In the sales-tracking example, you might not initially have information about staffing levels at each branch. If you add another data source or use the category count feature of Transformer to provide these details, then a report based on your model can deliver value-added information on the average sales per employee. Models can contain any combination of regular measures: the numeric data found in a transaction file calculated measures: the numeric data calculated from other measures, mathematical operators, and numeric constants category counts: the number of categories in a unique level for which the measure values are non-missing or non-zero calculated categories: calculations that apply directly to any measure calculated columns: new data based on values calculated from other columns, functions, constants, and calculated columns

If your expanded model incorporates multiple data sources, remember that Transformer must be able to associate values from a data source column with categories in a level. Unless a data source contains columns for a level and all of its ancestors, thereby establishing a context, the level must be unique.

260 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design To refine your model, make some of these enhancements, if feasible: Add special categories to enable quicker data access. Group your data into special categories based on attributes that may be contributing to the success of your enterprise, such as product color or customer income. Add drill-down paths to provide more detail. A dimension normally consists of a single drill-down path with one or more drill-down levels, representing the hierarchical organization of the information. However, you can further subdivide your dimensions, so your report users can analyze their data at different levels of detail. There are no restrictions on the number of levels and drill-down paths that you use in a dimension. However, all alternate drill-down paths must converge at a common unique level and, for performance reasons, it is best to keep a 1:10 ratio or less between the categories in each level. Allocate measures to other levels or dimensions. If your model uses multiple data sources, consider allocating measures to levels or dimensions with which they are not normally associated. Allocation can provide you with new insights into your data. For example, you can associate resource-related data to financial data. You can allocate measures over entire dimensions, over levels within an individual dimension, or over categories within levels. When allocating, use measures that come directly from your source data, rather than calculated measures, and take care not to overload your model with superfluous detail. Incorporate data from another functional area. Consider combining information from another functional area, such as materials and resource planning or performance quality, with the finance or customer profitability data already in your business model. Begin by listing the data columns and by determining if there are any gaps, particularly in the area of cost of materials, or indicators of quality. Next, map the new dimensions, checking that the time periods are consistent with each other and with your financial statements. Ensure that revenue and expense values map to those in the financial statements. Finally, verify that one-to-one relationships exist between the various measures or, if not, confirm how each relates to your common dimensions.

Example - Add Customer Service Data to Refine your Model


Suppose your initial model includes the following:

Order Date

Products

Locations

Customers

Inventory Status
Status

Turnover

Year

Product Group Region

Market Segment

Ranges

Step-by-Step Transformer 261

Appendix D: Proven Practices in Model and System Design

Order Date

Products

Locations

Customers

Inventory Status

Turnover

Quarter

Product Class Office

Customer Type Ware- house Customer Group Subgroup

Month

Product Name Sales Outlet

Product No.

Sample Meas- Sales, Order Qty, Material Cost per Unit, Discount, Percent Gross Margin, Carrying Cost per Unit, Percent Material Cost per Sale, Percent Carrying Cost ures per Sale, Sales per Customer, Percent Profit per Segment, Inventory Turnover. If you want to monitor customer service, you can expand your model to include indicators of service quality. The new dimensions and categories might be encoded Reasons for Dissatisfaction or Causes of Poor Quality Service. Ensure that your source data provides the required measures, such as the number of complaints, returns, and claims, or the dollar value of returns and claims. Complete your model by incorporating response times, labor costs, time lost to service claims, rework hours, scrap costs, or any other factor that affects service quality.

Diagnose Design Problems


Use one or more of the following tools and techniques, to diagnose and resolve problems in your model design: Show Scope To see how your measures and levels are associated to their corresponding data sources by allocation, direct, or indirect association, use the Show Scope command (Edit menu). If a level has categories that are not unique, this will also be indicated onscreen. By default, levels with uniqueness problems appear dark red. Show Count To verify that you have maintained a 1:10 ratio or less between the categories in each level, use the Show Counts command (Edit menu) . Lower ratios allow for efficient partitioning and faster cube creation times in Transformer, and easier data exploration in PowerPlay. Show References To confirm the origin of every data source column associated with your dimension map and see how each is used, use the Show References command (Tools menu). Check Model To ensure that the new data relates correctly to the dimension map as you add data sources, and before you create categories, use the Check Model command (Tools menu) 262 IBM Cognos Series 7 PowerPlay Transformer .

Appendix D: Proven Practices in Model and System Design Generate Selected Categories To confirm how the categories in that specific data source relate to your model, use the Generate Categories command (Run menu) on the selected data source . To prevent generation of categories in specific levels or entire dimensions, select the Prohibit Automatic Generation of Categories box on the Level or Dimension property sheets (General tab). Create Selected Cubes During the prototyping stage, you may want to create only certain cubes. You can enable or disable cube creation in one of three ways: change the Cube Creation cube option on the Processing tab of the PowerCube or Cube Group property sheet use the Create Selected PowerCube command (Run menu) use the Model Definition Language (MDL) option CreateFromCubes

Check Cube Status You can check the status of a cube at any time without opening it by using the PowerCube Status command (Tools menu). You can check the status for all the cubes that are defined for a model at the same time. If you have more than one cube, you can apply a filter to monitor the status of specific cubes as they are being created.

Consult the Troubleshooting Help In addition to the Troubleshooting chapter of this document, online help is available from several Transformer error message windows, to assist you in overcoming production problems.

Review the Resulting Reports with Users


Ask for feedback from representative users, directing their attention by asking open-ended questions. Review their answers with a business analysis, and keep a list of follow-up questions: Does each dimension level generate valid data, with measures that are properly associated or coordinated, regardless of the data source? (Try to spot measures that don't roll up as expected, or that aren't additive in every dimension.) Are ranges or qualitative values coded realistically? Are the values for key indicators consistent, or is the integrity of the underlying data suspect? (In some cases, you may need to add other measures that substitute average figures, or industry standards, for non-available or non-continuous values.) Is the data at some of the lower drill-down levels too sparse to be useful? Should the model be redesigned, or should drill-down targets be added? (Consider expressing some values as ranges rather than absolutes, to create useful groupings such as responsiveness or rates of return, for example, or to hide sensitive details, such as salaries.) Could there be better coordination of the data flowing from different databases, models, and reports, perhaps by using normalized measures, to ensure that computer resources aren't overburdened?

Step-by-Step Transformer 263

Appendix D: Proven Practices in Model and System Design Has anyone developed a calculated column or exception dimension that could be added to the standard reports, for the benefit of all?

Maintain regular contact with your report users, and incorporate their feedback into your system enhancement plans. As you enhance or change your model, remember to use the label and description fields for each dimension, level, and measure, so that cubes created from your model are clear and intuitive.

Recommendation - Manually Partition Cubes that do not Support Auto-partitioning


For PowerCubes containing more than 250,000 records, we recommend that you use partitioning to pre-summarize the most frequently queried data into smaller subordinate groupings, to achieve satisfactory runtime performance. Although there is an auto-partitioning capability, partitioning will be done manually in the following circumstances: Any cube in the model uses externally rolled-up or before-rollup calculated measures. Any cube in the model has its Consolidation property set to No. Any cube in the model has a custom view with cloaking enabled for a primary drill category. Any cube in the model uses optimization methods other than Auto-partition or Default. Any cube in the model is set to use incremental update.

Process
Begin by letting Transformer auto-partition your cube, adjusting the following settings: Estimated Number of Consolidated Records. Consolidation combines records that contain identical non-measure values, reducing cube size and improving runtime performance. Start with the default, then check the log file (Step 2) for the real number. Faster Cube Creation/Faster Cube Access. Use the slider bar to center the setting. Desired Partition Size. Use this setting, which is based on the consolidated record count, to select the number of categories in (size of) your partition. Default: 500,000. Maximum Number of Passes. Transformer uses one pass for each partition level. If you decrease the desired partition size, the number of passes (and partition levels) increases, lengthening cube creation time. We recommended a 5-pass maximum.

To find out how many consolidated records are in your PowerCube, build it once with the default settings, and consult the Transformer log file. Look at the difference between the row and category counts in the Start and End Count and Consolidation lines. In this example, no consolidation was done on Pass 0; it was done on passes 1 through 4:
--- Performing Pass 0 with 22770681 rows and 8708 categories remaining . Selected Dimension 3 for next pass of partitioning.

264 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design


Sorting the work file. Counting category hits. End sorting 22770681 records. Start Count and Consolidation with 22770681 rows and 8708 categories remaining. End Count and Consolidation with 22770681 rows and 8708 categories remaining. Start Write leaving 8708 categories remaining. Updating the PowerCube data. ... Performing DataBase Commit at record number 22770682. End Write leaving 8708 categories remaining. --- Performing Pass 1 with 22770681 rows and 8708 categories remaining . Selected Dimension 11 for next pass of partitioning. Counting category hits. End sorting 22770681 records. Start Count and Consolidation with 22770681 rows and 8708 categories remaining. End Count and Consolidation with 15522151 rows and 8708 categories remaining. Start Write leaving 8708 categories remaining. ... Performing DataBase Commit at record number 15522152. End Write leaving 8708 categories remaining. --Performing Pass 2 with 15522151 rows and 8708 categories remaining . Selected Dimension 0 for next pass of partitioning. Counting category hits. End sorting 15522151 records. Start Count and Consolidation with 15522151 rows and 8708 categories remaining. End Count and Consolidation with 14848450 rows and 8708 categories remaining. Start Write leaving 8708 categories remaining. Updating the PowerCube data. ... Performing DataBase Commit at record number 14848451. End Write leaving 8708 categories remaining. --- Performing Pass 3 with 14848450 rows and 8708 categories remaining . Selected Dimension 0 for next pass of partitioning. Counting category hits. End sorting 14848450 records. Start Count and Consolidation with 14848450 rows and 8708 categories remaining.

Step-by-Step Transformer 265

Appendix D: Proven Practices in Model and System Design


End Count and Consolidation with 11465545 rows and 8708 categories remaining. Start Write leaving 8708 categories remaining. Updating the PowerCube data. ... Performing DataBase Commit at record number 11399138. End Write leaving 8708 categories remaining. --- Performing Pass 4 with 11465545 rows and 8542 categories remaining . Selected Dimension 1 for next pass of partitioning. Counting category hits. End sorting 11465545 records. Start Count and Consolidation with 11465545 rows and 8708 categories remaining. End Count and Consolidation with 7312012 rows and 8708 categories remaining. Start Write leaving 8708 categories remaining. Updating the PowerCube data. ... Performing DataBase Commit at record number 7312013. End Write leaving 8542 categories remaining. --- Performing Pass 5 with 7312012 rows and 8542 categories remaining . Start Write leaving 8542 categories remaining. Updating the PowerCube data. ... Performing DataBase Commit at record number 7312013. End Write leaving 8542 categories remaining.

Observe that the auto-partitioning algorithm partitioned dimensions 3, 11, 0, and 1, making 2 passes on time dimension 0 to get more consolidation on the second pass. The next dimension (first non-time dimension) corresponds to number 1 in the log file, and so on. To assess the effectiveness, compare Pass 0 to Pass 5 (or the last Pass listed in your log file):
--- Performing Pass 0 with 22770681 rows and 8708 categories remaining. --- Performing Pass 5 with 7312012 rows and 8542 categories remaining.

Auto-partitioning consolidated the original row count (22,770,681) to 7,312,012 and did some hierarchical consolidation of the original category count (8,708) to 8,542. Note any dimensions that must be excluded from partitioning, and then select that option on the General tab of the property sheet for the dimension. Typical reasons are as follows: a dimension is large and flat dimension categories change frequently (such as the time dimension) a dimension is frequently reported on at the lowest (leaf) level

266 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design a dimension contains alternate drill-down paths

If you exclude your largest dimensions, you can set a smaller partition size, achieving faster cube builds and summary querying. Also, by not partitioning on the detail dimensions, you avoid the performance costs of forcing your low-level queries to span multiple partitions. Analyze the log file to see how the number of records and categories decreases from pass to pass. If there is no decrease in the number of records on the last pass, reduce the Maximum Number of Passes by one, or increase the desired partition size. Fine-tune the auto-partitioning settings as required, to achieve optimal results. Try increasing the partition size from the default to 1,000,000 or 1,500,000. The partitioning passes will cease when the number of records in the summary partition drops below this partition size. Test and either increase the number again, or decrease it until performance is acceptable. If both the summary and Level 1 partitions have the same number of records, indicating that the summary partition was not consolidated, try increasing the Maximum Number of Passes. Check the partitioning information by right-clicking the cube in the PowerCubes list and selecting PowerCube Partition Status. The window shows each applied partition level (beginning with 0), its dimension name, the category code, and its record count. If you still need to improve performance, perhaps for specific reports, continue partitioning manually.

Example
You decide to manually partition a flat-dimensioned model consisting of Product IDs, Customer Numbers, and Countries. The ideal parent:child ratio of 1:10 is exceeded: there is only one parent for each of the large child category levels (Product Brand, Customer Type, and Region). You know your customers need summary reports on categories from the Product and Customer dimensions, so you partition at a higher level in those dimensions. You specify which levels and categories are included in the partitioning and set the Maximum Number of Passes on the Autopartition tab to that number of partition levels plus one. You test, and then try using various partitioning strategies for the Products dimension. At first, you assign a single partition to the entire Product Type level, with this result:
Level 0, All dimensions, <Summary> category - record count of 237 Level 1, Line dimension, <Type 1> category - record count of 31 Level 1, Line dimension, < Type 2> category - record count of 181 Level 1, Line dimension, < Type 3> category - record count of 25

However, drill-down performance is only acceptable when querying Types 1 and 2. It is unacceptably slow for Type 3, because there are just too many records in this partition. To more evenly distribute the total number of categories, you navigate to the General tab of each Product Type category property sheet and assign the same partition number (1) to all Type 3 child categories, and to all Type 1 and 2 categories at the parent level. You rebuild the cube, check the partition status, and confirm that the Product Type category counts are better balanced, with no partitions containing more than 87 records. However, you note that Step-by-Step Transformer 267

Appendix D: Proven Practices in Model and System Design some Region categories contain a large number of child records. You decide to add individual Country categories to the same partition as that assigned to the parent, to further optimize partitioning. You then recheck query performance, but conclude it is unsatisfactory. You contact Cognos Software Services, first gathering up the following information, to facilitate timely investigation of your problem: The Transformer log file from the PowerCube build, with information about which dimensions were involved in the partitioning, and partition consolidation details. The populated Transformer model (.mdl or .py?) and PowerCube (.mdc), so Cognos Support can confirm the status and record distribution of all partitioned categories. Information about which dimensions are most queried at runtime, and how deep those queries tend to be. That is, do your users mostly query the parent or child levels? Detailed information about cases when query performance was below expectations, such as typical reports and OLAP/explorer activity, especially regarding nesting or alternate drills.

Recommendation - Test Alternatives for Improving Build Times for Large PowerCubes
We recommend that for large PowerCubes (greater than 500,000 categories, with parent:child ratios that deviate significantly from the ideal ratio of 1:10), you experiment with alternatives for improving cube build times. This section discusses various hardware upgrades, memory adjustments, model optimization techniques, and processing options, with case study examples of the efficiency gains that you can expect with each.

Example - Explore the Test Model


A test model is used to troubleshoot problems and arrive at recommendations for optimizing build times in a typical production environment.

Test Model Description


Total number of categories: 492,152 Number of non-measure dimensions: 5 Number of measures: 5 (2 calculated; 2 after-rollup calculated) Source data format: ASCII ('~' delimited) Number of source files: 9 (6 structural, 3 transactional); multiprocessing enabled for 4 largest Number of transaction input records: 50 million Size of all source files: 2.28 GB Options: crosstab-caching and auto-partitioning enabled; 5 partition passes; 500,000 size limit The following grid shows the model details, as laid out on the Transformer (Windows) interface.

268 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Transportation (7) Date (197) (2) (2)


Transportation 5 categories Year 15 categories

HR code (491,376) (2)


HR Code 1 1471 categories

Country of origin Country of export (286) (2) (286) (2)


Region 10 categories Region 10 categories

Month 180 categor- HR Code 2 19036 ies categories HR Code 3 75916 categories HR Code 4 123856 categories HR Code 5 271095 categories

Country 274 categor- Country 274 categories ies

Gains from Multiprocessing on a Faster Transformer Server


By upgrading to a multi-CPU Transformer server and running multiple instances in parallel, you can significantly decrease cube build time. We recommend that you try the following strategies: Give each Transformer process its own CPU; that is, enable multiprocessing and assign each Transformer instance two dedicated CPUs. Because each instance uses system resources independently, ensure that each one has sufficient memory, I/O bandwidth, and disk space. Provide each Transformer instance with its own configuration files. Do not share the locations of the DataWorkDirectory and ModelWorkDirectory among multiple instances. Add an ampersand (&) to the end of the UNIX command line to begin your first process in background mode: rsserver -mmodel.mdl & When control returns to the command prompt, initiate a second rsserver command in parallel. To continue Transformer on UNIX processing after session log off, type nohup rsserver
-mmodel.mdl

Typical Results
Typical optimization efficiencies were obtained with models similar to the test one. Adding a second CPU to the Windows server reduced data read times for the ASCII version of the model by 25%. For the RDBMS version, data read times were reduced by 50%. Upgrading to a 2.5-times faster dual CPU on Windows improved the build time by 30%. A 50% improvement resulted on upgrading to a faster quad CPU on UNIX.

Step-by-Step Transformer 269

Appendix D: Proven Practices in Model and System Design Upgrading from dual 300 MHz UNIX processors with 1 GB of RAM to 8-750 MHz processors with 16 GB of RAM significantly shortened every phase in the build process. Total cube build time dropped from approximately 5.5 hours to less than 1.5 hours. A follow-up test on a model with 250 million transaction records showed even more dramatic gains. Build time dropped from more than 35 hours to less than 6.5 hours, after upgrading from a dual to a quad CPU, running 3-times faster, with 4-times the RAM.

At some point, hardware upgrades alone may not solve your slow build problems. A comparison test was run on two models using the fastest, most powerful CPUs available. The first had 32 source files with 500 million transaction records. The second had 68 source files with a billion transaction records. The 2.2 GB cube took more than 12 hours to build; the 4.6 GB cube, more than 26 hours, an unacceptably long time in a production environment. If you are experiencing similar problems, we recommend that you consider other optimization techniques.

Gains from Adjusting the Memory Allocation


We recommend that you have a server dedicated to building cubes. The server should have sufficient memory to handle all running application requests, and an operating system disk cache that can grow as large as required during the cube build. Excessive paging occurs if there is not enough physical memory available, and this can severely impact overall cube build times. After you optimize the memory settings for your server to build cubes faster, we recommend that you track virtual and working memory use, to find the bottlenecks as Transformer processes the categories in your largest, slowest cubes. Typically, total addressable (virtual) memory usage climbs rapidly during category generation, and remains relatively constant during all cube build phases (read data, update metadata and update cube). Working memory, or that portion of the physical memory that is used by Transformer, also rises quickly and remains high until the cube update phase, when it is freed for use by the operating system disk cache. In the first phase, the more categories that there are, the more memory that is required. Although models differ, working memory usage is typically 500-1,500 bytes per category. Paging (swap file use) is needed if the space allocated to working memory is insufficient and cannot grow to the amount required to process the model. In a comparison test, the system was first tuned to allow Transformer to use all available system memory (512 MB). This was compared to allowing Transformer only 128 MB of working memory, well below the 200 MB requirement established in the previous test. The build process took nearly 50% longer, slowing down during both the data read and metadata update phases. When page file activity was checked in the 512 MB system, working memory usage dropped at that point where page file usage spiked. In the 128 MB test, working memory usage was only 25-50%, forcing page file usage to remain near capacity through all phases of the build. Excessive paging severely impacted the time taken to build the 128 MB test cube.

270 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Gains from Reconfiguring the Hard Drive


You can achieve additional gains by reconfiguring the hard drive of your build server to optimize I/O processing. We recommend that you allocate at least three physical disk drives to your Transformer system, subdividing the processing as follows: Drive 1: operating system and Transformer executable Drive 2: Transformer DataWorkDirectory Drive 3: Transformer ModelWorkDirectory and CubeSaveDirectory

The log file for this configuration reads as follows, where 1, 2, and 3 represent drives c, d, and e:
LogFileDirectory=c:\transformer\logs ModelSaveDirectory=c:\transformer\models\ DataSourceDirectory=c:\transformer\data\ CubeSaveDirectory=e:\transformer\cubes\ DataWorkDirectory=d:\temp\ ModelWorkDirectory=e:\temp\

You may also want to configure the build server to use striping (RAID level 0) rather than mirroring, assuming that you have a backup for use if the system crashes during a production build. The build time is reduced because data is distributed among nonredundant disk drives.

Gains from Allocating Sufficient Space for the Temporary Files


During the three cube build phases, you need varying amounts of space for the temporary files.

Data Read Phase


Transformer reads the source data into a temporary work file based on the model structure. Insufficient disk space and database connectivity can cause problems.

Metadata Update Phase


Transformer compares the contents of the temporary work file to the categories in the model, to see which ones go into the cube, and creates a copy of the file. The original work file is only deleted after processing is complete and eligible categories are inserted into the cube. Insufficient disk space and lack of memory can cause problems.

Data Update Phase


Before the data points in the temporary work file are inserted into a partitioned cube, the data must be sorted, requiring several passes through the temporary file. The most common issue during this phase is low system memory. You can estimate the amount of space to allocate for the temporary files. If {([(x2*4)+(x3*4)+ (x4*9)+8]*x5)/1024/1024}*2 is greater than 1907, the space calculation is that number plus x6. If the calculated result is less than or equal to 1907, the required space is that number (x6 not added). In our test model, with the input values shown, the calculated space requirement was 7047 MB: x2 = 5; the total number of dimensions Step-by-Step Transformer 271

Appendix D: Proven Practices in Model and System Design x3 = 0; the number of dimension views associated with the PowerCube x4 = 3: the number of regular measures (calculated measures are not counted) x5 = 49000000; the number of input records for all transactional data sources x6 = 1907; the WorkFileMaxSize trnsfrmr.ini setting divided by 1024 * 1024 (MB)

To this number, you must add sufficient space for the PowerCube and the model checkpoint files: 7 GB + 20% for the former, and a number equal to the model working space for the latter. We recommend that you point the Sort directory to the same spot as the Data Temporary file, with all other Transformer directory locations pointing to another drive. You should then use a system performance monitor during the cube build, to check the amount of available disk space.

Gains from Optimizing the Windows Environment


We recommend that you adjust these settings to shorten build times on Windows systems.

WriteCacheSize
Where possible, allow the memory used by the disk cache to expand up to the final size of the PowerCube. You can change this setting using Series 7 Configuration Manager. Under Services PowerPlay Data Services - Cache, incrementally raise the default value (8192 or 8 MB) in increments of 1024 (1 MB), up to 32768 (32 MB) or 65536 (64 MB). Do not exceed 100 MB because this can degrade performance. Note: The WriteCacheSize is set for the Transformer application as a whole. In Series 7, you can use the PowerPlay Enterprise Server Administration tool to set the read cache on a cube-by-cube basis, impacting all Web queries that target that specific cube.

SortMemory
You can raise the amount of physical memory available for sorting data during the consolidation and auto-partitioning process, in 2 KB blocks. The default is 512, which provides 512 x 2 KB or 1 MB of memory. We recommend that you change the setting in Series 7 Configuration Manager, under Services - UDA - General, to 5120 (or 10 MB).

TEMPFILEDIRS
You can change the location of the temporary files that are created whenever sorting is done. We recommend that you specify multiple directories, separating each with semicolons. You change this setting in Series 7 Configuration Manager, under Services - UDA - General.

MaxTransactionNum
You can change the setting that limits the number of records being processed in temporary files before a checkpoint is inserted and records are committed to the PowerCube. Change the default setting (MaxTransactionNum=500000) on the General tab of the Series 7 Transformer Preferences dialog box. For example, if you see the TR0112 error during a cube build, try lowering the MaxTransactionNum so that it commits more frequently. This will free up space. To reduce build times, try increasing the value, perhaps to 800000.

272 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Gains from Optimizing the UNIX Environment


Consider changing the UNIX equivalents to the Windows settings, to shorten build times on UNIX.

PPDS_WRITE_MEMORY
This is similar to WriteCacheSize on Windows, except that the default value for this environment variable is 32768 (32 MB). Doubling the values to 65536 (64 MB) or tripling them to 98304 (96 MB) is recommended to optimize larger systems.

SORTMEMORY
This environment variable is equivalent to SortMemory on Windows.

TEMPFILEDIRS
This variable is equivalent to the Windows setting of the same name.

MaxTransactionNum
This variable is similar to the Windows setting of the same name except that the default can be changed in a trnsfrmr.rc file or set in a Preferences file.

Ulimit
We recommend that you change this environment variable to unlimited. Typically, UNIX systems specify a particular setting, such as 67 MB on a 2 GB server, so that system resources are effectively shared among competing processes. However, Transformer requires as much physical memory as possible for efficient cube builds. You can determine the ulimit assigned to rsserver (the Transformer on UNIX executable) by typing on the command line: ulimit -a The following information appears: time(seconds): unlimited file(blocks): unlimited data(kbytes): 65536 stack(kbytes): 8192 memory(kbytes): unlimited coredump(blocks): 4194303 nofiles(descriptors): 1024 Note: For best results on HP-UX, set the memory (kbytes) option to unlimited. For information about other UNIX platforms, contact the system administrator or operating system documentation to determine how to tune your kernel settings to allocate sufficient memory for Transformer.

Gains from Redistributing Files


The following settings can be globally specified by means of preference files:
ModelWorkDirectory=<path>

Specifies where Transformer creates temporary files while you work on your model. The temporary file can be used to recover a suspended model at strategic checkpoints should a severe Step-by-Step Transformer 273

Appendix D: Proven Practices in Model and System Design error occur during cube creation. This file has the extension .qy? and the default path is the value of the ModelSaveDirectory setting.
DataWorkDirectory=<path1;path2;...>

Specifies where Transformer creates temporary work files while building cubes. By using multiple drives, you can work around size limitations imposed by your operating system. As Transformer builds cubes, it writes temporary files to the specified drives or directories. The files are then concatenated into one logical file, regardless of which drive they are in. The location of these files is determined by the list of paths that you specify. The default path is the value of the CubeSaveDirectory setting.
DataSourceDirectory=<path>

For data source files other than IQD files, this setting specifies where Transformer searches for files. The default path is the current working directory.
CubeSaveDirectory=<path>

Specifies where Transformer saves cubes. The default path is ModelSaveDirectory.


ModelSaveDirectory=<path>

Specifies where Transformer saves models. The default path is the current working directory. You can also specify preference settings on the command line. These settings override or take precedence over all other settings, including environment settings defined in the rsserver.sh file, or the environment variables TMPDIR, TEMP, and TMP as defined by the operating system. If multiple variables are defined, Transformer uses the first one in the list. The Windows command line syntax for specifying global preferences is
trnsfrmr -n -fc:\preferences.prf model.mdl

The equivalent command line syntax for UNIX is


rsserver -F preferences.rc -mmodel.mdl

Gains from Optimizing Gateway Settings


To further shorten the data read phase, you can change the database-specific settings found in the gateway INI files included in the cern Series 7 Transformer installation directory. The file names are cogdm*.ini, where the asterisk represents a specific database version. For example, Oracle uses cogdmor. This file contains the following settings:

Fetch Number of Rows


Increasing the number of rows to fetch in each fetch operation can improve performance on some systems. Although the current limit for this number is 32767, numbers larger than the default (100) may degrade performance on some systems.

Fetch Buffer Size


Increasing the size of buffer used during fetch operations from the default (2048 bytes) can improve performance on some systems. Note that where both entries have been reset, the row setting takes precedence over the buffer size setting.

274 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Analyze Processing Bottlenecks Using the Transformer Log File


We recommend that you examine the Transformer log file if processing bottlenecks occur during cube builds.

Steps
1. Import these delimited-field data files into a spreadsheet, such as Microsoft Excel: LogFileDirectory=f: \logfiles ModelSaveDirectory= \models\ DataSourceDirectory= \data\ CubeSaveDirectory= \cubes\ DataWorkDirectory=F:\datawork\ ModelWorkDirectory= \modelwork\ 2. In the resulting log file import, select the header of the E column and, if you are using Microsoft Excel, from the Data menu, click Filter and select the AutoFilter option. 3. In the list, select either (NonBlanks) or one of the three phases in the process. The spreadsheet now shows only the timing information for your selection. 4. Select several cells in the F column and select the Sum command, to add the timing values for your selected cells, as displayed in the lower toolbar. 5. Repeat, to examine each subphase. These appear in distinct blocks and each completes before the next subphase begins. Data Read INITIALIZING CATEGORIES OPEN DATA SOURCE READ DATA SOURCE MARKING CATEGORIES USED Metadata Update SORTING UPDATE CATEGORY AND PROCESS WORK FILE METADATA Data Update CUBE UPDATE CUBE COMMIT Note: If the timing shown for TOTAL TIME (CREATE CUBE) is different from the timing for the separate phases, you can adjust for the time difference in the Cube Update phase.

Step-by-Step Transformer 275

Appendix D: Proven Practices in Model and System Design 6. Assess how much time is spent on each phase. If you notice that, over time, cube builds are taking longer to complete even though the data set is relatively constant, compare each phase in the log files, to see where increases in build times are occurring.

Keeping Model and Cube Sizes Within Practical Limits


We recommend that you limit the size of your Series 7 models to 2 million categories each. Pay particular attention to bloating due to excessive use of labels, descriptions, short names, category codes, and custom views. Metadata associated with your structural data source dimensions, levels, and categories can contribute significantly to overall storage requirements.

File size
The old 2 GB limit does not apply to Series 7 Version 4 and subsequent releases.

Virtual memory
Models are held in allocated memory limited by available address space.

Physical memory
Performance is severely impacted if a model is larger than the available physical memory.

Performance Improvement Case Studies


Three case studies illustrate how build times can be shortened by using one or more of the available optimization techniques. All timing results were generated using actual production data, in an isolated laboratory, without external influences. No other applications were active.

Recommendation - Uncloak the Primary Drill Category


In this example, the production cube was taking too long to build, primarily due to the large number of transactional input records. When Check Model was run, error TR2757 indicated that one or more cubes used a dimension view with a cloaked primary drill-down path. This meant that autopartitioning could not be enabled. The fix involved uncloaking the drill category, which enabled auto-partitioning.

Model Design
Number of categories: 546,391 Number of dimension:9 (measures not counted as a dimension) Number of measures: 10; four calculated: "Category A" * 100 / "Category B" "Category C" * 100 / "Category B" "Category D" * 100 / "Category B" "Category E" * 100 / "Category B" Source data format: ASCII (',' delimited)

276 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design Number of source files: 23 (13 structural, 10 transactional); multiprocessing enabled Approximate number of input records: 3 million Size of all source files: 1.28GB

Cube Build Times Logged build phase


READ DATA SOURCE METADATA CUBE COMMIT TOTAL TIME (CREATE CUBE)

Build time before the fix Build time after the fix
28 minutes 2 hours, 10 minutes 4 hours, 49 minutes 7 hours, 41 minutes 28 minutes 4 minutes 4 minutes 41 minutes

Recommendation - Enable Multiprocessing


In this example, many cubes had to be built within a specified time frame. The most feasible solution was to enable multiple instances of Transformer to run in parallel. The system was redesigned to have an 8-CPU server build all the cubes at once by enabling multiprocessing. Although individual cube build times proved marginally longer after the fix, the total create time was reduced by 2 hours and 23 minutes, to 12 hours and 2 minutes (the time taken for the model that was slowest to build, C).

Model A Design
Number of categories: 492,152 Number of dimensions: 5 (measures not counted as a dimension) Number of measures: 5; two calculated: ("Category A" - "Category B") / 100 "Category A" - "Category B" Source data format: ASCII ('~' delimited) Number of source files:6 (6 structural, 3 transactional); multiprocessing enabled for 4 largest Approximate number of input records: 50 million Size of all source files: 2.28GB

Model B Design
Number of categories: 146,238 Number of dimensions: 5 (measures not counted as a dimension) Number of measures: 15 Source data format: ASCII ('~' delimited)

Step-by-Step Transformer 277

Appendix D: Proven Practices in Model and System Design Number of source files: 6 (5 structural, 1 transactional); multiprocessing enabled for 5 largest Approximate number of input records: 1 million Size of all source files: 224 MB

Model C Design
Number of categories: 546,391 Number of dimensions: 9 (measures not counted as a dimension) Number of measures: 10 (four calculated) Source data format: ASCII (',' delimited) Number of source files: 23 (13 structural, 10 transactional); multiprocessing enabled for all Approximate number of input records: 9 million Size of all source files: 1.28 GB

Model D Design
Number of categories: 33,145 Number of dimensions: 5 (measures not counted as a dimension) Number of measures: 4 (one calculated) Source data format: ASCII (',' delimited) Number of source files: 14 (11 structural, 4 transactional); multiprocessing enabled for 3 Approximate number of input records: 10 million Size of all source files:569 MB

Cube Build Times Logged build phase


Model A Model B Model C Model D TOTAL TIME (CREATE CUBE)

Build time before the fix Build time after the fix
2 hours, 24 minutes 12 minutes 11 hours, 31 minutes 16 minutes 14 hours, 25 minutes 2 hours, 41 minutes 14 minutes 12 hours, 2 minutes 19 minutes 12 hours, 2 minutes

Recommendation - Use Time-based Partitioning


In this example, the production team ran a test to compare the relative effectiveness of two optimization strategies: time-based partitioning versus incremental cube updates. With the incremental cube update technique, several data updates had to run because auto-partitioning was not performed.

278 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design The overall cube build time was very slow. With time-based partitioning, the cube built much faster because the lengthy data update phase was no longer required.

Model Design
Number of categories: 73,000 Number of dimensions: 6 (measures not counted as a dimension) Number of measures: 28 (eight calculated) Source data format: IQD files Number of source files: 9; multiprocessing enabled for all Approximate number of input records: 2 million for the incremental update test Approximate number of input records: 1.1 million for the time-based partitioned cube test

Cube Build Times Logged build Phase


READ DATA SOURCE METADATA CUBE COMMIT DATA UPDATE TOTAL TIME (CREATE CUBE)

Incremental update
23 minutes 20 minutes 6 minutes 11 hours 12 hours, 5 minutes

Time-based partitioning
7 minutes 22 seconds 5 seconds N/A 14 minutes

Note: The number of data source records differed between the two tests. However, gains were several orders of magnitude, proving that time-based partitioning is by far the better strategy.

Recommendation - Resolve Uniqueness Problems in the Source Before Moving PowerCubes into IBM Cognos 8
To avoid level uniqueness problems, it is your responsibility (as the Transformer modeler) to ensure that no two categories in a level represent identically-named distinct categories, such as cities with the same name in two or more regions. Flagging categories as unique by selecting the appropriate Series 7 Transformer check box does not automatically make them so. You are merely specifying that this property is true for the source data used in your model. If you indicate that the categories in a level are unique when they are not, invalid results will occur, because Transformer cannot reliably associate the non-unique values to the appropriate categories. When the source value is read, Transformer places the value in the first category identified as being associated with that value. Duplicate categories in the level are renamed using the tilde character (~), making them non-numeric. Step-by-Step Transformer 279

Appendix D: Proven Practices in Model and System Design Problems with uniqueness will present additional problems in IBM Cognos 8, especially with drillthrough operations, because Member Unique Names (MUNs) must be mappable to specific categories, to avoid unexpected results. It is possible that your source data might contain columns that populate levels you thought were unique that are in fact not unique. In such cases, a message informs you of the potential problem when you attempt to generate categories, but only if the data source contains all of the columns required for the levels in question. If categories for some levels have values derived from other transactional data sources, uniqueness conflicts may arise but be undetected. Again, if you selected the Series 7 Transformer optimization setting to maximize query speed, the model is not checked for uniqueness conflicts.

Removing Missing Values that Cause Uniqueness Problems


It is possible to declare that a level contains unique source values when it truly does, and still encounter uniqueness problems. This arises when you create an "unbalanced" dimension in which more than one category value in a level is missing. If the source data contains missing values for a measure, Series 7 Transformer writes the value "na"or 0 to the PowerCube. To avoid these values being retained and causing uniqueness problems, we recommend you do one of the following: Clean your source data so records with missing values are excluded, or so missing values are eliminated at the source. Omit the measure from the PowerCube if the measure has missing values that are not required. Allocate the measure values to lower-level categories in the dimension.

For example, suppose you create a Regions dimension that contains the levels Country, State, and City. It is reasonable to assume that the State level is unique. However, if some countries do not have states, the State column for those countries will be blank and non-unique values will be introduced (in the form of missing values). To avoid this kind of uniqueness violation, we recommend that you create a subdimension for that portion of the dimension that does contain State values, and designate that State level as unique. You can then omit the portion of the dimension with the missing States.

Resolving Uniqueness Problems in the Source


If you are using Impromptu IQD files as your data source, you can use Impromptu to make the categories unique. To do so, use Impromptu to create calculated columns that combine the original non-unique source values with a qualifying code or identifier. You can use the resulting unique column to provide unique category values to Transformer. If you are using a data source other than IQD, you must use your IBM Cognos or third-party query tool to render the level values unique, or you must refine the source data so that it does provide unique values. Then make sure that the appropriate settings are specified in the appropriate property sheets of your Series 7 Transformer model, so data is correctly mapped into IBM Cognos 8.

280 IBM Cognos Series 7 PowerPlay Transformer

Appendix D: Proven Practices in Model and System Design

Retaining the Uniqueness Designation when Categories are Moved


You can prevent model errors due to changes in your data source by designating a unique level. This tells Transformer that categories in that level are identified by their source values alone, without reference to their ancestors. However, when you move a category from a unique level, a uniqueness violation is reported during category generation because the moved category now appears in a different context. To avoid having to manually restructure the categories in a unique level to conform to the changed ancestor data, you can specify that such changes be treated as unique moves. Measure values, even those accumulated under the old structure, are thereafter rolled up the new path to the moved categories. Unless you make special adjustments in your model (such as implementing calculated columns to demarcate the move date), historical values move to the new path, and are no longer associated with the old one. Note: In certain circumstances, Unique Move is not supported in time-based partitioned cubes.

Preventing New (Non-unique) Categories from Being Added


Whenever you generate categories for a model, Transformer detects new categories as it reads data values from the sources in the Data Sources list. When this happens, new categories are typically added to the model. If this is undesirable in your current situation, you can prevent Series 7 Transformer (Windows) from adding new categories to a dimension by selecting the Prohibit Automatic Creation of New Categories check box on the property sheet for the applicable dimension. From the command line, you can use the -o option.

Step-by-Step Transformer 281

Appendix D: Proven Practices in Model and System Design

282 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting


This section describes how to work around various problems you may encounter when working with products in the IBM Cognos Business Intelligence group: "With the IBM Cognos 8 Web Studios" (p. 283) "With Transformer on Windows" (p. 285) "With Transformer on UNIX" (p. 299) "With PowerPlay Client Applications" (p. 300)

With the IBM Cognos 8 Web Studios


Choosing Only One Language When Installing IBM Cognos 8 OLAP Modeling and Mobile Analysis
The IBM Cognos 8 BI OLAP Modeling and Mobile Analysis packages are delivered on multiple CDs. Each CD is organized into two or more top-level language folders such as English, French, and Japanese. When installing these products, you must install them from one of the available language folders. The language that you choose becomes the language of the user interface of the product. However, the product can process data in any of the supported languages.

Providing Stricter Access Controls for PowerCubes Used in IBM Cognos 8


When a Series 7 namespace is used to secure PowerCube content, access to information is controlled by means of user class views embedded in the PowerCube model. After deployment to IBM Cognos 8, these PowerCube files reside in the target directory (deployed environment), with no additional controls on user access. To provide enhanced data security, we recommend that file system permissions be applied to the directory containing the deployed PowerCubes. For example, grant Read access for the directory to the domain account used to start the IBM Cognos 8 service. Grant Read/Write access for the directory to any user accounts that are permitted to add or remove cubes found in the directory.

Not Yet Optimized IBM Cognos PowerCubes May Open Slowly in IBM Cognos 8
If your PowerCubes take too long to open in the IBM Cognos 8 Web studios, we recommend that you run a command line utility named pcoptimizer, supplied with IBM Cognos 8, to improve runtime performance. This optimization utility is suitable for older PowerCubes when the model no longer exists or the data used to build the PowerCube is no longer available. In Transformer Version 7.3 Maintenance Release 2 and subsequent releases, you have the option of making this optimization an automatic part of the build process, by adding an entry to your Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

283

Appendix E: General Troubleshooting trnsfrmr.ini file or by creating the required environment variable on UNIX. If you use this method, the optimization process also enables drill-through access on all PowerCube measures by default. There is an expected, but slight, increase in PowerCube size and build times. However, in most production environments, runtime PowerCube performance improves significantly.

Steps to Use the Command Line Utility (IBM Cognos 8)


1. Back up your target PowerCube as a precaution, and then navigate to the IBM_Cognos_8_ installation_location/bin directory. 2. On Windows, open a command line window and run PCOptimizer.exe. 3. On UNIX, enter the following line to run the optimization command line utility:
pcoptimizer [-t] [-v] [-h] <cubename>

where <cubename> is the fully qualified PowerCube or time-based partitioned control cube name with the .mdc extension, if the PowerCube resides in the same location as pcoptimizer. Otherwise, <cubename> is the full path with the .mdc extension. Note: This method only supports metadata extraction. To set up user-configurable drill-through, you must use Transformer and specify automatic optimization. Wildcard character support is not currently available. You must therefore invoke the utility once per PowerCube. If <cubename> is not provided, the program enters an interactive mode, prompting you for a PowerCube name and accepting keyboard input. The optional parameters are as follows:
-t or test mode; it tests whether the extra metadata was extracted and loaded into the Power-

Cube. The return code indicates the status.


0 if the metadata was extracted and loaded 10 if the metadata was not loaded 20 if an error occurred while accessing the PowerCube

-v or verbose mode; readable text is output to standard output (stdout), indicating what was

done, including any error messages. If running in interactive mode, -v is assumed. All text is output in English only.
-h for command-line help; if <cubename> is not provided, it prints the usage and options to

the screen.

Steps to Configure Automatic Optimization (Transformer Version 7.3)


1. On Windows, to enable automatic optimization for all PowerCube builds, locate the trnsfrmr.ini file in the installation_location\cern\bin directory, open it in any text editor, and add the following entry:
EnablePCOptimizer=1

Optimization is now turned ON for all PowerCube builds. 2. On the Windows command line, to optimize a specific PowerCube build, type the following:
trnsfrmr -DEnablePCOptimizer=1 -cm <model_path_and_filename>

284 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting 3. On UNIX, to enable optimization for all PowerCube builds during the current session, use the -D flag or define the environment variable EnablePCOptimizer in the trnsfrmr.rc file(s). Tip: To disable the feature, change the value of your optimization setting to zero or remove the definition. 4. After your PowerCubes build, you can open the relevant log files and confirm that the following entries appear:
Start updating of 'cube_name' with optimized metadata. . . . End updating of 'cube_name' with optimized metadata.

This indicates successful extraction of the metadata needed to optimize the opening of each PowerCube in IBM Cognos 8. Note: There is no harm in optimizing a PowerCube that has already been optimized.

With Transformer on Windows


Personal Transformer and the Mobile Analysis package of IBM Cognos 8 do not support the full range of features carried by Series 7 Transformer. For more information, see the "Features and Editions" topic in the Welcome chapter.

Preventing Errors When Model Calculations Use Double Quotation Marks


If you try to open an .mdl-format model containing calculations that include double quotation marks, as might be used to create concatenated categories, you may get an error, even if you followed the recommended practice of wrapping these calculations in single quotation marks. This is because .mdl-format models do not support the use of single and double quotation marks together, if the ObjectIDOutput flag is set to True, which is the default model creation setting. To avoid this problem, you have two choices: You can open the INI file for the Transformer executable in any text editor, search for the line ObjectIDOutput=1 and change the setting to 0, and then resave your problem model. If you must output object IDs, you can use your RDBMS or a tool such as IBM Cognos Impromptu to perform the required calculations, and then import the data into your model.

Whichever strategy you choose, you can then open the .mdl or py?-format model without error.

Empty Results When Querying a Microsoft Access Database


If a Microsoft Access query returns an empty result set, check the syntax of your "Where" filters and "Like" expressions. In Transformer Version 7.3 and subsequent releases, ActiveX Data Object (ADO) replaced the Data Access Object (DAO) layer. The ADO SQL syntax requires the use of a different wildcard character: the percent sign (%), rather than an asterisk (*). We recommend that you correct the syntax before running queries in Transformer. If you use the Microsoft Access syntax at design time, you can continue to preview the results inside your Access database.

Step-by-Step Transformer 285

Appendix E: General Troubleshooting

Access Time Increases with Incremental Updates


When you incrementally update a partitioned model, any new categories that are added from data increments automatically get added to the partitions for their partition parents. As a result, cube access time from PowerPlay may degrade as the cube grows. In addition, the model file can become fragmented. To remedy this, you should periodically rebuild your incrementally updated cubes from scratch (using all data from all increments), at which time you can repartition the model. This allows you to integrate new categories into your partitioning scheme.

Add New Partition Levels to Existing PowerCubes


If you are not using the incremental update feature to add data to your PowerCubes in increments, you can add new partition levels and add new categories to existing partition levels at any time. You cannot add new partition levels to a model used to create an existing incremental update PowerCube. To change partitioning for the model, you must repartition the model and rebuild your PowerCube from scratch, using all the data from all increments.

Retain Sort Order in Time-Based Partitioned Cubes


Transformer has recently been enhanced to better handle the sorting of merged categories in timebased partitioned cubes. It now supports minor changes to the categories in a cube, from one update to the next, with or without a Unique Move. In most such cases, the sort order of the categories appears as expected when the child member cubes are viewed. During updates and merges of time-based partitioned cubes, a few assumptions and constraints must be kept in mind: The changes to categories must be relatively slow and orderly. There must be no significant changes to the category metadata in the overall model. An understanding of parent-child and sibling relationships must be available so that Transformer can use that to help build the member cubes. Under certain circumstances, a unique move may affect the sorting or ordering of categories, in unexpected ways. For allocation to work properly, you must select the Always Include option for the affected categories.

Allocations Aren't Working Correctly


Allocation is useful for measures that are not recorded at all levels in a dimension. For levels below which measure values exist, you can allocate values from ancestor levels where the measure was recorded. There are several possibilities for measure allocation: 1. The measure was not recorded at any level in the dimension. It was recorded at some level in another dimension. In this case, Transformer assumes that the measure is independent of the

286 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting dimension, and allocates the values for that measure down the categories in the dimension as a constant. In the PowerPlay clients, the values for the measure do not change from level to level as the user drills up and down through the dimension hierarchy. 2. The measure was recorded at a summary level in a dimension (for example, budgets are made often only at the Quarter level in a date dimension). In this case, Transformer does not allocate the values down to lower levels from the level at which the measure is recorded. For categories below the level at which the measure is recorded, only zeros are displayed in the PowerPlay clients. 3. The measure was recorded at the lowest level in a dimension. In this case, the measure is not allocated in the dimension. However, it may be allocated in other dimensions (see case 1, above). In cases 1 and 2 above, you can change the way in which measure values are allocated. In particular, if your source data contains measure columns in some way proportionally related to the measure, you can allocate proportionally based on those other measures. Things to check if your allocations are not working as expected: The column properties for date values associated with the measure. For example, if sales forecasts are made on a quarterly basis, ensure that the Degree of Detail for the date column in the data source containing the sales forecast measure is set to Quarter. This ensures the measures are recorded at the Quarter level in the model. You can then use other measures (such as last year's actual sales) to allocate the quarterly forecasts to the month level. Ensure that you are not trying to allocate a calculated measure. Transformer will not allocate calculated measures. However, you can use a calculated measure to allocate other measures proportionally. Check that the measure is not referencing itself in some way in the allocation scheme. You cannot allocate a measure by itself, or by a calculated measure that references the measure you are trying to allocate. In dimensions with alternate drill down paths, do not attempt to allocate in any but the primary drill down path. Transformer does not support allocation in alternate drill-down paths.

Alternate Drill-downs and Level Uniqueness


When you create an alternate drill-down, it is essential that alternate drill-down paths converge at a level containing unique categories. The concept of unique categories in a level is not the same as a unique key in a relational database.

Alternate Drill-downs and Partitioning


When you partition your model, avoid partitioning on dimensions that contain alternate drill-down paths. When you specify partition level numbers in a dimension, Transformer creates partitions for the descendant categories. If you assign partition level numbers to categories in the primary drilldown path of a dimension, then drill-down performance on the categories in the alternate drilldown path may be poor. This is because the categories required for a summary value in the alternate drill-down path will have to be read from multiple partitions.

Step-by-Step Transformer 287

Appendix E: General Troubleshooting

Can't Join the Source Data Files in My Data Sources List


Transformer's focus is on associating data sources and values in their columns with the levels and measures you define in your multidimensional model. Transformer processes each data source independently, defining categories and/or generating measure values for PowerCubes. For this reason, Transformer does not perform database-style joins between columns in your source data files. If you require joins between database tables, use a query tool (such as Impromptu) to create the joins prior to adding data sources to the model.

Category Generation Is Too Slow


The amount of time Transformer takes to generate categories depends on several factors: the location from which Transformer is reading source data records. If you are accessing data on a LAN or from a relational database, ensure the network and/or database load is not high when you are building large models. the number of categories in the model. For very large models with tens of thousands of categories, ensure the PC or server on which you are generating the categories has sufficient memory. You can also adjust the amount of memory available to Transformer when building PowerCubes.

Dimension Contains Orphans Of Categories


In this case, Transformer has encountered a condition in which a transactional data source contains orphaned data records. For example, suppose you use a Customers data source to populate your Customers dimension and an Orders data source to provide measure values for your sales transactions. You might encounter the condition in which a sale exists (in the Orders data source) for a customer for whom no data record exists in the Customers data source. Transformer will include customer information from the Orders data source, and fill in any blank levels in the Customers dimension with "Orphans Of" categories. To solve this problem, ensure that all references from data sources are to categories that have been defined in the model.

Dimension Contains Unbalanced Hierarchy of Categories


See Errors: "Message TR2704" (p. 352).

Incremental Update Failed for One or More PowerCubes


When you add data to PowerCubes in increments, Transformer maintains internal synchronization indicators between the model and the PowerCube. Transformer does this to prevent a PowerCube from being inadvertently updated with incorrect data. There are three possible scenarios when you incrementally update a PowerCube: 1. Transformer issues a warning that it detected an invalid ID stamp on the PowerCube, and you cancel the update.

288 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting 2. Transformer issues a warning that it detected an invalid ID stamp on the PowerCube, and you do not cancel the update. 3. The incremental update completely fails for some reason. For example, the MDC file may have been locked when the update was attempted.

What to do for Case 1


Transformer sets the PowerCube status to invalid because the cube does not match what the model expects. In this case, you use the Adopt feature to associate the model with the current PowerCube if you know it is the correct one for the model. Alternatively, you can replace the cube (.mdc) file with the correct one, or with one you restore from backup, and then use the Adopt feature to associate that cube with the model.

What to do for Case 2


Check the PowerCube carefully for potential problems. Because the model detected a synchronization issue, it is possible you have incrementally updated the wrong version of the cube. This can mean that you have added the wrong data to the wrong cube, or that you have added data to a cube twice or more. If you detect this case, restore both the model and the associated PowerCube from backup and repeat the update. Note: When you back up an incrementally updated PowerCube, ensure that you make a backup copy of the model as it was when that increment was processed. Restoring an old PowerCube with a model that has processed more recent increments will lead to further synchronization errors.

What to do for Case 3


You must restore both the model and its associated PowerCube from backup and repeat the update. Transformer will not allow you to update an incrementally updated PowerCube with a Failed status.

Invalid Dates Generated in the Time Dimension


In the column for the date dimension, Transformer has encountered data values that it does not recognize as valid date values. Possible occasions when this can occur are: your source data contains invalid date values (like 19963528) you haven't identified the date format of the date column correctly. See "Define the Date Input Format" (p. 76).

Level Uniqueness Problems


You have encountered a problem relating to level uniqueness. This can occur when: you disable some of Transformer's error checking options so that it no longer verifies unique levels don't contain non-unique categories. you use multiple data sources in a model and you don't define levels associated with columns from multiple data sources as unique. you create an alternate drill-down structure that requires a unique converging level, and Transformer asks you to verify the uniqueness property before proceeding. Step-by-Step Transformer 289

Appendix E: General Troubleshooting you specify that a level is unique and Transformer detects that it is not.

When Transformer encounters one of these conditions, it issues one of the following messages: TR1503: Choosing 'Maximize Query Speed' option will increase processing speed significantly in some cases but Transformer will no longer detect multiple instances of source values in levels marked as Unique. TR2312: You made level <level_name> into a convergence level that connects two or more alternate drill-down paths. Categories in convergence level must have unique source values. Can there be two categories in this level with the same source value? TR2313: You are creating a level as a convergence level that connects two or more alternate drill-down paths. Categories in convergence levels must have unique source values. Is this level unique by this definition? TR2314: This is not an unique level. This text contains proprietary information which is protected by copyright. All rights are reserved. No part of this document may be photocopied, reproduced, or translated into another language without the prior written consent of IBM (formerly Cognos Incorporated). TR2317: The level <level_name> is designated as unique. Source value <value> was used in an attempt to create a category in the path <path2>. <value> already exists in level <level_name> in the path <path1>. TR2318: Transformer has detected <n> attempts to create a category in more than one path. Refer to the online help for a detailed explanation of level uniqueness. TR2319: A convergence level in an alternate drill-down path must be unique.

What Uniqueness Means


The concept of uniqueness used with dimension levels in Transformer is not the same as the concept of uniqueness used in relational databases. A column that is a unique key in a database table does not necessarily provide unique category values for a level in a Transformer model. Level uniqueness in Transformer means that the level contains no more than one instance of each category source value. In practical terms, this mean no two categories in the level can represent identically-named distinct categories, such as cities with the same name in two or more regions. For example, in a Regions dimension with levels Country, State, and City, there may be cities named Burlington in both Massachusetts and Vermont. If so, the City level is not unique. a "unique" real-world entity that occurs in different contexts, as in a single customer who transacts business in several different cities. For example, in a Customers dimension with levels Country, State, City, and Customer, a customer named Acme Metals may transact business in Chicago, Philadelphia, and Orlando. If so, a category named "Acme Metals" will exist under each of these cities. As a result, the Customer level is not unique.

In order to join alternate drill-down paths, the category values in the convergence level must be unique. Transformer is asking you to verify that is true for the convergence level that you are creating.

290 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting Flagging categories as unique by selecting the appropriate check box in Transformer does not automatically make them so. You are merely specifying that this property is true for the source data used in your model. If you indicate that the categories in a level are unique when they are not, invalid results will occur, because Transformer cannot reliably associate the non-unique values to the appropriate (convergencelevel) categories. When the source value is read, Transformer places the value in the first category associated with that value. Duplicate categories in the level are renamed using the tilde character (~), making them non-numeric. It is possible that your source data might contain columns that populate levels you thought were unique that are in fact not unique. In such cases, a message informs you of the potential problem when you attempt to generate categories, but only if the data source contains all of the columns required for the levels in question. If categories for some levels have values that are derived from other transactional data sources, uniqueness conflicts may arise but be undetected. If you change the optimization setting for the data source to Maximize Query Speed, the model is not checked for uniqueness conflicts. (A message warns you that checking is disabled.)

Uniqueness and Missing Values


It is possible to declare that a level contains unique source values when it truly does, and still encounter uniqueness problems. This arises when you create an "unbalanced" dimension in which more than one category value in a level is missing. For example, suppose you create a Regions dimension that contains the levels Country, State, and City. It is reasonable to assume that the State level is unique. However, if some countries do not have states, the State column for those countries will be blank and non-unique values will be introduced (in the form of missing values). To avoid this kind of uniqueness violation, we recommend that you create a subdimension for that portion of the dimension that does contain State values, and designate that State level as unique. You can then omit the portion of the dimension with the missing States.

Resolving Uniqueness Problems in the Source


If you are using Impromptu IQD files as your data source, you can use Impromptu to make the categories unique. To do so, use Impromptu to create calculated columns that combine the original non-unique source values with a qualifying code or identifier. You can use the resulting unique column to provide unique category values to Transformer. If you are using a data source other than IQD, you must use your IBM Cognos or third-party query tool to render the level values unique, or you must refine the source data so that it does provide unique values.

Measures Have No Values in Some Dimensions


There are two possible reasons for missing values in the PowerPlay clients: the source data contains missing values for the measure, in which case Transformer writes the value 0 or the value "na" to the PowerCube.

Step-by-Step Transformer 291

Appendix E: General Troubleshooting the measure in question applies to only a portion of a dimension, in which case Transformer may not allocate the measure to lower levels.

To remedy the problem, you can: clean your source data so records with missing values are excluded, or so missing values are eliminated. omit the measure from the PowerCube if there are many missing values, and if the measure is not required. allocate the measure values to dimensions, or to lower levels and categories within a dimension.

Relative Time Calculations Aren't Evaluated Correctly


This can arise if you set up relative time categories but don't tell Transformer to include all date categories. In order to calculate relative time periods correctly: All date categories must be included in the date dimension, even categories for which no source transaction records exist. For each level in the date dimension, check that the Generate All Categories in the Period check box on the Time tab (Level property sheet) is selected. Running Generate Date Categories from the Run menu, in order to regenerate any missing date categories. The current period must be set correctly, and by the appropriate data source. For each data source, check whether or not the Sets the Current Period check box on the General tab (Data Source property sheet) is selected or cleared. Alternatively, set the current period manually. Date values in the levels in your date dimension must be sorted in ascending order. For each level in the date dimension, ensure that the categories in the level are sorted in ascending order based on the column used to populate the date dimension (use the Order By tab of the Level property sheet). If you are expecting the calendar day to set the period of comparison, for example, if you want YTD to contain all data up to 11/25/2002 and the prior YTD category to be based on the same calendar day, then you must ensure that you have specified "day" as the lowest degree of detail within the time tab of the column properties in the data sources.

Source Data Doesn't Match the Data Source in the Model


Whenever your source data changes (for instance, if you add new columns, or you delete or rename existing columns) you can use the Modify Columns command to synchronize the model columns with the new columns in your source data file.

Allocation Tab Is Disabled for All Objects in a Model


The Allocation tab is not enabled unless your data sources are defined so that not all measures apply to all portions of the dimension map. Allocation is possible only when your model uses multiple data sources, and the measure values from one or more of these data sources have meaning in some portion of the dimension map only when Transformer allocates them.

292 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting

Inconsistent Numeric Output After Migrating Models Created Using Native dBase Data Sources
When you open a model that was created in an earlier version of Transformer and that model uses native dBase as the data source, unexpected numeric values may appear. This known migration issue relates to the fact that, beginning in Transformer Version 7.4, dBase data sources must be accessed through ODBC.

Steps to Avoid the Problem of Incorrect, Invalid, or Truncated Numeric Data


1. Review all columns in your native dBase models to identify which ones use numeric data types. 2. On the property sheet for each column that you identify, change the scale and decimal properties as required to generate the correct output. 3. Save the model and confirm that the numeric data appears correctly in Transformer Version 7.4. Tip: You can instead manually edit the older MDL file. For example, change the column definition from Storage Default Scale 2 Size 12 Decimals 2 to read Storage Float64 Scale 0
Size 8 Decimals 0.

Transformer Seems to Ignore a Measure's Decimal Values


For datatypes other than Float, Transformer reads numbers based on the Input Scale defined for them in the Column property sheet. If the Input Scale is set to 0 (the default), then Transformer uses only the integer portions of column values. For example, if a source column contains values such as 10.234 and 14.253, Transformer will by default read the values 10 and 14. To include the decimal portion of an input value, you must scale the source values. You can do this by specifying an Input Scale for the column associated with the measure on the General tab (Column property sheet). For example, to scale input values like 10.234 and 14.253, specify an Input Scale of 3. This causes Transformer to multiply the input values by 10 to the power of 3, yielding integer values 10234 and 14253 that Transformer uses in the model. To reverse the effect of the Input Scale so values are processed and displayed correctly, you can specify both an Output Scale and Decimal Places for the measure. Using the previous example, you could specify an Output Scale of 3, which causes Transformer to divide the integer values 10234 and 14253 by 10 raised to the power of 3, yielding 10.234 and 14.253, or a Decimal setting of 3, causing PowerPlay to display three decimal places.

The following table illustrates combinations of various Input Scale, Output Scale, and Decimal settings for source data values, and the resulting display in PowerPlay. Note: The storage type of the measures is 32 bit, but you can change this to 64-bit floating point if you need to support a greater degree of precision. The overflow limit for this storage type is 18 significant digits, excluding the decimal separator. If your measure values have more significant digits after the decimal place than is specified in the precision attribute of the model, the number is truncated and the last bit rounds up, rather than down.

Step-by-Step Transformer 293

Appendix E: General Troubleshooting Tip: In situations where your source database supports a greater degree of precision, you can avoid overflow errors in Transformer by multiplying your measures by 1. This calculation forces Transformer to apply the more restrictive limits associated with the 64-bit floating point storage type, and to handle overflow errors in the expected manner.

Input Value
10.234 10.234 10.234 10.238 100599 100599 0.7529

Input Scale
3 3 3 3 -3 -3 4

Output Scale
3 3 3 3 3 3 2

Decimals
3 5 2 2 3 1 2

What's displayed
10.234 10.23400 10.23 10.24 0.100 0.1 75.29

Oracle Database Schema Definition Modifies Numeric Category Labels


If your data source is an Oracle database, when you create category labels in Transformer based on a numeric field, the numeric values will be scaled by two. For example, if your data source values are 100, 100.23, and .14, when this column is used in the dimension as the label and categories are generated, the category labels appear as 10000, 10023 and 14. This is because Transformer creates category labels based on the database schema definition, and the data source input scale cannot be overwritten by modifying the columns. As a result, all measures defined in the cube will reflect the data source column input scale.

Unknown Signon Appears in Signons List with .iqd File


When you use an Impromptu Query Definition as a data source, Transformer uses information within the IQD file to create a new Signon object within the model. The new Signon object is assigned the logical database name that exists in the IQD file. For example, if you use an .IQD file that looks like this:
COGNOS QUERY STRUCTURE,1,1 DATABASE,OUTDOORS DATASOURCENAME,C:\COGNOS\IMP30\WORKSPCE\PRODS.IMR TITLE,PRODS.IMR BEGIN SQL select T1."PROD_LINE" as c1, T1."PROD_TYPE" as c2, T1."PROD_NO" as c3,

294 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting


T1."COMMENTS" as c4 END SQL COLUMN,0,Product Line COLUMN,1,Product Type COLUMN,2,Product No. COLUMN,3,Product Note

Then Transformer adds a signon object named OUTDOORS to the Signons list. You can use this signon to access the database automatically using the .IQD file if all of the following conditions are met: you create a database object (in Series 7 Access Manager) with the same name as the Signon in the currently configured authentication file you add a database signon for the database you associate that database signon with an Auto-access entry for a user that is currently assigned to a user class, and you use the Authentication tab (Model Properties dialog box) to include Access Manager's auto-accesses information.

If you are not using Access Manager and you want to embed the database user ID and password (in an encrypted form) in the model, open the Signon property sheet for the new signon.

User Class Security Isn't Working


After you have set up security by user class, you must associate the appropriate user classes to the cube that you want to secure. To do this, perform the following steps: 1. Drag the appropriate user classes from the User Class list to the appropriate cube in the PowerCubes list. 2. Rebuild or update the cubes to which you have added user classes. When you enable security by user class for a model, the unique internal identification numbers for user classes in the active authentication file become embedded in the model. If you then define user class views in Transformer, these views are based in the user classes associated with the unique user class identification numbers. You will lose any user class views you have established if either of the following conditions are met: You replace the local authentication export (.lae) file or namespace with a new one, even though the new file is structurally identical to the original. You change the Access Manager Configuration (Authentication tab, Model Properties dialog box) to point to a new authentication file.

As a result, you will have to reconfigure all the user class security you have defined in the model. When making changes to user classes, make the changes to the original Authentication Configuration, and then use the Update Access Manager Information command (Tools menu) to have Transformer update its internal user class definitions based on the latest contents of the authentication source. Step-by-Step Transformer 295

Appendix E: General Troubleshooting For example, suppose you are currently configured to use the authenticator file MYUSERS.AUT, and you have set up several user classes within this document. If you then enable user classes within Transformer and set up user class views, you cannot replace MYUSERS.AUT with another authentication source (even one with the same name) and expect your existing security to work.

When or Why Should I Use Multiple Data Sources?


There are two reasons for using multiple data sources: Performance. For high data volumes, you can read values for low-level categories from a data source that contains only values for these lower levels and any associated measure values. By doing so, Transformer directly associates column values with low-level categories in the model. As a result, Transformer does not have to read and drill down through higher-level categories that provide the structure for the model when creating PowerCubes. Note: In order to associate column values directly with a level (without requiring that the columns for ancestor levels be in the same data source), the level must be unique. Setting up measure domains and measure allocation. Measures with different domains require different data sources. Since measures no longer have to apply to the entire dimension map, you can use measures in new ways.

How to Design Your Data Sources


When setting up multiple data sources, it is advisable to create one data source for each dimension, and then set up one or more data sources to provide measures for those dimensions. In this way, you separate the data sources that provide the model structure (during category generation) from the bulk of the data used to provide values for the model's measures (during PowerCube creation). For example, consider the following hypothetical dimension map that contains 3 dimensions. If you use multiple data sources, consider creating the following data sources: a single structural data source for each of Dimension1, Dimension2, and Dimension3 Note: Simple dimensions, and most date dimensions, do not require their own data sources. one or more data sources with measure values referencing leaf levels (or some summary level) in each dimension

The relation of the data sources to the dimension map is shown in the following diagram:

Each structural data source provides category values for the levels in a single dimension. Each data source provides category values for the lower levels (not necessarily the leaves) in each dimension, plus the model measures.

296 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting Structural data sources do not have to provide level columns down to the lowest level in the dimension. In the preceding example, it would be possible for Data Source 3 to include columns only down to level 3.3. In such a case, the data sources themselves can provide category values for levels 3.3, 3.4, and 3.5.

ObjectStore VirtualAlloc Failure Prevents Startup of Transformer


If there is insufficient storage space for the ObjectStore, you will see the following error message when you try to start Series 7 Transformer on Windows XP SP1 or Windows 2003: ObjectStore internal error. VirtualAlloc failed to allocate at any address - not enough storage is available to process this command (8) The problem does not seem to arise with Impromptu Web Reports, although it also uses ObjectStore. If you experience the problem, we recommend that you do the following: 1. From the Control panel, click System and, on the Advanced tab, click Environment Variables. 2. Ensure that OS_AS_START is not defined among the environment variables. That allows the system to determine an optimal PSR (Persistent Storage Region) for the client address space. The default range is from 0x30000000 to 0x38000000. 3. If there is not already a system environment variable called OS_AS_SIZE, create one. 4. Test various settings for the OS_AS_SIZE environment variable, as the required setting depends on the amount of memory on your computer, your operating system, and your components. With Transformer 7.3 or 7.4 on Windows XP SP1 or Windows 2003, try setting the value at 0x08000000 (128 MB).

Note: To translate the hexadecimal value into its equivalent in megabytes, cut 5 trailing zeroes to divide by 0x100000 (which represents a megabyte). The result is the number of megabytes in hexadecimal notation. For example, 0x20000000 divided by 0x100000 equals 0x200, which in decimal notation represents (2x16x16) =512 MB. 5. Lower the value of the OS_AS_SIZE environment variable in small increments, rebooting your computer and re-applying your new configuration after each test. 6. Repeat as necessary, until the problem no longer arises.

Allocation Appears Incorrect in Time-based Partitioned Cubes if a Cube is Updated with Data from Another Period
After you update an individual or member cube with data from another period, the allocated measures may appear incorrect because Transformer allocates measures at the lower levels of a dimension and then rolls them up. By design, measures are not separately allocated at each level.

Step-by-Step Transformer 297

Appendix E: General Troubleshooting

Unable to Import IBM Cognos 8 Data that Contains TEXTBLOB, CLOB, or BLOB Data Types
Transformer cannot import an IQD data source from Framework Manager if it contains TEXTBLOB, CLOB, or BLOB data types. Before externalizing IQD columns or query subjects from Framework Manager, ensure that they do not contain these data types.

Insufficient Cache Space for Proper Cube Processing


In some cases, the default cache size may not be sufficient to support cube processing in your particular Transformer environment. If you suspect that Transformer is running out of space, you can recalculate your cache size requirements and adjust the default setting accordingly. The amount of space needed for the disk cache depends on the number of records in your source data, the number of categories in your model, the operating system you are running, and the amount of RAM in your computer. However, you can use the following formula as a guideline for determining the size of your disk cache:
Disk Cache = APM - (Model + CGen) - C

where APM is the available physical memory on the computer; Model is the size of the .py? file; CGen is the amount of memory allocated to cube generation using WriteCacheSize (an .ini file setting); and C is the amount of memory used by the operating system, executables, and so on. All measurements are in megabytes. The model occupies physical memory at different stages during cube creation. These stages include source data processing and metadata updating. During the data update stage, the virtual memory manager pages the model out of memory and should have a minimal effect on the size of the disk cache. Adjusting the cache sizes may significantly alter performance in Transformer, the Series 7 PowerPlay clients, or the IBM Cognos 8 Web studios. If the results are not satisfactory, restore all settings to their default values. In Series 7, these are controlled by changing the values of a Transformer .ini file setting (Windows) read/write memory settings in server Transformer (UNIX) cube-specific READ_CACHE settings in PowerPlay Enterprise Server (Administration tool) write_cache, read_cache, and object_cache settings controlled by Configuration Manager

In IBM Cognos 8, the server-wide READ_CACHE default applies. For more information, see your operating system documentation.

Unable to Connect to the Database


When you try to execute reports or queries immediately after installing and setting up a connection to DB2, Sybase Adaptive Server Enterprise, or Teradata, you may receive an error message that there is a problem connecting to the database or executing the report. You must reboot your system to solve this problem.

298 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting

With Transformer on UNIX


Transformer for UNIX (that is, the rsserver executable) does not support the full range of features carried by Series 7 Transformer (Windows), including client-server mode. For more information, see the "Features and Editions" topic in the Welcome chapter.

Client-Server Connection Is Not Working


Transformer communicates with Transformer on UNIX via the PowerGrid network daemon (netd) on the server. When sending information to and receiving information from PowerGrid, it is possible to encounter communication problems. There are several things you can verify to ensure that Transformer can communicate with netd on the server, and that netd can start the rsserver program. Check that there is an active netd process running on the server. For example, you might enter a UNIX command like ps -ef | grep netd | grep cognos Note: The ps command varies from one UNIX system to another. Use the equivalent for your system. Check that the service port number defined for the PowerGrid network daemon on the server matches the one you have used in your connection definition. The environment variable on the server is NPNETD, and it is set to a value like ISnnnn. The four-digit nnnn value must match the setting on your PC. Check that the following environment variables are set, to have your UNIX server continue processing, even if your Transformer (client) users have closed their PowerGrid session:
ServerWaitPeriods=0 (the default is 30 seconds) ServerAnimateTimeOut=1 (the default is 3 seconds)

Can't Create a Model Using Transformer on UNIX


If you are unable to create a model on the server using Transformer on UNIX, check that You can run rsserver from the command line on the server. A connection exists and is working between Transformer on Windows and Transformer on UNIX. Transformer on UNIX is configured to create models and PowerCubes in locations to which you have write access. The Connect.ini file (derived from Cognos.ini) contains the following entry: [Service - Transformer Server] NETWORK=rsserver.sh This entry is used to locate a server shell script that PowerGrid uses to launch Transformer on UNIX. Ensure your server account can locate and execute this file.

Step-by-Step Transformer 299

Appendix E: General Troubleshooting

With PowerPlay Client Applications


The following notes pertain to Series 7 operations. For information about using Transformer PowerCubes in IBM Cognos 8, see the Framework Manager and Analysis Studio documentation.

Production Reports No Longer Work


Certain changes you make to a Transformer model will affect, and possibly disable, production reports derived from PowerCubes based on that model. The following changes will require you to recreate production reports using a new version of the cube (.mdc) file: If you add or remove a dimension from the model, any production reports based on that model's PowerCubes will no longer function. You will have to recreate the reports using the revised cube. If you remove or rename categories used in a production report, then values for those categories will be displayed as the value "error" in PowerPlay. You must manually add any new categories to the report. If you replace the Access Manager configuration currently being used by the model, then any existing security by user class will no longer apply. You will have to redefine your user class views and recreate all PowerCubes.

Dates and Numeric Values Not Formatted as Expected


Data formats depend on the locale configuration settings for your IBM Cognos Series 7 product. By default, IBM Cognos Series 7 server products and IBM Cognos Impromptu use a data format configuration file named cerlocale.xml. IBM Cognos Visualizer, IBM Cognos PowerPlay for Windows, and IBM Cognos Transformer use Windows Regional Settings for locale settings and data format information. However, these products can also be configured to use the data format configuration file. For information about managing data formats, copying data format information, or editing the data format configuration file, see the Configuration Manager User Guide, or contact your administrator.

Inadequate Query Performance with Partitioning in Place


If you have followed the documented partitioning guidelines and query performance is still poor, collect the following information: the Transformer log file from the cube build; shows how dimensions are partitioned and how well records are being consolidated the populated model (.mdl or .py? file) and cube (.mdc file); the partition status shows partitioned categories and record distribution an indication of which dimensions are most often queried, and the extent to which users of the PowerPlay client applications are querying at lower levels in your cube

300 IBM Cognos Series 7 PowerPlay Transformer

Appendix E: General Troubleshooting details about problematic reports or exploration activities, such as slow performance when navigating alternate drills or nested levels in the PowerPlay client applications

We recommend that you forward this information to Cognos Software Services and let our experienced personnel investigate the problem.

PowerCube Access from PowerPlay Clients Is Too Slow


If your users of the PowerPlay clients are finding that response time is unacceptable because the PowerCubes they are accessing are very large, consider the following measures: Ensure that the users of the PowerPlay clients configure their PCs correctly. In particular, ensure that their Cognos.ini files contain sufficient entries for the PowerPlay Data Server cache size. Partition the PowerCube so PowerPlay spends less time computing summary values. Wherever possible, consolidate the data in the PowerCube to reduce its size and improve response time.

Summaries Don't Match Individual Cell Contents


Problem: In PowerPlay, summary row and column values do not match the contents of the individual cells. The way you define measures in Transformer affects the way in which they are rolled up in the PowerPlay clients. For example, if you have allocated measures proportionally (based on other measures) or as constant values, then the values displayed in the PowerPlay clients do not add up to (or average to, in the case of average rollups) the summary values for rows, columns, or layers. If this is a concern for the people who will use the PowerCubes, consider using the Description tab to add explanations for the measures affected. The PowerPlay client users can use the Explain feature to read explanations of why the rollups are not working as they might expect. Cell values always coincide with summary row and column values based on the rollups being applied. For averages and weighted averages, the averages of the summary row and column will not be the average of the entries in each cell. Instead, it will be the average based on all of the records that contribute to the averages in each cell.

Step-by-Step Transformer 301

Appendix E: General Troubleshooting

302 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages


On the Index tab (Help Topics dialog box), type or scroll to the corresponding message number. Note: All Transformer message numbers begin with "TR".

Message TR0104
A user was expected but not found. Either you have referred to a user by an object name or object identifier that Transformer is unable to locate, or you have not referenced the user.
This error occurs when Transformer's Model Definition Language (MDL) requires an object and is unable to find it. In this case the object is a user class. The problem may be that the user class was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0105
The view of an ancestor user class restricts the operation you requested.
You have attempted to override a security setting that was imposed at a higher level in the user class hierarchy. Security for a user class is inherited from its ancestor user classes. If you require access to a specific category that is inaccessible due to ancestor user class views, you can remove the restrictions imposed by the ancestor user class create a new user class and appropriate user class views at the ancestor level selectively add users from the lower-level user class to the ancestor user class so that these users can view the categories that are accessible by that class

Message TR0106
User class views are not allowed to perform the operation you requested.
You have attempted to perform an operation in a user class view that Transformer does not support. See the Transformer online Help for more information about operations involving user classes.

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

303

Appendix F: Error Messages

Message TR0107
You cannot view the categories in a dimension that an ancestor user class has restricted.
This message is most likely to appear in the log file when you make updates to a model using an MDL script. Under normal circumstances, the Transformer user interface prevents you from viewing all of a dimension for which a custom user class view is applied in an ancestor user class. Verify that the MDL script is correct, and that you have specified the correct object identifier for each of the objects referenced. If the user class for which you want to view the entire dimension does require access to that dimension, you can Change the properties of the user class view for ancestor user classes so that all categories are included. Note: All members of the subordinate user class (the one for which you are trying to include the measure) will gain access to the entire dimension. Add specific users from the subordinate user class (the one for which you are trying to include the measure) to the ancestor user class in which the user class view is defined. This will give these users access to all information that is accessible by the ancestor user class. Create a new user class for which the categories are included, and add users to it as required to meet your needs.

Message TR0108
An ancestor user class excludes one of the measures you include.
This message is most likely to appear in the log file when you make updates to a model using an MDL script. Under normal circumstances, the Transformer user interface prevents you from including a measure that is excluded in an ancestor user class. Verify that the MDL script is correct, and that you have specified the correct unique ID number for each of the objects referenced. If the user class for which you want to include the measure does require access to that measure, you can change the properties of the ancestor user class in which the measure is excluded. Note: All members of the subordinate user class (the one for which you are trying to include the measure) will gain access to the measure when it is included. add specific users from the subordinate user class (the one for which you are trying to include the measure) to the ancestor user class in which the measure is included. However, this will give these users access to all information that is accessible by the ancestor user class. create a new user class for which the measure is included, and add users to it as required to meet your needs.

For more information, see the Access Manager online Help.

304 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0109
Transformer couldn't read the data source.
Ensure that your source data file is valid, and that it is in the appropriate format for the type of data source defined within the model. If you are using an Impromptu query definition file (.iqd) as a data source with a 32-bit ODBC driver, this error may occur when the driver setup contains a transaction level of Repeatable Read and no security information. Try changing the transaction level to Read Uncommitted; or enter a user id and password in the Client Access driver setup. If you get this message when trying to access Transformer from Impromptu, and also receive the Oracle error message ORA-3126, the problem may be that the SQL*Net connect string to Impromptu in tnsnames.ora is incorrect. You could also be using an incompatible version of SQL*Net.

Message TR0110
No records were found in data source < >, the file is empty.
You have attempted to generate categories from an empty input file. The file exists, but contains no records that Transformer can use. It is likely that one of your source data files has been inadvertently overwritten by an empty file, or that the process that creates your source data files has failed and created a file with no records. Check that the source data file associated with your model's data sources contain the data they should. You can find the name of the file associated with a model data source in the Data Source property sheet (Source tab).

Message TR0111
< > is not a valid file name.
You have specified an invalid filename for a PowerCube or a source data file that is related to a data source. Check the name of the file you entered, and verify that it is correct.

Message TR0112
There isn't enough memory available.
There is insufficient memory for Transformer to perform some operation.

Windows Applications
Try closing as many open applications as possible. If this fails to correct the problem, save your model, exit, and then restart Transformer. You may need to restart Windows. If this is a recurring problem, you may need to add memory to your PC in order to continue working on the model or PowerCube. Step-by-Step Transformer 305

Appendix F: Error Messages

UNIX Server Applications


Try lowering MaxTransactionNum. For more information, see MaxTransactionNum in the Transformer for UNIX Guide. On an HP9000, the problem might be the data region setting. Try increasing the data region by increasing the MAXDSIZ HP9000 kernel setting. For more information, see your UNIX administrator or manual. You may also need to increase the PPDS memory setting. For more information, see the Transformer for UNIX Guide.

Message TR0113
Transformer can't create the file < >.
Transformer is unable to create a file. Ensure that you are not attempting to overwrite a read-only file, and that the file is not currently locked by another process.

Message TR0114
Transformer can't write in the model temporary file.
This error is usually caused by insufficient disk space to write the temporary work files. For a rough estimate of how much disk space you need to create a cube, multiply the size of the data source(s) by 3.5. You can find the location of temporary work files in the Directories tab of the Preferences dialog box (File menu). Free up more space on the work file drive and retry. For more information, see the Administrator's Guide.

Message TR0116
Transformer can't open the file < >.
Make sure that the path and file name are correct. There may be incorrect information in the Directories tab of the Preferences dialog box (File menu). If this error occurs when you are running an MDL script in the command line, the problem may be that the MDL script contains the command SavePY and you are also using the -s command line switch to save the file to .py? format. Try removing the -s option.

Message TR0117
Transformer can't open the file < >.
You have attempted to generate categories or create a PowerCube, and Transformer is unable to find one of the source data files associated with a model data source.

306 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages In the Source tab (Data Source property sheet), verify that the Local Data File specified for each data source exists, and that you have access to the drives and directories in which these files are stored. If you have specified an alternate source file for the PowerCube in the PowerCube property sheet (General tab), ensure that the alternate (transactional) source file exists. If you are building cubes in a multi-cube model, ensure that the source file information is complete and correct for all cubes, including disabled cubes.

Message TR0118
Transformer can't read the database < > defined in < >.
Transformer can't open the data base that is specified for a data source. If you are using an Impromptu query definition file (.iqd) as the data source in a Transformer model, ensure that the query does not exceed the SQL limit. Try removing some of the columns in the Impromptu report that the IQD is based on. ensure that the IQD file was created as Local IQD. confirm that appropriate access was granted to the Impromptu query definition file (.iqd) file. confirm that the Impromptu report that created the Impromptu query definition file (.iqd) can run successfully in Impromptu. ensure that the qualified database table names in Impromptu are 30 characters in length or less. turn off Cache Query Results in Impromptu. ensure that the Impromptu query definition file (.iqd) was not created against hotfile tables in Impromptu. Hotfiles are not supported by Transformer. clear the Minimize Connect Time to the Database check box in the Client-Server tab of User Profiles (Catalog menu) in Impromptu. make sure that the database user ID and password are valid.

If you are attempting to use an Impromptu query definition file (.iqd) as a data source for Transformer and it works on the client but not on the server, open the Impromptu query definition file (.iqd) in a text editor and check the syntax and the data source name. If the file was created in a previous version of Impromptu, the report that generated the IQD must be rerun in the latest version of Impromptu that is installed on the system being used. If you are attempting to generate a PowerCube on an HP-UX 10 server computer using rsserver, and the data source is an Impromptu query definition file (.iqd) that accesses a Sybase database, ensure that the following requirements are met: Open Client must be installed on the HP-UX server computer. The Sybase and DSQuery environment variables must be set.

Step-by-Step Transformer 307

Appendix F: Error Messages The Sybase /bin directory must be in the path.

The entry in the SQL.ini file that is referenced on the client must also be present in the interfaces file on the UNIX machine. If you are creating a cube in client-server mode, Sybase and DSQuery must be set in <install_dir>/ powergrid/tcpip/netbin/rsserver.sh before the setpya.sh script is referenced. If you are using the IBM Client Access ODBC driver, turn off Extended Dynamic Support. In the Client Access ODBC configuration utility, change *CHG to *None. If you are attempting to generate server PowerCubes from the client using Oracle data sources, ensure that the connect string in the tnsnames.ora file on the client computer matches both the connect string used in the logical database definition in Impromptu and the connect string in the tnsnames.ora file on the server computer where Transformer is running. ensure that the required Oracle environment variables are set in rsserver.sh. For more information, see the Transformer for UNIX Guide.

Confirm that the Databases section of the Cognos.ini or COGCONNECT.ini file has a database connection string to the relevant database.

Message TR0128
Only data source input files of the following types are supported in this mode <data_source_list>.
You are using the server version of Transformer and specifying that processing is to occur on the server using a server data source. In order for this to happen, you must provide a server-based data source.

Message TR0131
The argument for command line option -k is invalid.
When trying to pass database login information to Transformer using the -k program parameter, an invalid entry has been detected. Ensure that you enter the value for the -k option properly.

Message TR0132
The database name in the command line is blank.
When trying to pass database login information to Transformer using the -k program parameter, an invalid entry has been detected. Ensure that you enter the value for the -k option properly.

308 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0133
Unable to delete file < >.
Transformer is unable to delete a model file. Ensure that the file is not currently locked by another process, and that it is not a read-only file.

Message TR0137
Cube Group < > (and possibly others) contains cubes based upon key orphanage categories. Due to the temporary nature of these categories, the data in these cubes may belong to other cubes within their respective cube groups.
Transformer has created a key orphanage in the target level for a cube group. This can happen in models for which the following conditions exist: the model uses multiple data sources the model contains one or more cube groups the data in the model's data sources does not provide sufficient information to connect a category to one of the target categories in the cube group.

In the PowerCubes list, Transformer will generate a cube definition for the key orphanage category within the cube group. You cannot delete this cube. However, you can add additional information to the model that will eliminate both the key orphanage and the orphaned cube during cube regeneration. In some cases, it is possible that Transformer will automatically fix the problem. If subsequently processed data sources contain data that can provide the path from the orphaned category to a source category in the target level, then the potential problem will be fixed. If the problem is not fixed automatically, to remedy the problem, you can: manually assign the categories in the orphaned category to one of the others in the target level, provided you know which one they belong to, or determine what data is missing in your data source. You can then repair the original data source or add a new data source with additional information that will complete the path from a category in the target level to the orphaned categories.

If a key orphanage is created and subsequently deleted during a single cube generation process, the resulting cube group will have an invalid status. Transformer can eliminate a key orphanage when all of its descendants are placed under other categories in other cubes within the cube group. In such cases, you must regenerate the cube group so that the data is placed back into the correct cubes. For more information, see "Message TR0713" (p. 325).

Step-by-Step Transformer 309

Appendix F: Error Messages

Message TR0149
A data input conversion or overflow error has occurred.
This error occurs when the data for a measure is too large for the storage type that is specified for it. This problem often occurs when you have a measure that includes decimals, or if you use a large input scale or output scale. To solve this problem, first attempt to reduce the size of the Input Scale property on the Column property sheet (General tab) and the Output Scale property on the Measures property sheet (General tab). If this doesn't work for your model, change the Storage Type property on the Measures property sheet (General tab) to a larger storage type.

Message TR0151
One '< >' association from '< >' data source is already defined. A second '< >' association from the same data source is not allowed.
This error occurs when you try to specify a second association of the same type from the same data source to an object. To solve this problem, either remove the association that you don't want, or make an association to another data source.

Message TR0202
You didn't include any dimensions. Transformer can't create a PowerCube.
You have attempted to create a PowerCube for which all of the dimensions are omitted. Open the PowerCube property sheet and click the Dimensions tab. Ensure that not all dimensions are set to Omit Dimension.

Message TR0203
You didn't include any measures. Transformer can't create a PowerCube.
You have attempted to create a PowerCube for which all of the measures are omitted. Open the PowerCube property sheet and click the Measures tab. Ensure that not all measures are set to Exclude.

310 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0205
Double quotes were changed to single quotes in the source value, label, description, sort value or other text field. This avoids syntax errors in the MDL Language.
When Transformer generates MDL, it uses double quotes to define the model. This error message indicates that double quotes in the source data have been changed to single quotes so that Transformer can distinguish between the source data and the structure of the model. For more information, see the Transformer MDL Reference.

Message TR0206
You didn't include any dimensions in PowerCube < >. The cube wasn't created.
You have attempted to create a PowerCube for which all dimensions are omitted. In the PowerCube property sheet (Dimensions tab), ensure that at least one dimension has a setting other than Omit Dimension.

Message TR0207
Data source < > is not related to any dimension so it cannot be processed.
You have attempted to generate categories using a data source that is not associated with any level in any dimension in the model. This can happen when a data source has been added to the model but no dimension has yet been set up for that data source.

Message TR0208
Consolidation for the PowerCube < > (and <n> others) is suppressed because a beforerollup calculation was also defined.
Whenever a model includes a calculated measure with a timing of Before Rollup, consolidation must be suppressed for cubes in which that measure is included. Consolidation uses specified rollup settings to write consolidated records to a PowerCube. If consolidation were performed, the level of detail in the PowerCube's records would not contain sufficient detail to perform the calculation before the rollup is applied. If you want consolidation to be performed, ensure that the PowerCube does not include any calculated measures with a timing of Before Rollup.

Message TR0209
Sorting and consolidation for the PowerCube < > (and <n> others) must be performed to determine correct state measure values.
The settings in the model are such that consolidation is required. Consolidation is required, in spite of any settings for consolidation in the PowerCube property sheet, under the following conditions: Step-by-Step Transformer 311

Appendix F: Error Messages a setting other than Default is specified for Duplicates rollup, and consolidation is set to anything other than pre-sorted.

Message TR0210
<n> data input conversion or overflow errors occurred. See the log file for details.
Within one of the source data files that is associated with a model data source, the value specified for a measure is either too large or uses an invalid storage type. If you check the log file associated with the model you are updating, you will find a line that looks something like this: (TR1703) A data input conversion or overflow error occurred at source record number 100 for measure 'Revenue' in source file 'installation_location\national.asc'. You can use this information to identify which input data records contain invalid source values.

Message TR0214
The temporary file for source file < > and PowerCube < > is empty. Check that your source file contains data.
During the PowerCube creation process, Transformer has been unable to find data for use in a PowerCube. This can happen if your source data file is empty. you have applied a view to the PowerCube that excludes all of the data for a given dimension. Excluding all data for a dimension using a dimension view will cause the PowerCube to be empty. the timing for all data sources is such that none of them are used to create PowerCubes. the data source containing measures for your model is associated with categories in an alternate drill down. For more information, see "Message TR1320" (p. 337). there are BLOB fields in the source file. Transformer does not support BLOB fields.

If your source file is an Impromptu query definition file (.iqd), try running the report in Impromptu to make sure that data is being returned.

Message TR0215
The PowerCube < > (and <n> others) may require consolidation. Consolidation can't be performed because of before-rollup calculations or because a cube is designated as using Direct Create.
There are conflicting settings in the model that simultaneously require consolidation to be performed and prevent it from occurring. This happens when calculated measures exist with a Rollup Timing of Before Rollup. 312 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages The reason that these settings conflict is that the consolidation will eliminate from the PowerCube the records required to perform the calculation before rollups are applied to them. In this case, Transformer does not perform consolidation.

Message TR0217
Data source < > is turned off for cube generation. The process has aborted.
The PowerCube Creation box on the Data Source property sheet (General tab) is not selected. This occurs with structural data sources because they do not contain transactional data.

Message TR0301
There are no columns for AutoDesign to use.
Transformer is unable to locate columns for use in the AutoDesign process. Check that the columns in your model's data sources have not been inadvertently deleted.

Message TR0303
Transformer has detected invalid allocation specifications. These allocations will be removed. Do you want to continue?
A calculated measure was allocated and then deleted from the model. After you choose Yes to continue, Transformer will change the allocation on which the measure was based to N/A (if it is to a level), or Constant (if it is to a dimension).

Message TR0404
You didn't specify a server data source. Do you want to continue?
This warning message appears only for Transformer on UNIX. If you attempt to generate server categories, Transformer issues this message if you have not specified a data source on the server that Transformer on UNIX can use to obtain source values. To resolve this problem, specify a data source on the server computer.

Message TR0407
The model you imported has level or category Inclusion set to Remove When Unused. This option is no longer supported. The Inclusion property has been set to the default, Always Include.
Some options that were supported in previous versions of Transformer version are no longer supported. Verify that the Inclusion property for all levels and categories is set correctly. Step-by-Step Transformer 313

Appendix F: Error Messages

Message TR0408
This model was built with a system language setting of < > that differs from the current setting. The language setting dictates the sorting rules used in category ordering. Do you want to resort all ordered categories?
Your PowerCube will be generated successfully despite this error. A model populated on a computer with one language setting was moved to another machine with another language setting.

Message TR0412
Error encountered while trying to save preferences to <path\trnsfrmr.ini>.
The most likely cause of this error message is that you have insufficient space on your hard disk. Creating more space or switching to another drive may solve the problem. Other possible causes are that the Trnsfrmr.ini file has read-only access specified, or the file is open.

Message TR0420
A PowerCube group was expected but not found. Either you have referred to a PowerCube group by an object name or object identifier that Transformer is unable to locate, or you have not referenced the PowerCube group.
This error occurs when MDL requires an object and is unable to find it. In this case the object is a PowerCube group. The problem may be that the PowerCube group was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0423
A calculation definition was expected but not found. Either you have referred to a calculation definition by an object name or object identifier that Transformer is unable to locate, or you have not referenced the calculation definition.
This error occurs when MDL requires an object and is unable to find it. In this case the object is a calculation definition. The problem may be that the calculation definition was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The

314 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0476
A category set was expected but not found. Either you have referred to a category set by an object name or object identifier that Transformer is unable to locate, or you have not referenced the category set.
This error occurs when MDL requires an object and is unable to find it. In this case the object is a category set. The problem may be that the category set was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0500
You can't move a category outside its drill-down path.
You have attempted to move a category from one drill-down path to another in the dimension diagram for a dimension that contains an alternate drill-down structure. You can move categories only within the scope of their own drill-down paths.

Message TR0501
A regular category can't be the parent of a special category.
Under normal circumstances, the Transformer user interface does not allow you to make a regular category the parent of a special category. This message normally occurs as a result of an action applied by an MDL script. Verify that the ID numbers you have used in the MDL script refer to objects for which only valid actions apply.

Message TR0502
You must specify a category code when you create a manual category.
You have attempted to create a category manually in a manual level and you have omitted the category code. Transformer automatically assigns a unique category codes to each of the categories you create. The category code is displayed in the Category Code box of the General tab (Category property sheet). Do not delete the category code. Step-by-Step Transformer 315

Appendix F: Error Messages

Message TR0503
Another category already has this category code. Each category requires a category code which is unique within the dimension.
When creating or modifying a category manually in a manual level, you have changed the category code so that it conflicts with an existing category code. Transformer automatically assigns category codes to each of the categories you create. If you modify this code, ensure that it does not conflict with an existing category code. The category code is displayed in the Category Code box of the General tab (Category property sheet). Do not delete the category code.

Message TR0504
You must specify a source value for a category in a source level. You can do this from the Source tab in the Level property sheet.
You may have inadvertently deleted the source value associated with a category. Source values are required for categories in all source levels. Categories in manual levels derive their source values from their category codes. To solve the problem, you can edit the Source Value in the Category property sheet to provide the correct value, or you can delete the category and allow Transformer to regenerate it.

Message TR0505
This action would result in two categories with the source value < > under different parent categories in level <level_name> which is designated as unique. The action is cancelled.
You have attempted to specify that the categories within a level are unique when Transformer has verified that they are not. This can occur when you create an alternate drill-down and allow Transformer to designate the convergence level as unique choose the Unique check box in the Source tab of the level's property sheet

In order for a level to connect multiple drill-down paths in an alternate drill-down structure, the category values in that level must be unique. Similarly, in order for Transformer to be able to directly relate column values to categories in a level, the category values in that level must be unique. If you require that the level be a convergence level, or if you want to create a thin data source that contains a column for the level without the ancestor levels, you must make each category in that level identifiable by its value alone. For example, if the convergence level is City in a Regions dimension that contains levels Country, State, and City, ensure that in your source data file you somehow qualify identically named cities. If the city Burlington occurs in the states Massachusetts and Vermont, you should add a qualifier to the city name in the source data, as in Burlington (MA) and Burlington (VT). This may require

316 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages you to modify the values in source data files associated with one or more of your model's data sources. This error message can also occur if you change the source value of a date category, resulting in two identical date categories in a level.

Message TR0507
The share reference <category> isn't a category in the same dimension.
You have attempted to apply a share object using a level or category that is in a dimension other than the one in which the share object is being applied. Ensure that when you set the share object, you set it to a level or category in the same dimension as the categories to which you'll apply the share object.

Message TR0508
You can't move a category into or out of a convergence level.
On a diagram for a dimension with multiple drill-down paths, you have attempted to move a category either out of or into a convergence level. The categories in a convergence level cannot be moved out of that level, and no new categories (from other levels) can be moved into the convergence level.

Message TR0510
The share category ID is invalid. A share category ID must be the object identifier of another category in the same dimension.
You have attempted to specify an invalid share object. The share object must be an existing category must be at a higher level in the same dimension must be specified by its object identifier

To view the object identifier for each object, select the Object Identifier check box in the Titles tab of the Preferences dialog box. The object identifier will appear in the title bar at the top of property sheet, and will also appear in a tooltip when your cursor hovers over an object. You can also find object identifiers in the .mdl file.

Message TR0514
You can't delete or move the root category of a dimension.
The root category provides much of the information that is required by the dimension, including the label that is provided for display in PowerPlay. You cannot delete a root category.

Step-by-Step Transformer 317

Appendix F: Error Messages If you want to delete the entire dimension, choose the dimension on the dimension map and then choose Delete Item from the Edit menu.

Message TR0515
In a regular diagram, you can only connect to categories in a level above or below the original level. You cannot connect to categories in the same level.
You have attempted to connect two categories in the same level to one another. You can only connect a category to an ancestor category or to a descendant category. Verify that the category to which you want to connect is in the level you want it in. If not, you'll have to restructure your dimension so that the levels are positioned in the dimension hierarchy as you want them to be.

Message TR0518
You can only create subdimensions below categories that are in a source level.
You have attempted to create a subdimension based on a category in a manual level. Transformer does not permit the creation of subdimensions below a manually-created category. To create a subdimension, choose a source category.

Message TR0519
A subdimension can't be rooted in this level. This level is above a convergence level in a dimension that contains alternate drill-down paths.
You have attempted to create a subdimension within one of the drill-down paths in a alternate drilldown structure. Subdimensions are permitted in dimensions with only one drill-down path only at or below a convergence level in a dimension that contains alternate drill-down paths

Message TR0523
You can't move this category because its position is determined by its order value property.
You have tried to move a category manually on a diagram, and the category's Order By value has been set by one of the following methods: an Order By column was specified for the level in which the category resides an explicit Order By value was specified for the category in the Order Value box on the category property sheet.

You can only move categories for which no Order By value is specified.

318 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages To change the order of categories for which there is an Order By column specified, do one of the following: Choose another Order By column for the category's level. Transformer will re-order the categories based on the new Order By column. Disable the current order by settings by choosing the blank entry at the bottom of the Sort-By Column list (on the Order By tab of the Level property sheet).You can then order the categories manually by moving them on the diagram. You can then re-enable the order by settings.

Message TR0524
Rollup can only be disabled for special categories.
Under normal circumstances, the Transformer user interface does not allow you to disable category rollup for a regular category (the Category Rollup check box is only displayed for special categories). This message normally occurs as a result of an action applied by an MDL script. Verify that the ID numbers you have used in the MDL script refer to objects for which only valid actions apply.

Message TR0525
A category was expected but not found. Either you have referred to a category by an object name or object identifier that Transformer is unable to locate, or you have not referenced the category.
This error occurs when MDL requires an object and is unable to find it. In this case the object is a category. The problem may be that the category was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object. The problem may be that you have not used the correct MDL object name for the category. Category names are not the same in MDL and the user interface. In the user interface, category names are derived from category labels. In MDL, category names are derived from category codes. Both the category code and the category label appear on the category property sheet. For more information, see the Transformer MDL Reference.

Step-by-Step Transformer 319

Appendix F: Error Messages

Message TR0528
The source value for a date category in a month level must be numeric. Also, it must be in the format MMDD, unless specified otherwise in the Date tab of the column property sheet.
You may have inadvertently changed or deleted the source value for a date category. Check the Source Value on the category property sheet (General tab). Ensure that it is in the date format specified on the Time tab of the column property sheet.

Message TR0534
This drill category cannot be deleted in a dimension with a single alternate drill-down.
You have attempted to delete the last drill category in a dimension. Each dimension must contain at least one drill-down path. You cannot delete all drill-down paths. To delete a drill-down that is the only one in a dimension, you can either: delete the entire dimension and, if desired, recreate it with the new drill down structure and levels you want create an alternate drill-down structure, and then delete the drill category you no longer want

Message TR0535
A category can't be created below a convergence level when the parent of that category is above the convergence level.
You have attempted to create a new category below the convergence level of an alternate drill-down structure, and the new category descends from a category above the convergence level of an alternate drill-down structure. Transformer does not allow this. You can create new categories that descend from categories in or below the convergence level. You can also create a new category in the convergence level by dragging from an ancestor level into the convergence level. Ensure that you have not dragged the mouse pointer too far to the right if you are trying to create a new category in the convergence level.

Message TR0536
Partitioning can only be specified for categories in a primary drill-down.
You have attempted to specify partition numbers for categories in the alternate drill-down path of a dimension with an alternate drill-down structure. Transformer supports partitioning within the primary drill-down only. To eliminate the problem, isolate which of the categories in the alternate drill-down path have partition numbers specified, and then change their partition numbers to 0.

320 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages Tip: If you are unsure which of the categories in the alternate-drill-down path are partitioned, an easy way to isolate categories with partition numbers other than 0 is to save the model in MDL format. You can then open the MDL file using the text editor of your choice, and search for the string NewPartition. Any levels or categories with partition level numbers other than 0 will show up as, for example, NewPartition 1.

Message TR0538
A partition cannot be specified for root, special or leaf categories.
You have attempted to specify a partition level number for a category for which partitioning is not permitted. Ensure that you assign partition level numbers only to regular categories in levels above the lowest levels in each dimension.

Notes
If a partition level number is assigned to a category in a level that is excluded, cloaked, or summarized, then that category effectively becomes a leaf category in the resulting PowerCube. As a result, a partition level number cannot be assigned to the category. You can assign a partition level number to the root category of a subdimension.

Message TR0540
Changing the primary drill-down from < > will cause any allocations and partition information specified to be removed from the current primary drill-down. Do you want to continue?
Transformer supports partitioning and measure allocation only in the primary drill-down path of a dimension. If a dimension has an alternate drill-down structure, the partitioning and measure allocation cannot be in the alternate path. If you specify partitioning or measure allocations within the primary drill-down path, and you later change the primary drill-down path to some other path, then Transformer must erase all of the existing partitioning and allocation information. This will require you to re-partition your model using levels and categories in the new primary drill-down path. Similarly, it will require you to change measure allocation (if desired) in the new primary drill-down path.

Message TR0541
A drill-down category cannot be filtered.
This message occurs when creating an MDL script that attempts to exclude a drill category. The Transformer user interface will not allow you to exclude a drill category. Ensure that when you reference an object in MDL, you use the correct object identifier or object name. To view the object identifier for each object, select the Object Identifier check box in the

Step-by-Step Transformer 321

Appendix F: Error Messages Titles tab of the Preferences dialog box. The object identifier will appear in the title bar at the top of property sheet, and will also appear in a tooltip when your cursor hovers over an object. You can also find object identifiers in the .mdl file.

Message TR0552
Manual categories in this dimension can't be created because it is locked.
You can't create categories for a dimension that is locked. To create a manual category for a locked dimension, clear the Prohibit Automatic Creation of New Categories check box in the Dimension property sheet (General tab).

Message TR0605
A column was expected but not found. Either you have referred to a column by an object name or object identifier that Transformer is unable to locate, or you have not referenced the column.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a column. The problem may be that the column was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object. When a column name is changed, the object name of the column may become different in MDL and the user interface. MDL derives the object name from the Original Name box of the Column property sheet (General tab). The user interface takes the object name from the Column Name box, also on the General tab.

Message TR0606
The specifications for the date format and the level of detail are inconsistent. Confirm the specifications in the column property sheet.
You have specified conflicting properties for the Date Input Format and the Degree of Detail on the Time tab of a column's property sheet. The date format must provide sufficient information to provide the specified Degree of Detail. For example, if you specify a Degree of Detail of Day, (meaning that the date values represent days, and that any measures in the input records represent daily values), then you cannot specify a date Input Format of YM. This Date Input Format does not provide sufficient detail to populate a time dimension with days.

322 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0607
The data class in the column property sheet is not compatible with the storage type in the measure property sheet. Change the data class or change the storage type.
The data class of a column isn't compatible with the storage type of a measure that is based on that column. For example, the database stores Cost as a varchar, which is non-numeric. However, if you attempt to change the data type in Transformer to Numeric, you will receive this error. If your data source is an Impromptu query definition file (.iqd), you can resolve the problem in Impromptu. In Impromptu, change the data definition for the column using the string-to-number function. Save the Impromptu query definition file. In Transformer, remove and re-add the column. If your data source isn't an Impromptu query definition file (.iqd), you must change the data type for the column in the database.

Message TR0613
Column <column> is referenced by name in one or more dimensions, levels, measures or currency tables. Deleting or modifying the column name can cause these associations to be lost. Do you want to continue?
You have attempted to delete a column that is currently being used in the model. Deleting a column that provides category or measure values will cause the objects in the model to lose their association with any source column. Ensure that you don't delete columns your model requires.

Message TR0621
An association was expected but not found. Either you have referred to an association by an object name or object identifier that Transformer is unable to locate, or you have not referenced the association.
This error occurs when Transformer's Model Definition Language (MDL) requires an object and is unable to find it. In this case the object is an association. The problem may be that the association was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Step-by-Step Transformer 323

Appendix F: Error Messages

Message TR0623
One <association type> association from <data source name> data source is already defined. A second <association type> association from the same data source is not allowed."
This error occurs when you try to specify a second association of the same type from the same data source to an object. To solve this problem, either remove the association that you don't want, or make an association to another data source.

Message TR0624
One <association type> association named <association name> is already defined.
This error occurs when you try to create an association when an identical association already exists. This error may also occur when you use an MDL script that defines an association more than once. For details about MDL syntax, see the Transformer MDL Reference. To solve this problem, remove the unwanted association.

Message TR0700
This action will cause one cube to be deleted in the Cube Group < >. Do you want to continue?
You have performed some action that will cause Transformer to delete one or more cubes. This can happen when you delete a category that is in a level used to define a cube group. This includes the deletion of categories by CleanHouse. you create a dimension view that excludes, cloaks, or suppresses one or more of the categories used to define a cube group. in the Category property sheet, you change the Inclusion setting for a category in the level that defines the cube group to be either Suppress or Exclude. you exclude or suppress one of the categories that defines a cube within a cube group on the main dimension diagram. For example, suppose that you create a cube group based on States in a States dimension that contains levels State and Outlet. Assume that the State level contains categories State01, State02, and State03. Transformer will create three cubes within the cube group, one for each state. If you then create and apply a dimension view that cloaks or excludes State01, the cube for State01 will be deleted. You will be prompted to continue before each affected cube is deleted.

324 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0701
A PowerCube was expected but not found. Either you have referred to a PowerCube by an object name or object identifier that Transformer is unable to locate, or you have not referenced the PowerCube.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a PowerCube. The problem may be that the PowerCube was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0702
You can't delete this PowerCube because it belongs to a PowerCube group.
Transformer will not allow you to delete a cube from within a cube group. If you want to delete a specific cube from within a cube group, you can create a dimension view that excludes the values associated with the cubes target category. For more information, see "Message TR0700" (p. 324).

Message TR0705
Category < > has been excluded from the PowerCube Group < >. A PowerCube can't be created in this PowerCube Group.
When you try to create a cube group, no cubes are created. The problem may be that the category or level which is being used to create cube groups is suppressed.

Message TR0713
In Cube Group < >, one or more cubes are based on temporary key orphanages which will be removed. Regenerate the cube group to place the data previously in the key orphanage cubes into the other cubes in the cube group.
During the generation of a cube group, Transformer has generated a cube that is based on a key orphanage. Subsequently Transformer has repaired the path from the orphaned categories to an existing source category in the target level for the cube group. As a result, you must regenerate the cube group so that Transformer will place the orphaned data into the correct cube. For example, assume that cube generation occurs based on three data sources: data sources A, B, and C. A cube group is generated as follows: Step-by-Step Transformer 325

Appendix F: Error Messages Data source A is processed, and the categories in the target level are generated as part of that process. Data source B is processed, and during processing a category is encountered that does not belong to any of the existing target categories. Moreover, no new data exists in data source B to provide a new target category. As a result, Transformer places the orphaned category under a key orphanage, starting at the target level, and a cube for that key orphanage is generated. Data source C is processed, and new data is provided that places the orphaned category under one of the existing target categories. As a result, the key orphanage is no longer required.

Since the data from Data source B was originally placed into the orphaned cube, it is necessary to regenerate the cube group. This will allow Transformer to place the data from data source B in the correct cube within the group.

Message TR0716
A cube that is not designated as a local cube cannot be compressed.
If you received this error message when attempting to set the location of cubes within a cube group, the problem may be that the parent of the cube group is set to be compressed, and the default location of the cube group is not local. If each cube is set to a different, non-local location, Transformer may interpret the cubes to be server cubes. The output tab of the cube within the group is pointing to the LAN location and the Database Type setting is <From Parent>. Change the database type setting to Local and retry.

Message TR0743
The currency table cannot be populated at this time because date categories have not been generated in the time dimension.
The currency table doesn't contain data from an external data source although you attempted to load data. You must generate categories before loading the external data source for your currency table.

Message TR0745
A total of < > rows in the currency data were rejected because they didn't match any date in the model.
The most common cause of this error is that the date loaded from an external data source is in a different format from the date format set in Transformer. For example, the date format in the external data source is YMD but the Transformer setting is DMY. It is also possible that the dates in your currency data don't correspond with the other dates in your model. You may need to change the date format. In the user interface, do this in the Time tab of the Column property sheet. In MDL, this is set with the Format option in the column definition statement.

326 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0749
The currency table populate failed.
Transformer could not find the source data file. Check that the file name and path are correct. If the source is an IQD file, check the database connection string.

Message TR0750
Currency table Date column not found.
The Date column you specified doesn't exist, or you did not specify a date column. The currency table requires a date, a rate, and one or both of a label and country code.

Message TR0751
Currency table Rate column not found.
The Rate column you specified doesn't exist, or you did not specify a rate column. The currency table requires a date, a rate, and one or both of a label and country code.

Message TR0752
The currency table Label or Country Code column is mandatory.
The label or country code column you specified doesn't exist, or you did not specify at least one of them. The currency table requires a date, a rate, and one or both of a label and country code. The Rate column you specified doesn't exist, or you did not specify a rate column.

Message TR0753
The conversion rate entered is invalid. It either contains invalid characters or is less than or equal to zero.
Conversion rates must be positive numbers. They cannot be negative, zero, or non-numeric characters.

Message TR0800
Level < > has no date function. Transformer won't generate any date categories if they follow a non-date level.
A non-date level exists in a time dimension. The non-date level is positioned in the dimension in such a way that Transformer is unable to generate categories for any lower levels that may have date functions specified.

Step-by-Step Transformer 327

Appendix F: Error Messages When Transformer generates date categories, it traverses down the dimension generating date categories in levels as indicated by the date function for each level. If Transformer encounters a non date level, the generation will stop, and Transformer will be unable to generate date categories in the levels below the non date level. This message occurs when you drag a column from the Data Sources list and drop it onto a time dimension to create a new level. To fix the problem, specify a date function for the level on the Time tab of the Level property sheet.

Message TR0802
Levels in this time dimension aren't in their natural order (year, quarter, month, day). Please re-order the levels.
Some operation has made the order of date levels in a time dimension incorrect. Possible actions that could cause this are: changing date functions for one or more of the date levels so that they're improperly ordered. reordering the date levels in the time dimension.

The date levels in a time dimension must exist in a year, quarter, month, week, and day ordering. Re-order the levels so that they follow this pattern. If you are working in an MDL file, you may have incorrectly referenced the level. Ensure that when you reference an object in MDL, you use the correct object identifier or object name. To view the object identifier for each object, select the Object Identifier check box in the Titles tab of the Preferences dialog box. The object identifier will appear in the title bar at the top of property sheet, and will also appear in a tooltip when your cursor hovers over an object. You can also find object identifiers in the .mdl file.

Message TR0803
More than 1000 date categories have been generated from your specifications. Do you want to continue generating date categories?
You have asked Transformer to generate date categories in a time dimension. Once one thousand categories have been generated, Transformer issues this warning so that the user can stop the generation process, possibly stopping a runaway category generation. If you know that the time dimension does contain a vary large number of categories (such as several years, with quarters, months, weeks, and days), then you can ignore this message. If not, then you should discontinue category generation and verify that the time dimension is defined properly. Check that Time tab settings on the Dimension, Drill Category, and Level property sheets.

328 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0804
The earliest date is invalid.
You have specified an invalid Earliest Date in the Dimension property sheet (Time tab). The range of dates must be between 19000101 and 99991231 inclusive. The input format for values in the Earliest and Latest Date boxes must be in the format YYYYMMDD. Verify that the dates you have specified are valid, and that they fall into an acceptable range.

Message TR0805
The latest date is invalid.
You have specified an invalid Latest Date in the Dimension property sheet (Time tab). The range of dates must be between 19000101 and 99991231 inclusive. The input format for values in the Earliest and Latest Date boxes must be in the format YYYYMMDD. Verify that the dates you have specified are valid, and that they fall into an acceptable range.

Message TR0806
The date is invalid.
You have specified an invalid date or specified a date prior to 1990 when using the Clean House command. The date must be later than 1989. Type a date using the format configured for your system or, in PowerPlay version 6.6 and above, select a date by using the embedded calendar.

Message TR0807
The earliest date is larger than the latest date. Make the earliest date smaller, or make the latest date larger.
You have entered an invalid combination of Early and Late Dates in the Dimension property sheet (Time tab). Ensure that the Latest Date value is larger that the Earliest Date value.

Message TR0808
Invalid date format.
You have attempted to specify an invalid date display format in the Dimension property sheet (Time tab). Ensure that the date format you have specified is a valid one.

Step-by-Step Transformer 329

Appendix F: Error Messages

Message TR0809
The current period can't be a special category.
You have attempted to set the current time period to the value represented by a special category. You cannot use a special category to set the current period. Use a regular category to set the current time period.

Message TR0810
The date levels specified for this dimension aren't allowed. Ensure that lunar and calendar date level functions haven't been combined. Refer to the online Help for more information.
You have combined both calendar and lunar levels within the same drill-down path of a dimension that contains an alternate drill-down structure. When specifying date level functions in a time dimension, lunar time periods and calendar time periods cannot be combined within a single alternate drill-down. For example, it is invalid to have lunar years with calendar months in the same drill-down path. Within a single alternate drill-down path, all date functions must be exclusively lunar periods or calendar periods. In addition, the only time period at which alternate drill-downs of type Calendar and Lunar can converge is the Day level. You cannot set up a Calendar drill-down that joins with a Lunar drilldown at the Year, Quarter, Month, or Week level. Restructure your time dimension so that date level functions are specified correctly.

Message TR0811
The date specified by the year's start-day doesn't match the weekday specified by the week's start-day. Both dates must fall on the same day of the week.
You have created a lunar drill-down in which the date on which the year begins does not match the day on which the week begins. Because lunar years contain 52 weeks, the date on which the year begins must match the week day designated by the week start day. For example, if you create a drill-down path that uses lunar time periods, and you specify that the Year Begins property is 19960101, then the Week Begins On property must be set to Monday, as January 01, 1996 is a Monday. Verify that the Week Begins On and Week Begins On properties coincide in the Drill Category property sheet (Time tab).

330 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0812
<level_name> is not a valid convergence level in this time dimension. Please refer to the online Help for information on alternate drill-down paths in time dimensions.
The current convergence level does not share the same set of categories between the date drill-down paths for one of the following reasons: lunar and solar drill-downs are combined existing drill specifications make this convergence level illegal

Message TR0813
The current period for dimension <dimension_name> wasn't changed because category <category_code> wasn't found.
You have attempted to change the current date in batch mode using the -t command line option. Transformer was unable to find the category code specified as part of the -t command line option. Verify that you specified the correct category code for the category you want to use to set the current date.

Message TR0815
The interval between the year start-days for alternate drill-downs <drill-down_name1> and <drill-down_name2> in dimension <dimension_name> must be equal to one or more whole units of time as represented by the convergence level. Refer to the online Help for more information.
You have created an alternate drill-down structure in the time dimension and specified incompatible dates for the year start days in each drill-down path. Ensure that the start dates for the years in each drill-down path are the same.

Message TR0816
A signon was expected but not found. Either you have referred to a signon by an object name or object identifier that Transformer is unable to locate, or you have not referenced the signon.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a signon. The problem may be that the signon was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Step-by-Step Transformer 331

Appendix F: Error Messages

Message TR0817
The signon may not be deleted or have its name changed because it is associated with a data source.
You cannot change the name of the Signon in Transformer. The name is taken from the COGCONNECT.ini database definition and Transformer uses that name when connecting to the database.

Message TR0900
There were changes to the (default) earliest date and latest date. This will cause date categories to be deleted from this dimension.
You have made changes to the range of dates Transformer will use when generating date categories. Ensure that the change was intended. If you accept the change, all of the categories in your time dimension will be deleted.

Message TR0904
The date level settings could generate in excess of < > categories. Do you want to continue?
Transformer is warning you that it may generate an excessively large number of date categories. This can happen when you have specified a relatively wide range of dates to include in the generation of date categories, and the time dimension includes low levels, such as Day. In cases where your model requires all of these dates, you can ignore this message. However, if you really only need two or three years of data, narrow the range in the Time tab of the Dimension property sheet.

Message TR0906
The associated column that is specified for dimension < > can't be found in the Data Sources list.
Transformer is unable to find a column to match the one specified as the column associated with a regular time dimension. This can happen when the source data file for a data source changes you delete or change the name of a source column you change the column name specified in the Dimension property sheet (Time tab) for the time dimension

Ensure that the Column name specified in the Time tab of the Dimension property sheet matches a column in one or more of your data sources.

332 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR0907
A dimension was expected but not found. Either you have referred to a dimension by an object name or object identifier that Transformer is unable to locate, or you have not referenced the dimension.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a dimension. The problem may be that the dimension was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR0914
This dimension contains an alternate drill-down path with a convergence level. All drilldown paths that share this convergence level must use the same calendar. A mixture of calendar and lunar date functions isn't possible.
In a time dimension, you have attempted to set the convergence level for alternate drill downs of type Calendar and Lunar to some level other than Days. You can only join alternate drill downs of different types at the Days level.

Message TR0917
Please specify a column for a regular time dimension.
You have attempted to create a Regular time dimension without providing the name of a column that provides date values for the categories in the dimension. In the General tab of the Dimension property sheet, specify the name of a data source column that provides date values for the dimension.

Message TR0919
Measure <measure_name> is an allocated measure in dimension <dimension_name>. Cube group <cube_group_name> is based upon this dimension. This measure will not appear in the .mdc unless an external detail level is specified for the cube group.
When an allocated measure is used in a PowerCube that is built as part of a cube group, the cube group must be defined with an external level of detail. The external level of detail ensures that measure values required to perform the allocation are available in the PowerCube.

Step-by-Step Transformer 333

Appendix F: Error Messages

Message TR1003
The Impromptu Query Definition contains a syntax error.
You have attempted to use a data source of type Impromptu Query Definition (IQD) and the contents of the IQD file have become corrupted. Verify that you are using the correct IQD file. If possible, recreate the IQD file using Impromptu.

Message TR1005
IQD Data Source file <file_name> contains one or more BLOB data columns. BLOB data columns cannot be handled by Transformer.
Transformer does not support BLOB data types. Recreate the IQD file using Impromptu, and omit the column or columns with the BLOB data types.

Message TR1100
The import file < > has an invalid keyword on line < >.
There is an invalid keyword in the MDL script. Check that all the keywords are spelled correctly on the specified line.

Message TR1101
Transformer detected a syntax error at line < > in file < >.
There is an error in the MDL script. For details of the correct syntax of MDL statements, see the Transformer MDL Reference, which is available in English. Confirm that the data contained on the line referenced in the error message does not contain erroneous or invalid data, or corruption. Try a test model which has this line remarked out. In MDL, delete the line. This error message is generally followed by one or more additional error messages. For help on those messages, refer to the online Help. In the Help menu, choose Contents and Index, and then choose the Find tab. Search for the message by its TR number; for example, TR1101.

Message TR1102
Transformer detected a model error at line < > in file < >.
There are several conditions that could cause this error. Usually, the conditions are explained in more detail in additional error messages that follow in the same dialog box. This error message is generally followed by one or more additional error messages. For help on those messages, refer to the online Help. In the Help menu, choose Contents and Index, and then

334 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages choose the Find tab. Search for the message by its TR number; for example, TR1102. For information about MDL, see the Transformer MDL Reference, which is available in English.

Message TR1106
The object for the object ID given on line < > is the wrong type in file < >.
This error message is generated when an object identifier specified in the MDL file exists, but is being applied to the wrong object type. For example, 117 is the object identifier for a level. In the MDL file, a category is identified with the object identifier 117. To solve the problem, use a different object identifier. Object identifiers can be up any number greater than 100 and less than 4,294,967,296.

Message TR1109
The import file < > contains a string on line < > which contains a new line character.
Check that there is no newline character on the indicated line in your data source file. If this does not work, save the model as .mdl, open it and retry.

Message TR1304
The associated column you specified for measure <measure_name> can't be found in the Data Sources list.
In defining the measures for your model, you have inadvertently specified the name of a column that does not exist. Ensure that the name of the column you specify for a source measure matches the name of a column in the Data Sources list.

Message TR1307
This measure is used as a weight by measure <measure_name>.
You have attempted to delete a measure that is used as a weight for a Regular, Time State, or Duplicates rollup. Before you can delete the measure, you must ensure that it is not being used to weight an average.

Step-by-Step Transformer 335

Appendix F: Error Messages

Message TR1308
This measure is referenced by calculated measure '<measurename>'. Please redefine the calculated measure.
This error message is generated when an attempt is made to delete a measure that is referenced by another measure. Confirm that the measure is not part of a calculation or required by another measure in the model.

Message TR1309
The calculated measure can't use Before Rollup because it refers to a measure with the After Rollup setting.
You have attempted to set the rollup timing for a calculated measure that references a measure with a conflicting setting for the timing of rollups. For example, if you create the calculated measure M1 with a Regular Timing of After Rollup, you cannot then reference measure M1 in the expression for the calculated measure M2 if the timing for M2 is set to Before Rollup.

Message TR1310
A measure was expected but not found. Either you have referred to a measure by an object name or object identifier that Transformer is unable to locate, or you have not referenced the measure.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a measure. The problem may be that the measure was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR1312
The type of Time State Rollup used must be the default because there are multiple time dimensions.
Your model contains more than one time dimension, and when setting the type of time state rollup, Transformer has detected rollups other than the default. Transformer cannot perform time-state rollups other than default when there is more than one time dimension in the model. If a time state rollup other than default is required, you must remove one of the time dimensions from the model.

336 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR1319
Measure <measure_name> can be in multiple data sources only if the lowest levels in each regular dimension that are associated with the data sources are identical.
This error message is generated when Transformer detects a measure that obtains source values from columns in two or more data sources, but the data sources are not associated with the same levels and dimensions. For example, you have two data sources that contain source values for the Revenue measure. The data sources are not related in any other way. Both data sources have columns that are used as source values for levels in different dimensions. Transformer can't perform rollups correctly because it doesn't know how to associate measure values with specific categories. In practical terms, this means that you should only obtain measure values from multiple data sources if all of those data sources contribute to the same dimension. To solve the problem, there must be a relationship between multiple data sources for the measure to apply properly to your dimensions. Reconstruct your data sources so that the measure values are obtained from a single data source, or so that the data sources that provide measure values contribute to the same dimension. Use the Show Scope command (Edit menu) to check if data sources contribute to a dimension.

Message TR1320
Data sources associated with measure <measure_name> include levels only in the alternate drill-downs and not in the primary drill-down for dimension <dimension_name>. No source values will be in the cube for this measure.
In constructing the data sources for your model, you have created a transactional data source (containing measures) that provides category values only within an alternate drill-down path. In order for measure values to be written to the PowerCube, they must be associated with a dimension's primary drill-down path. You can check the scope of the measure by using the Show Scope command. To resolve this problem, you must reconstruct the measure's source data file so that it contains columns which provide category values for levels in the primary drill-down.

Message TR1340
The measure ' ' can use 'Ignore missing value in Time state rollup' only if it has Time state rollup of Average, Weighted Average, Minimum or Maximum.
This error typically occurs when an unsupported rollup type such as First Period, Last Period, or Current Period, is specified prior to setting the IgnoreMissingValue flag to TRUE. The default, and the only measure-handling supported in versions of Transformer earlier than Series 7 Version 4, is FALSE: retain null and missing values for all time state rollup types. For more information about rollup types, consult the index for the online help or the MDL Reference documentation. Step-by-Step Transformer 337

Appendix F: Error Messages

Message TR1502
A data source was expected but not found. Either you have referred to a data source by an object name or object identifier that Transformer is unable to locate, or you have not referenced the data source.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a data source. The problem may be that the data source was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR1503
Choosing the 'Maximize Data Source Access Speed' option may increase processing speed in some cases but Transformer will no longer detect multiple instances of source values in levels marked as Unique. Neither will it do unique moves.
If you choose the Maximize Data Access Speed option for a data source, processing speed may increase. However, Transformer won't detect any uniqueness problems in this data source. Neither will the unique move feature work for this data source. If you aren't sure that your data is unique in your data source when you have declared it to be unique, or if you use the unique move feature for this data source, select the Verify Category Uniqueness option.

Message TR1601
Transformer couldn't open the model file.
The .py? or .qy? file that you are attempting to open is not valid.

Message TR1700
The category <category_name> in the dimension <dimension_name> has < > immediate descendants. This number should normally be close to 7. More levels may be appropriate in this dimension.
This is a design recommendation and will not affect your ability to generate categories or create a PowerCube. Categories with too many immediate descendants will result in PowerPlay displays which are difficult to analyse. For example, a time dimension which has only two levels, Years and Days, would result in Year categories with 365 immediate descendants. This could be very difficult to analyse in

338 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages PowerPlay. Adding more levels, such as Quarters and Months, improves the organization and usability. You can decrease the number of immediate descendants by adding manual levels to your model. You can control when you receive this message by changing the number in the Warn When the Number of Child Categories Exceeds box, Preferences dialog box (General tab).

Message TR1703
A data input conversion or overflow error occurred at source record number < > for measure < > in source file < >.
This error message may be caused by an incorrect data type for the measure. Confirm that the data type is valid for the values stored within it and retry.

Message TR1900
The wrong ID stamp was detected on <cube_name>. This often happens when the model isn't saved after creating a PowerCube.
Transformer has detected an inconsistency between the model and the PowerCube that you are attempting to update. This can occur when you attempt to update an incrementally updated PowerCube using a version of that cube other than the one the model was most recently saved with. For example, if you save a model after creating a PowerCube using February's data, you cannot restore the January version of the PowerCube without raising this error. By clicking Cancel when this error occurs, you set the PowerCube status to Invalid. You can the Adopt the cube, in which case Transformer resets the status to OK. If you click OK when this error occurs, Transformer will proceed with the incremental update.

Message TR1903
Incremental update of <cube_name> cannot proceed because of the <status> status of an existing PowerCube.
Transformer has detected a condition that prevents it from proceeding with an incremental update to a PowerCube. This is caused when an incremental update of a PowerCube fails for some reason. For example, if you attempt to incrementally update a PowerCube when that cube is being viewed in PowerPlay, then the update will fail. When Transformer fails to incrementally update a PowerCube, it assigns that PowerCube a status of FAILED. If you then attempt to recreate the cube, Transformer will not allow you to do so, because it is possible that the cube already contains some of the data from the most recent increment. Reprocessing that increment could result in some data being added to the cube twice. To recover from the problem, you can Step-by-Step Transformer 339

Appendix F: Error Messages revert to a backed up copy of the model (prior to processing the most recent increment) and associated PowerCube, and then attempt to perform the incremental update again. revert to a backed up copy of the model (prior to processing the most recent increment) without a backed up copy of the PowerCube, and then attempt to perform the incremental update again. When you do this, Transformer will issue a warning message indicating that the time stamps on the PowerCube and the Model don't match. If you proceed to update the PowerCube, you run the risk of duplicating some data in it. rebuild your cube using the combined data from all increments. Once the cube has been recreated, you can proceed with new increments in the normal fashion.

If you know that the failed cube was caused because the cube was opened by another application, you can adopt the existing cube and then rerun the incremental update.

Message TR1907
Transformer can't gain access to database < > with signon information < >.
If you are running server Transformer, ensure that the Prompt for Password box is cleared (Signon property sheet, General tab). Prompting for a password is not relevant for server Transformer. The cube may be successfully created, even though this error message is generated.

Message TR2000
The main dimension is required in the PowerCube Group.
In a PowerCube Group, you have attempted to omit the dimension containing the level that defines the group. You cannot omit this dimension. If you want to omit a portion of the dimension, use dimension views. Be aware, however, that omitting one of the categories that defines a cube within the group by excluding or cloaking will cause that cube to be deleted from the group.

Message TR2001
The main dimension is required in the Time-Based Partitioned Cube.
In a time-based partitioned cube, you have attempted to omit the dimension containing the level that defines the cube. You cannot omit this dimension. If you want to omit a portion of the dimension, use dimension views.

340 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR2002
The main dimension is required for the User Class.
In a User Class that has been added to a time-based partitioned cube, you have attempted to omit the dimension containing the level that defines the time-based partitioned cube. You cannot omit this dimension. If you want to omit a portion of the dimension, use dimension views.

Message TR2306
You have specified a label column. Please specify an associated column also.
You may have deleted the Associations from a Level property sheet. Confirm that this information is complete.

Message TR2307
A level was expected but not found. Either you have referred to a level by an object name or object identifier that Transformer is unable to locate, or you have not referenced the level.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a level. The problem may be that the level was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

Message TR2308
A date function has been chosen but the dimension is not a time dimension.
Date functions are set for the dimension, which is not a time dimension. The dimension type, which is set on the General tab of the Dimension property sheet, is not Time. Or in MDL, the option DimType Date is not included in the Dimension definition statement. At the same time, a date function has been set for the dimension. Date functions are set on the Time tab of the Dimension property sheet. Or in MDL, they are set with the options DaysInWeek, EarliestDate, LatestDate or ManualPeriods. Either set the dimension as a time dimension or delete the date functions.

Step-by-Step Transformer 341

Appendix F: Error Messages Note: If you are deleting date functions in the user interface, you may need to temporarily select Dimension Type Time on the General tab of the Dimension property sheet so that the Time tab is enabled.

Message TR2312
You made level < > into a convergence level that connects two or more alternate drilldown paths. Categories in convergence levels must have unique source values. Can there be two categories in this level with the same source value?
You have created a convergence level but have not designated it as unique. Uniqueness is set by selecting the Unique check box in the Source tab of the Level property sheet. Or in MDL, it is set by the option UniqueCategories True in the level definition statement. If you answer No to this question, the setting will be changed to Unique and the convergence level will be created. If you answer Yes to this question, the convergence level will not be created.

Message TR2313
You are creating a level as a convergence level that connects two or more alternate drilldown paths. Categories in convergence levels must have unique source values. Is this level unique by this definition?
You have created a convergence level but have not designated it as unique. Uniqueness is set by selecting the Unique check box in the Source tab of the Level property sheet. Or in MDL, it is set by the option UniqueCategories True in the level definition statement. If you answer Yes to this question, the setting will be changed to Unique and the convergence level will be created. If you answer No to this question, the convergence level will not be created.

Message TR2314
This is not an unique level.
This error message indicates that you have a problem related to level uniqueness. This can occur when you disable some of Transformer's error-checking options so that it no longer verifies that unique levels contain unique categories you use multiple data sources in a model and don't define levels associated with columns from multiple data sources as unique you create an alternate drill-down structure that requires a unique converging level, and Transformer asks you to verify the uniqueness property before proceeding you specify that a level is unique and Transformer detects that it is not

342 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages The error message may also be due to a data problem. Confirm that your source data file is valid for the model.

Message TR2316
The level <level_name> can't be deleted because it is referenced by PowerCube <cube_name>.
You have attempted to delete a level that defines a PowerCube group. Transformer will not allow you to delete such a level. If you want to delete the level, you must first delete or modify the PowerCube group that uses the level's categories to define cubes within a cube group. For more information, see "Define PowerCube Groups " (p. 130).

Message TR2317
The level <level_name> is designated as unique. Source value <source_value> was used in an attempt to create a category in the path <drill_path_1>. < source_value > already exists in level <level_name> in the path <drill_path_2 >.
This error message indicates that you have a problem related to level uniqueness. This can occur when you disable some of Transformer's error-checking options so that it no longer verifies that unique levels contain unique categories you use multiple data sources in a model and don't define levels associated with columns from multiple data sources as unique you create an alternate drill-down structure that requires a unique converging level, and Transformer asks you to verify the uniqueness property before proceeding you specify that a level is unique and Transformer detects that it is not

The error message may also be due to a data problem. Confirm that your source data file is valid for the model.

Message TR2318
Transformer has detected < > attempts to create a category in more than one path. Refer to the online help for a detailed explanation of level uniqueness.
This error message indicates that you have a problem related to level uniqueness. This can occur when

Step-by-Step Transformer 343

Appendix F: Error Messages you disable some of Transformer's error-checking options so that it no longer verifies that unique levels contain unique categories you use multiple data sources in a model and don't define levels associated with columns from multiple data sources as unique you create an alternate drill-down structure that requires a unique converging level, and Transformer asks you to verify the uniqueness property before proceeding you specify that a level is unique and Transformer detects that it is not

The error message may also be due to a data problem. Confirm that your source data file is valid for the model.

Message TR2319
A convergence level in an alternate drill-down path must be unique.
This error message indicates that you have a problem related to level uniqueness. This can occur when you disable some of Transformer's error-checking options so that it no longer verifies that unique levels contain unique categories you use multiple data sources in a model and don't define levels associated with columns from multiple data sources as unique you create an alternate drill-down structure that requires a unique converging level, and Transformer asks you to verify the uniqueness property before proceeding you specify that a level is unique and Transformer detects that it is not

The error message may also be due to a data problem. Confirm that your source data file is valid for the model.

Message TR2320
You are attempting to sort a date level in descending order. This will create incorrect relative-time calculations. Do you want to continue?
Transformer uses the ordered set of categories in a time dimension to perform relative time calculations for relative time categories. If you reverse the order of the categories in the time dimension by sorting them in descending order, Transformer will no longer be able to perform relative time calculations correctly. When re-ordering categories in the time dimension, you must decide which aspect of the model is most important: the order of categories within the time dimension, or the relative time categories that are included within the time dimension.

344 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR2321
A share object level must be an ancestor of a share target level.
You have tried to apply a share object to a category or categories at one level when the share object that is currently set is at a lower level than the categories to which you are applying the share object, or not an ancestor of the categories to which you are applying the share object.

Ensure that when you apply a share object, you have set the share object to be an ancestor category.

Message TR2322
A share object level must be in the same dimension as its target categories.
You have tried to apply a share object to one or more categories when the share object is currently set to a category in another dimension. This is not supported. A share object must be an ancestor category of the category to which you are applying the share object.

Message TR2323
The share object ID is invalid. A share object must be an object identifier of a category or level in the same dimension.
You have attempted to specify an invalid share object. The share object must be an existing category or level must be at a higher level in the same dimension must be specified by its object identifier

To view the object identifier for each object, select the Object Identifier check box in the Titles tab of the Preferences dialog box. The object identifier will appear in the title bar at the top of property sheet, and will also appear in a tooltip when your cursor hovers over an object. You can also find object identifiers in the .mdl file.

Message TR2324
Partitioning can be specified only for levels in the primary alternate drill-down.
Typically, this error message is written to the log file in response to an MDL script that attempts to specify a partition number for a level in an alternate drill-down path. The user interface for Transformer does not normally allow you to specify partition level numbers in levels other than those in the primary drill-down structure.

Step-by-Step Transformer 345

Appendix F: Error Messages To rectify the problem, you should verify that your partitioning is specified for levels in the primary drill-down only. If partitioning is required for levels in an alternate drill-down path, consider making that path the primary drill-down path. Note, however, that changing the primary drilldown path will remove all current partitioning information from your model.

Message TR2325
The Short Name column you specified for level <level_name> isn't in the Data Sources list.
You have specified a column to supply Short Names for the categories in a level, and Transformer is unable to find the column that you specified. Ensure that the column name you specify matches one that is defined in a data source for your model.

Message TR2326
The Description column you specified for level <level_name> isn't in the Data Sources list.
You have specified a column to supply a Description for the categories in a level, and Transformer is unable to find the column that you specified. Ensure that the column name you specify matches one that is defined in a data source for your model.

Message TR2502
A view was expected but not found. Either you have referred to a view by an object name or object identifier that Transformer is unable to locate, or you have not referenced the view.
This error occurs when MDL syntax requires an object and is unable to find it. In this case the object is a view. The problem may be that the view was not referenced, or that it was referenced with an incorrect object name or object identifier. For details about MDL syntax, see the Transformer MDL Reference. You can verify object names and object identifiers in the user interface. To make them visible, select the Object Name and Object Identifier check boxes in the Preferences dialog box (Titles tab). The object name and identifier will appear in the title bar at the top of each property sheet, and will also appear in a ToolTip when your cursor hovers over an object.

346 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR2503
Special categories can't be summarized in dimension views.
This error message typically appears in the log file in response to an action requested by an MDL script. Under normal circumstances, the Transformer user interface will not allow you to perform invalid operations on special categories in a dimension view. You cannot exclude, summarize, or cloak a special category in a dimension view. If you encounter this error, ensure that the category object identifier that you specified in the CatUpdate or CatMake statement does not refer to a special category.

Message TR2504
Special categories can't be suppressed in dimension views.
This error message typically appears in the log file in response to an action requested by an MDL script. Under normal circumstances, the Transformer user interface will not allow you to perform invalid operations on special categories in a dimension view. You cannot exclude, summarize, or cloak a special category in a dimension view. If you encounter this error, ensure that the category object identifier that you specified in the CatUpdate or CatMake statement does not refer to a special category.

Message TR2505
Special categories can't be cloaked in dimension views.
This error message typically appears in the log file in response to an action requested by an MDL script. Under normal circumstances, the Transformer user interface will not allow you to perform invalid operations on special categories in a dimension view. You cannot exclude, summarize, or cloak a special category in a dimension view. If you encounter this error, ensure that the category object identifier that you specified in the CatUpdate or CatMake statement does not refer to a special category.

Message TR2506
An apex action can't be done with special categories.
This error message typically appears in the log file in response to an action requested by an MDL script. Under normal circumstances, the Transformer user interface will not allow you to perform invalid operations on special categories in a dimension view. You cannot exclude, summarize, or cloak a special category in a dimension view. If you encounter this error, ensure that the category object identifier that you specified in the CatUpdate or CatMake statement does not refer to a special category.

Step-by-Step Transformer 347

Appendix F: Error Messages

Message TR2507
This dimension view can't be deleted. It is pre-defined.
You have attempted to delete one of the following predefined dimension views: All Categories Omit Dimension

These default dimension views are created for every dimension, and are used to include or exclude entire dimensions from a PowerCube. You cannot delete, reorder, or rename them.

Message TR2508
This view is in use. If it is removed, references to it will use All Categories. Do you want to remove it?
You have attempted to delete a dimension view that is currently being applied to one or more of the cubes in the PowerCubes list. By deleting the view, you remove any restrictions (excludes, summaries, cloaking, and so on) that were imposed on those cubes by the view. This can be an issue if you are creating cubes for specific audiences, and the removal of the view will allow some users to view data they should not be able to access.

MessageTR2509
The position of the pre-defined views 'All Categories' and 'Omit Dimension' can't be changed.
You have attempted to reorder one of the following predefined dimension views: All Categories Omit Dimension

These default dimension views are created for every dimension, and are used to include or exclude entire dimensions from a PowerCube. You cannot delete, reorder, or rename them.

Message TR2510
The names of the predefined views 'All Categories' and 'Omit Dimension' can't be changed.
You have attempted to modify one of the following predefined dimension views: All Categories Omit Dimension

These default dimension views are created for every dimension, and are used to include or exclude entire dimensions from a PowerCube. You cannot delete, reorder, or rename them.

348 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR2600
An error occurred during the creation of a PowerCube. Try creating the PowerCube again.
There is a problem with the temporary files that are created during the creation of a PowerCube. The location of the temporary files is set on the Directories tab of the Preferences dialog box, Data Temporary Files (dir1;dir2). If the location box is blank, use the What's This? help on the property sheet for information about default locations. You may have insufficient disk space to create these files. Ensure that there is sufficient free space in the file location. If this is not the problem, try deleting all temporary files that are currently in existence. They may have become corrupted.

Message TR2601
An error occurred while saving.
Transformer was unable to save the model. Verify that the directory in which you are saving your model is one to which you have write access. If a model file with the same name already exists, verify also that the existing .PY? file you are attempting to overwrite is not read-only.

Message TR2605
Transformer can't process this model. It uses features that are part of a more comprehensive edition than the one you have installed. Refer to the documentation for a description of the 4 available editions.
This error message is returned when a model using advanced features of PowerPlay Transformer is opened in an edition that does not support them. PowerPlay is available in several distinct editions. The differences between these editions are in the scope of what you can do in Transformer. Additionally, a server model can only be opened in server Transformer.

Message TR2606
Transformer has detected one or more suspended models. Show the list of suspended models?
Transformer has detected suspended models (.qy? files) that contain checkpoints of suspended models. You can examine the list of suspended models and then attempt to recover them. The recovery dialog box offers two options:

Step-by-Step Transformer 349

Appendix F: Error Messages Open Suspended Model at Last Checkpoint opens the selected model at the last checkpoint before failure. You can then view the failed model, continuing to develop it from that checkpoint. Open Last Saved Model and Delete Checkpoint File opens the selected model as it was last saved, and then deletes the corresponding .qy? file. If the model was not previously saved, Transformer will not be able to open it, but you can then choose to retain the .qy? file to open the suspended model at the last checkpoint.

Message TR2608
Suspended models were not found.
You have asked Transformer to view any suspended models that may exist, and Transformer cannot locate any suspended models. By default, Transformer stores suspended models with the extension .QY? in your temporary directory . If you know that suspended models should exist (because Transformer failed at some point), search your path for files with this extension.

Message TR2700
The columns in formulated data source <data_source_name> don't match the original source columns.
One of the source data files associated with a data source has changed so that its columns no longer match the ones in the data source object defined for the model. When you create a model, the columns in each data source are saved as part of the model definition. If you reorder, add, delete or rename the columns in the source data file, Transformer detects that the columns in the source file no longer match those in the data source. To solve this problem, use the Modify Columns command to match the columns in the source data file with the columns in the data source.

Steps
1. Click the affected data source. 2. From the Tools menu, click Modify Columns. A plus sign (+) appears to the left of all columns in the model for which Transformer detects a change. 3. For each changed column, click Match, Add or Remove.

Message TR2701
The columns specified by the alternate data source for PowerCube <cube_name> don't match the columns in <data_source_name>.
The columns in an alternative source data file specified for a PowerCube in its property sheet (General tab) do not match the columns in the data source defined in the model.

350 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages Ensure that when you use an alternative data source to create a PowerCube, the columns in the alternative file match the columns in the data source that the alternative file is associated with.

Message TR2702
There isn't a data source that is associated with dimension < >.
The specified dimension has no data sources associated with it. To resolve this problem, ensure that you have included all of the data sources required for each dimension in your model the column names for each level match the name of a column in the Data Sources list you have not created a dimension that contains only manual levels you have not deleted a data source required for a dimension you have not set the Timing property of the data source such that the data source is never used to generate categories for the model.

Message TR2703
A column in data source <data_source_name > matches level <level_name> in dimension <dimension_name> by name. Values from this data source column cannot be related to categories in this level because insufficient context is specified in the data source.
Transformer issues this error message when generating categories for the model if it is unable to associate a data source column with some level in the model. You can solve the problem in the following ways: If the level you want to associate with the column contains only unique category values, select the Unique check box on the Level property sheet (Source tab). This allows Transformer to directly associate the values from the column with the level. Transformer can then use columns from other data sources to obtain values for the ancestor categories. Restructure your source files so that the data source named in the error message contains all of the required ancestor columns.

For all ancestor columns, ensure that the Data Class box in the Column property sheet (General tab) is not set to Ignore.

Step-by-Step Transformer 351

Appendix F: Error Messages

Message TR2704
Dimension <dimension_name> contains an unbalanced category-tree in which not all leaf categories exist in the same level.
Transformer has encountered a condition in which not all leaves exist at the same level. This can occur when your model uses multiple data sources and those data sources generate categories for disjoint levels. For example, suppose two data sources are used to generate categories for a Products dimension that contains the levels Product Line, Product Brand, and Item. If one data source contains values that generate categories down to the Item level while the other contains values that generate categories down only to the Product Brand level, then the dimension is unbalanced, as leaves occur at different levels in the dimension hierarchy. Ensure that all data sources generate categories to the same level in the dimension. Also, ensure that the timing for each data source in the Data Sources list is set so that categories are generated using the appropriate data sources.

Message TR2705
PowerCube <cube_name> doesn't have any measures included.
You have excluded all of the model's measures. Open the property sheet for the PowerCube you are creating, and click the Measures tab. Ensure that you have included at least one measure.

Message TR2706
Level <level_name> can't be reached in drill-down path <drill_category_name> for data source <data_source_name>. A level can be the first source level, be directly below a source level, or be designated as a unique level. All measures in data source <data_source_name> will have zero values in the PowerCube.
The level that is identified in the error message is not accessible in the listed drill-down path. If the level is associated with a column in a data source that does not contain the ancestor levels, ensure that the level is unique. Ensure also that identically-named column(s) exist in one or more other data sources, and that these other data sources also include the columns that generate categories for ancestor levels.

Message TR2707
Measure <measure_name1> is referenced by the calculated measure <measure_name2>. These measures must have the same rollup timing.
You have specified calculated measures, one of which references the other, and which have conflicting rollup timings.

352 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages For example, you have created calculated measure M1 with a Regular timing of Before Rollup. If you then create calculated measure M2 with a Regular Timing of After Rollup, and you reference M1 when defining M2, the rollup timings will conflict. Ensure that the rollup timings specified for calculated measures do not conflict.

Message TR2708
Regular measures <measure_name1> and <measure_name2> are referenced by the calculated measure <measure_name3> , which has a rollup timing of 'before rollup'. Therefore, both regular measures must be associated with the same data sources.
When you reference two or more measures in a calculated measure with a rollup timing of Before Rollup, ensure that the measures come from the same data sources. This is required because when rollups are performed, each component parts of the calculated measure must be available to provide the necessary values to perform the rollup. This is only possible when the component parts of the calculated measure exist in a single data source. To resolve the problem, restructure your source data file so that all source measures used in a "Before Rollup" calculated measure are contained in the same file.

Message TR2710
Level <level_name> has an allocation specified for measure <measure_name1> using measure <measure_name2>. The referenced measure must include a deeper level in its measure scope than the measure being allocated.
A measure that you have used to allocate another measure does not cover the portion of the dimension map over which you are attempting to allocate values. For example, you cannot proportionally allocate values for Measure A to lower levels in a dimension using Measure B if Measure B's domain does not include the levels to which you are attempting to allocate.

Message TR2711
There are no data sources set for category generation.
You have attempted either to generate categories or create PowerCubes, and no data sources are set to be run as part of the category generation process. To generate categories, open the property sheet for each of the data sources in your model. On the General tab, ensure that the Generate Categories check box is selected for each data source that provides category values for the model.

Step-by-Step Transformer 353

Appendix F: Error Messages

Message TR2712
There are no data sources set for PowerCube creation.
You have attempted to create a PowerCube using either the Create PowerCubes command or PowerBar button. However, no data sources are set to be run as part of the PowerCube creation process. To create PowerCubes, open the property sheet for each of the data sources in your model. On the General tab, ensure that the PowerCube Creation check box is selected for each data source that provides PowerCube information (measure values) for the model.

Message TR2713
A circular allocation reference has been detected for measure <measure_name1> in level <level_name>. Measure <measure_name1> is allocated using another measure. At the same time another measure is allocated using <measure_name1>.
Measures cannot be allocated by their own values, or by other measures that are allocated by those values. For example, if you allocate Measure A using values for Measure B, you cannot then allocate some other measure (say, Measure C) using values for Measure B if Measure C is allocated using Measure A values.

Message TR2714
A circular allocation reference has been detected for measure <measure_name1> in category <category_name>. Measure <measure_name1> is allocated using another measure. At the same time another measure is allocated using <measure_name1>.
Measures cannot be allocated by their own values, or by other measures that are allocated by those values. For example, if you allocate Measure A using values for Measure B, you cannot then allocate some other measure (say, Measure C) using values for Measure B if Measure C is allocated using Measure A values.

Message TR2715
Measure <measure_name1> is allocated by the calculated measure <measure_name2>. Measure <measure_name1> is a component of the calculated measure.
A calculated measure references a measure that uses that calculated measure for allocation. For example, if the measure Fixed Costs is used in the expression for a calculated measure Fixed Cost Ratio, as in
Fixed Cost Ratio = (Fixed Costs/Sales) * 100

then you cannot use the measure Fixed Costs to allocate values for the measure Fixed Cost Ratio.

354 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages

Message TR2716
Category <category_name> is inaccessible in dimension <dimension_name>. No data can be reported against it in the PowerCube. A category is accessible if it or a descendant exists in a key level, or it has an ancestor with allocated measures values.
This message is simply a warning. You have created a dimension in which one or more categories cannot be accessed. This can occur, for example, when you create a special category that is not connected to a source category. Another cause is that there is no Current Period category: the Automatically Set the Current Period check box is cleared (Dimension property sheet, Time tab, for a time dimension) and no date category has been selected as the current period (Diagram menu, Set Current Period).

Message TR2717
Category <category_name> has no children in dimension <dimension_name> in at least one dimension view or Cube Group. This category cannot have a partition specified.
Check Model has detected a condition in which a dimension view has caused one or more categories to become the lowest-level active categories in a dimension. In essence, these categories become leaf level categories. Because Transformer does not allow partitioning on leaf level categories, this is not allowed. To remedy the problem, you can either repartition your model so that the categories that become leaves in the dimension view are not partitioned. This will require you to completely repartition the model. change the dimension view so that the partitioned categories are not at the lowest level in the view

Message TR2718
Dimension < > has no measures associated with it. During PowerCube generation, no data source will be able to provide data for this dimension.
In a model that reads data from multiple data sources, the data sources that are used to provide category values for the named dimension have no measures associated with them. A possible solution is to ensure that when you set up multiple data source models, you include data sources that contain measures for each dimension. For multiple data source models, this requires you to set up a structural data source that provides category values for the dimension one or more transactional data sources that contain one or more columns with measure values at least one column associated with a unique level in the dimension

Step-by-Step Transformer 355

Appendix F: Error Messages

Message TR2719
Data source < > contains no measures. It is referred to as a structural data source and should come before all measure data sources in the data sources list.
Transformer assumes that data sources without measures are intended to provide structure for the model by generating categories. As a result, Transformer processes these data sources prior to processing those with measures. In order to keep the data sources in the Data Sources list sorted in the order that Transformer processes them, you should place structural data sources at the top of the Data Sources list with transactional data sources below them.

Message TR2720
Measure < > has a time state rollup specified. For this reason, no categories may be summarized or cloaked in time dimension views. Category < > is summarized or cloaked in at least one view in dimension < >.
Transformer does not allow summary dimension views in a time dimension when a time state rollup has been specified for one or more measures. To resolve this problem, you can do one of the following: eliminate the summary view from the time dimension eliminate the time-state rollup for the measure

Message TR2723
A gap has been detected between partition <n> and <n>. No gaps in partition numbers are permitted.
You have attempted to specify partition level numbers for a model, and you have inadvertently missed a number in the specification of partition level numbers. For example, if a dimension contains 4 levels (Level1 through Level4), then you cannot assign partition level 1 to higher-level categories in the dimension and then assign partition level 3 to descendants. Partition level 2 must be assigned to intermediate descendants (between the categories assigned levels 1 and 3). The same holds when you specify partition level numbers across dimensions. You cannot set level 1 for categories in a dimension and level 3 for categories in another dimension without setting level 2 somewhere else.

Message TR2724
Partition <n> is defined in dimensions <dimension_name1> and <dimension_name2>. A partition number cannot be assigned in more than one dimension.
When you assign a partition level number, that number can only be assigned to categories within a single dimension. 356 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages For example, you cannot include categories from both a time dimension and a Products dimension to partition level 1. Check the partition numbers that are currently specified for the categories in your model.

Message TR2725
Category <category_name1> is a descendant of category <category_name2> and share the same partition number in dimension <dimension_name>. A partition number can only occur once in a category path of a dimension.
When you specify partition level numbers, ensure that you don't use the same level number more than once in the path from the root to the leaf of a dimension. For example, in a time dimension, it is valid to assign partition level 1 to the years 1990 through 1995, and then use the same level number (1) for quarters in 1996. However, once you have assigned level 1 to a year, you cannot then assign the same level number to any category in any lower level of that year.

Message TR2726
Category <category_name1> is a descendant of category <category_name2> in dimension <dimension_name>. The partition number specified for <category_name2> cannot be greater than the partition number of <category_name1>.
When you specify partition level numbers in a dimension, the numbers of lower levels must be greater than those specified for their ancestors. For example, in a time dimension, if you assign partition number 1 to categories in the Year level and number 2 to categories in the Month level, you cannot then assign partition level 3 to categories in the Quarters level. When you set up partition levels, ensure that you start numbering at 1 for higher levels, 2 for child categories, 3 for deeper child categories, and so on.

Message TR2727
Measure <measure_name1> is an allocated measure which is referenced by the before rollup calculated measure <measure_name2>. A before rollup calculated measure cannot have allocated measures as components.
When setting up a calculated measure with a rollup timing of Before Rollup, you cannot use an allocated measure in the expression for the calculated measure. Because allocation is performed at run time, the allocated value is not available to perform the calculation before rollups are performed.

Step-by-Step Transformer 357

Appendix F: Error Messages

Message TR2728
Data Source <data_source_name> is an .iqd definition which references database <database_name>. This database has no database type specified.
Transformer is unable to locate a database type (for example OR for Oracle or CT for Sybase Client Library). Check the database definition specified in Impromptu, as well as the entry for the database in the [PowerPlay Server List] section of your Cognos.ini or COGCONNECT.ini file.

Message TR2729
Measure <measure_name> has a time state rollup specified. This measure does not touch the lowest level in dimension <dimension_name> causing time state rollup values to be zero in any cubes that reference this measure.
When defining time-state measures, ensure that the column providing date values is sufficiently detailed to calculate time state measures. For example, if you define a time state measure called Inventory Level and your time dimension contains Year, Month, and Week, ensure that the dates in your source data files provide details down to the Week level in the time dimension. You can set the level of detail for the column associated with your time dimension using the Degree of Detail property on the Column property sheet (Time tab).

Message TR2731
Cube group <name> is not defined in the primary drilldown path in dimension <dimension_name>. A cube group must be specified in the primary drilldown of a dimension that has alternate drilldowns.
You cannot define cube groups based on a target level that exists in an alternate drill down. Cube groups can only exist for levels in the primary drill down. To remedy this problem, you can use the Drill Category property sheet (General tab) to make the drill-down path in which you are defining the cube group the primary drill down. However, before you do so, ensure that the current primary drill down does not contain specifications (such as allocated measures and partitioning) that are not allowed in alternate drill downs.

Message TR2732
The target category < > in cube group < > which summarizes external categories cannot be suppressed or cloaked in any dimension views in dimension < >.
When you define a cube group, you cannot apply a dimension view that omits one of the categories in the target level.

358 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages For example, suppose you create a cube group based on the level State (in the Regions dimension), and the level contains three categories: California, New York, and Massachusetts. You cannot then apply a dimension view that suppresses or cloaks any of those three states.

Message TR2733
Data Source <data_source_name> is not associated with any dimensions that are included in cube <cube_name>. This data source will be ignored during .mdc generation.
In the Dimensions tab (PowerCube property sheet), you have omitted one or more dimensions with which the named data source is associated. Because the values in the dimension are not required for the PowerCube, Transformer ignores the data source when it creates the .MDC file.

Message TR2734
All cubes have been disabled. MDC generation is not possible.
Check the PowerCube Status dialog box (Tools menu). All the PowerCubes defined for the model have been set to a state of Disabled. You must enable at least one PowerCube in order for Transformer to create PowerCubes.

Message TR2735
Measure < > has an average regular rollup with a weight measure < > specified. Both measures must exist in the same data source in order for the weight measure to be applied.
Ensure that measures used to weight other measures exist in the same data source. Transformer analyses one data source at a time, and so both measures must exist in the same data source.

Message TR2736
Measure < measure_name1> has an average time state rollup with a weight measure < measure_name2> specified. Both measures must exist in the same data source in order for the weight measure to be applied.
Ensure that measures used to weight other measures exist in the same data source. Transformer analyses one data source at a time, and so both measures must exist in the same data source.

Step-by-Step Transformer 359

Appendix F: Error Messages

Message TR2737
Measure < measure_name1> has an average duplicates rollup with a weight measure < measure_name2> specified. Both measures must exist in the same data source in order for the weight measure to be applied.
Ensure that measures used to weight other measures exist in the same data source. Transformer analyses one data source at a time, and so both measures must exist in the same data source.

Message TR2740
Measure < > has a time state rollup specified. There is no time dimension in this model, the time state rollup will have no effect.
Check that the rollups set for the measure are defined correctly. You may have inadvertently set a time state rollup instead of a regular rollup. Time state rollups have no effect on models that do not contain a time dimension.

Message TR2800
Transformer couldn't read the connection information for database <database_name> from file COGNOS.INI.
Transformer is unable to read the database information for a database that you are accessing via an Impromptu IQD file. Check the entry for the database in the Cognos.ini or COGCONNECT.ini file.

Message TR2801
Transformer couldn't initialize the connection. Check the PowerGrid .DLL files in your installation.
Transformer cannot communicate with the server. Check your communications .dll's. Look for the file mwskj.dll in your Cogapps directory. You can find out where your Cogapps directory is located by looking in your Cognos.ini or COGCONNECT.ini file. You may be using command line options incorrectly. This error can be caused by running either of the following command lines: rsserver -w ... rsserver.sh ...

The -w switch is not a valid switch for initiating rsserver in the command line. (This switch is used by netd to start rsserver in client-server mode.)

360 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages Running the rsserver.sh script will also attempt to start rsserver in client-server mode, because the final line contains rsserver -w. Some valid command line formats are: rsserver -c -p model.py? rsserver -c -m model.py?

Message TR2802
Transformer couldn't start the remote server task.
Transformer is unable to start rsserver, the server version of Transformer. Verify the following: The owner of the rsserver files has not been changed from root to another user after installation. The entry in the COGCONNECT.ini file matches the following: [ Service - Transformer Server] network=rsserver.sh The -w option has not been removed from the line in the rsserver.sh file that launches server Transformer. For example, # launch Transformer in PowerGrid mode... exec $COGNOS_HOME/rsserver -w If the -w option is removed from that line, Transformer will not launch in PowerGrid mode. The PowerGrid network daemon (netd) is running on the server and that you can communicate with it. Use NetInfo to test your connection. You can use one of the following commands to determine if PowerGrid has been started:

Operating system
AIX HP-UX Sun Solaris

Command
ps -ef | grep netd | grep cognos ps -ef | grep netd ps -ef | grep netd | grep -v grep

The shell script registered in COGCONNECT.ini (normally rsserver.sh) exists on the server and is named correctly. The first line of rsserver.sh or the netpgrc file points to the location of the .sh executable (Bourne shell). By default, it should read something like #!/usr/bin/sh or #!/bin/sh. The syntax for setting the database's environment variables in rsserver.sh is correct. If a shell script is being launched from rsserver.sh to set environment variables for the database, ensure that the script runs without errors.

Step-by-Step Transformer 361

Appendix F: Error Messages

Message TR2803
Transformer couldn't connect to the active server task.
Transformer is unable to connect to a running server either because it is busy or no longer running, or because the model has become corrupted.

Message TR2804
The client/server connection has failed.
Transformer is unable to communicate with Server Transformer. There are several possible causes of this error. Ensure that the PowerGrid network daemon (netd) is active on the server. You may need to bring netd down and restart it. Ensure that your communications port setting is set to match the one defined for PowerGrid on the server. The problem may be that fin_wait_2 may be running; it conflicts with netd. Fin_wait_2 is an HP process that runs on UNIX machines. The process is associated with the port number for netd. To determine if it is running, check the processes running on the UNIX machine that are associated with the port that is used by netd: netstat -n |grep 1526 or WAIT The only way to get rid of fin_wait_2 is to reboot the system. To resolve the problem, start netd under a different port ID. Ensure that the new port ID is also reflected in the /etc/services file and in Netinfo on the client. HP has released a patch to resolve this problem; it kills the fin_wait_2 process after a specified amount of time. This error may also occur when a new version of Transformer is installed on the client, but the upgrade for rsserver has not been installed. The version of Transformer on the client should be accessing the same version of rsserver on the server. If there are currently two versions of rsserver active on the system (for example, Transformer 5.21 and 6.0), then it is necessary to have two Netd processes running on separate port numbers. Contact your UNIX administrator for further assistance. The problem may be insufficient disk space in the directory on the UNIX system to which temporary files are written. Try to increase the disk space. Otherwise, set the following environment variables (either in rsserver.sh or in the trnsfrmr.rc preferences file) to point to a location that has sufficient disk space: DataWorkDirectory=<UNIX directory> ; export DataWorkDirectory ModelWorkDirectory=<UNIX directory> ; export ModelWorkDirectory

Message TR3006
Access Manager detected an invalid parameter value. Call Cognos Support.
This error message indicates that auto-access permissions are enabled but Access Manager does not have valid cubes set up for auto-access. 362 IBM Cognos Series 7 PowerPlay Transformer

Appendix F: Error Messages A workaround is to move the Access Manager file to a different directory. Errors may appear but the model will be accessible. Clear the Include Access Manager Auto-Accesses in the Model box in Model Properties (Authentication tab).

Message TR3010
Access Manager configuration < > could not be found or contains invalid information.
An Access Manager authentication file couldn't be found. When you specify an Access Manager file to be used as an authentication source in a model, the name of the file should not include its path. It should only be the name as it is defined in the Access Manager Administration utility.

Message TR3014
The file system has denied access to Access Manager.
The authentication file may be in a read-only directory or on a read-only drive. Transformer must be able to write to the authentication file. Remove read-only restrictions from the authentication file.

Message TR3101
Transformer couldn't create the directory < >.
You may have insufficient space in your temp directory or on the drive where the temp directory resides. Try the following: Free up some disk space. Check free conventional memory and swap file size. Run Scandisk and Defragmenter to ensure that the free hard drive space is contiguous.

Message TR3311
An error occurred during data retrieval from the database. Refer to Details for more information.
If you are attempting to create a PowerCube using IQDs which access an Oracle data source, and this error occurs only during peak network traffic times, the problem may be that the expire_time parameter has been changed in the sqlnet.ora file. The expire_time parameter has a default of zero. Contact Oracle for more information about this file and parameter, and do not modify the setting without the express permission of the Oracle database administrator.

Step-by-Step Transformer 363

Appendix F: Error Messages

Message TR3439
The temporary checkpoint file has become corrupted. Restart Transformer and reopen the model file.
For some reason, the checkpoint file (.qy?) changed unexpectedly or was deleted while in use. To solve this problem, save your work, close Transformer, then reopen your model file in Transformer.

Message TR3505
Cannot open the .dbf file < >.
There is a problem with the .dbf file that is used as a data source. Ensure that the .dbf file name is eight characters or less, and check that the path and name are correct. There may also be a problem with the Type setting. The file type is set in the Source type box, found on the Source tab of the Data Source property sheet. Or in MDL, it is set with the SourceType option in the Data Source definition statement.

Message TR3619
Can't open the spreadsheet file < >.
The most common cause of this error is that there is a conflict between the two locations in Transformer where paths are set. Paths for source files are set in two locations. The first is the Data Source box in the Directories tab of the Preferences dialog box. Preferences are also located in the file Trnsfrmr.ini. The other is the Local Data File box on the Source tab of the relevant Data Source property sheet. Or in MDL, this local data source is set with the option Source in the data source definition statement. Check that there is no conflict between the two settings. For example, if the Local Data Source setting is a relative path, it will attach to the Data Source path and the resulting path must be valid.

364 IBM Cognos Series 7 PowerPlay Transformer

Glossary
.iqd file
See Impromptu Query Definition File (.iqd).

.mdl file
A file that represents a model and is stored in plain text format using Transformer's MDL (Model Definition Language). MDL files can be opened in Transformer or in any text editor.

.ppr file
A file format that can be read by PowerPlay Windows client.

.py? file
A model file stored in the default binary format. The question mark (?) in the extension .py? is replaced by the character used in your version of Transformer. See also, MDL File.

.qy? file
A temporary file that contains checkpoint entries of each major stage in the cube creation process. Because this file is deleted when the process ends normally, the existence of a .qy? file indicates that Transformer terminated unexpectedly. The question mark (?) in the extension .qy? is replaced by the character used in your version of Transformer.

activate
Open an OLE object in its source application so that you can explore or change the object. If an object is activated in place, it opens in the window in which it is linked or embedded, and the toolbars and menus of the source application merge with those in the window.

advanced subset definition


A query that selects a new set of categories based on a dimension, drill-down path, and category level or levels. You can further restrict the selection by adding find-in-cube and value restrictions, and by including or excluding parent categories. See also Find-In-Cube Subset Definition, Parentage Subset Definition, Value Restriction, and Subset Definition.

alias
A different name for a table or entity so that the table or entity appears more than once. You use aliases to resolve self-joins between tables, or to resolve ambiguous query paths by associating aliases with different relationships than those of the original entities. Alias is an Impromptu term that is called synonym (for tables in the data access layer). See also supertype entity. Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010. 365

Glossary

allocation
The process of placing summary data in a level, dimension, or category. Values can be allocated as constants or in proportion to another measure.

alternate drill-down path


One of the drill-down paths in a dimension that contains multiple drill-down paths. Some tasks, such as partitioning and allocating, cannot be performed on alternate drill-down paths. In IBM Cognos Visualizer, alternate drill-down paths are identified by italics in the user interface.

ancestor category
In PowerPlay, a category above another category along a drill-down path. For example, 2003 is an ancestor category of 2003/Apr.

apex
Omits the ancestors and siblings of a category from the dimension view. The base category in the resulting dimension view is the apexed category. When a cube is created from this dimension or user class view, users see only the apexed category, its descendants, and any special categories that reference them. An apex action can be performed only in view diagrams. See also, Exclude.

association
A link between two objects. In Transformer, the link between an item in a Transformer model, such as a level, and related columns, attributes, or tables in the data source. An association specifies a type, such as a column, and a role, such as a source, label, description, or drill-through target. In IBM Cognos Visualizer, the link between a filter and the chart, panel, or scene that uses the same data source. A filter associated with a data source is automatically applied to new charts that use the same data source. The author who created the association can remove the association anytime using the filter property sheet.

attribute
A property that qualifies, identifies, classifies, or quantifies an entity. For example, a Customer entity might contain the attributes: Customer Name, Customer Code, and Address.

AutoDesign
A feature of Transformer that generates a preliminary model of dimensions and measures based on the relationships it detects in source data.

366 IBM Cognos Series 7 PowerPlay Transformer

Glossary

automatic exceptions
Exceptional values that are automatically highlighted. A value is considered exceptional if it deviates significantly from the expected value computed from its row and column percentages.

autoregression
A method of forecasting based on the auto-correlation approach to time series forecasting. Autoregression forecasting is most reliable when the driving factors of your business affect your measures in a seasonal fashion.

bar chart
A chart that compares one item to another item or compares one item over time. A bar chart can reveal trends and patterns. In Visualizer the bar chart also reveals trends and patterns but also shows changes across a parameter, such as a region or time, or compares two or more variables. You can create bar charts in twodimensional or three-dimensional format. Bar charts can be sorted in ascending or descending order. Use a sorted bar chart to determine the most or least significant contributors to a situation. A progressive bar chart shows cumulative values. Each bar representing a measure value starts where the previous bar ended. See also chart, cluster bar chart, and stacked bar chart.

base value
The category against which proportions are calculated in Percent of Base calculations.

blanks
Blank rows or columns inserted in a report for visual effect. For example, you can use a blank row and column to separate the data from the summary row and column.

calculated category
A category that shows the results of a calculation. Calculated categories are added to the cube in Transformer. In PowerPlay Web Explorer, you can choose to hide calculated categories.

calculated column
A column whose values are calculated from other columns, functions, constants, and other calculated columns.

calculated measure
A measure whose values are calculated from other measures, mathematical operators, and numeric constants in an arithmetic equation. See also measure.

Step-by-Step Transformer 367

Glossary

calculation precedence
The order in which PowerPlay for Windows evaluates intersecting calculations. The calculations are performed in the following order: 1. calculated measure (after rollup calculation) 2. calculated category 3. dynamic rollup 4. regular rollup (with optional currency conversion calculated before rollup).

category
A division within a system of classification. In PowerPlay, a category contains items in the rows, columns, and layers of a report In Transformer and in IBM Cognos Visualizer, categories can be different levels of information within a dimension. Categories can be grouped into more general categories. For example, a set of dates can be grouped into a month, and months into quarters, and quarters into years. In IBM Cognos Finance, a group of related reports, input forms, or libraries. Two levels of categories are used to organize libraries and forms: first-level categories lead to second-level categories that lead to a list of items. This branching is called the category path.

category code
A name that uniquely identifies a category within a dimension. The category code is generated by Transformer when it creates the category. See also, category, category label, object ientifier, source value, and special category.

category count
A measure that records the number of unique, non-zero, non-missing values for the categories in the dimension and level you specify.

category label
A name that identifies a category. See also category.

category set
A subset of the categories in a dimension. The categories can be from a single level or from different levels in the same dimension. When you create a calculated category in Transformer, some functions allow a category set to be specified as a parameter. Category sets are a convenient way of grouping categories when you don't want to include the entire level in your formula.

category viewer
The portion of the dimension diagram that shows the category hierarchy of the selected dimension and provides a mechanism for manipulating the categories.

368 IBM Cognos Series 7 PowerPlay Transformer

Glossary

child category
A category one level below another category in a drill-down path. For example, 2000/Q1 is a child category of the parent category 2000. The child value is usually a refinement of the parent value. For example, 2000 Q1 is the child of 2000.

children
Categories one level below another category along a drill-down path. For example, Outdoor Products, Environmental Line, and GO Sport Line are children of Products.

cloak
To remove a and its descendants from a dimension view, but summarize the values in the ancestor category. The category is not generated in any cube that uses the dimension view, and it is not viewable in any cube that uses the user class view. The category remains in the model. This option combines the features of summarize and suppress. You cannot cloak special categories.

clustered bar chart


A chart that groups related information, compares summaries, and compares categories or measures across time or any other variable. You can create a measure-based or a dimension-based cluster bar chart. Clustered bar charts can be either two-dimensional or three-dimensional in type. See also bar chart, measure-based chart, and dimension-based chart.

cognos security administration file


A .csa file is used by Access Manager to store connection information. It maintains directoryserver and .lae file connection information, the directory server currently configured to be active,and the expansion state of the nodes on the directory tree. The Access Manager Configuration wizard can use a .csa file to automatically set runtime configuration information.

collection
A group of related OLE objects that you can reference as a unit. Any action performed on a collection affects all objects in that collection. See also ownership collection and reference collection.

column
One kind of information in a list frame, it is a vertical list of data that shares the same definition.

condition
An expression that can be used anywhere you need a true-false value. You can use conditions in filters, and in calculations. For example, you can use a condition to see only data for your sales region.

Step-by-Step Transformer 369

Glossary

consolidation
The process of combining two or more records from the data source into a single record in the cube. Consolidation is possible only for records that have the same set of dimension leaf values. Measure values from the contributing records are combined by applying the rollup function rules specified for the measures.

constant
Represents a numeric or string value that doesn't change. True, False, and Null are examples of constants.

control cube
A cube that contains the structural information used to combine multiple time-segmented PowerCubes into a time-based partitioned cube.

convergence level
The level at which two or more alternate drill-down paths meet.

correlation display
A graph that shows the values of two measures that are being compared. Bars represent one measure and a line represents the other. You must have at least two measures to use a correlation display.

crosstab chart
A chart that uses a row and column format to show measures for different combinations of categories. For example, you have a crosstab chart with Product categories as columns and Years categories as rows. The cells contain the value for the Total Revenue measure for every combination of Years and Product categories.

cube
A multidimensional object used by many IBM Cognos products to retrieve data at any level of aggregation, across any set of dimensions, for reports or plans. You can store cubes in supported formats in a LAN folder, or on a local computer. A multidimensional representation of data. A cube contains information organized into dimensions to provide faster retrieval and drill down in reports. PowerCubes are created in PowerPlay Transformer or PowerPlay Connect. PowerPlay Connect is distributed with IBM Cognos Visualizer. Authors can use PowerPlay Connect to create or modify pointer files. A pointer file is an .mdc file that contains connection information for an IBM Cognos data source, or an OLAP server.

cube group
A set of similar cubes built by Transformer. Each cube group relates to a single level in one dimension of the model. Each member of the group is targeted at one of the categories in the level.

370 IBM Cognos Series 7 PowerPlay Transformer

Glossary

cube object
An object in a model that corresponds to a cube. Specifies how to build the cube and how to reflect the status once the cube has been built.

currency record
The format information that PowerPlay uses to display the currency data. The currency information is stored at the same level of detail as the date dimension of your model.

currency table
A table of information about currencies that you maintain in Transformer or load from an external data source A base currency table shows the default currency of the country specified in the Locale setting of your operating system, such as U.S. dollars. A Euro table contains the fixed conversion rates used to convert values to or from the national currencies of EMU countries using the Euro as the intermediate currency. You need both a base table and a Euro table for conversions between non-EMU and EMU currencies after 1998.

current period
A category in a time dimension that Transformer uses to determine the composition of relative time categories in the dimension, if any. Each time dimension has its own current period. For example, if a time dimension contains a relative time category for Last Month, and the current period is set to February 2006, Transformer determines that Last Month is January 2006. When the current period in the dimension changes, Transformer updates the Last Month category.

custom exceptions
Exceptional values that are defined as rules and applied to categories in a report. A value is considered exceptional if it falls within the defined value range.

custom time dimension


A dimension that derives its values from more than one column and whose structure is created manually. See also, time dimension.

data item
In IBM Cognos Visualizer, a data item is a text or numeric component of a chart or filter, which corresponds to a dimension, a measure, a column, or a category within a dimension. See also element.

data source
The originator of the computer data that your product works with. For example, a data source for an IBM Cognos product may be a relational database or a file that uses one of the supported data formats.

Step-by-Step Transformer 371

Glossary

data source directory


The directory in which Transformer searches for source files used in a model. You can set the data source directory in the Directories tab (Preferences dialog box).

data source scope map


A color-coded dimension map that shows the association of dimensions and levels with each data source and measure in the model. See also, measure scope map.

date_exp
A date constant, a date data item or any expression resulting in a date value.

datetime_exp
A date constant, a date data item or any expression resulting in a datetime value.

delimited field text file


A file containing text data, where the fields in each record are separated (delimited) by a character, such as a comma or a tab.

descendant category
Any category below another category along a drill-down path. For example, 2003/Apr is a descendant of 2003. See also ancestor category and child category.

diagram
A graphical representation of categories in all or part of a dimension and the relationship of the categories to each other. See also, dimension diagram, dimension view, and view.

dimension
Descriptive data about a major aspect of a business, such as products, cost centres, or markets, upon which reports and plans are based. Each dimension can include different levels.

dimension diagram
A diagram that shows an entire dimension structure, including the primary and alternate drill-down paths, and special category structures.

dimension line
In PowerPlay for Windows and PowerPlay for Excel, one or more rows that shows the categories from each dimension used to filter on data for the current report. In PowerPlay Web, one or more rows that shows the categories used to filter the data from each dimension in the cube. The dimension line appears above the display in your Web browser.

372 IBM Cognos Series 7 PowerPlay Transformer

Glossary In Transformer, the row of dimension names that appears either along the top of the dimension map window or just below the Measures and Data Sources option buttons in the Show Scope window.

dimension map
A table that shows the Transformer model in rows and columns. The columns in a dimension map are the dimensions, for example, Dates, Products, Sales Regions. The rows in a dimension map are the levels within the dimensions, for example, year, month, day (for a time dimension) or east, west, north, south (for a regions dimension).

dimension menu
In PowerPlay for Windows and PowerPlay for Excel, a menu that appears when you select a dimension folder. You use a dimension menu to filter on specific information. When you select a category from the menu, the level of the dimension changes and so do the values in the report.

dimension table
In star schema designs, a data source that contains columns that map to levels and categories to build a dimension in a Transformer model. Also referred to as a structural data source because it defines the structure of the model. A dimension table differs from a fact table or transactional data source because it does not include measure values. For more information, see the PowerPlay Transformer documentation.

dimension view
A subset of a dimension that is used to create cubes that contain only selected aspects of the data represented by the complete model. For example, views based on specific countries or regions are a useful way of ensuring that users see only the data that is most relevant to them.

dimension viewer
An organized view of all dimensions, levels, and categories in the selected cube. Use the dimension viewer to add categories as rows or columns and to filter information. You can also use the dimension viewer in Windows to add categories as layers, create subset definitions, format measures, and define sets of categories.

directory server
A general term for an LDAP-compliant server that contains authentication data. IBM Cognos applications can use the SunONE directory server or Active Directory Server to associate users with data access permissions.

display
A type of chart or graph. You can change the display by clicking a display button on the toolbar.

Step-by-Step Transformer 373

Glossary

drill
An action that shows different categories. Drilling down shows child categories. Drilling up removes child categories from the report.

drill category
The immediate descendant (child) of a root category. Used only to define the properties of a drilldown path.

drill down
To follow a link from one layer of data to a more detailed layer. The layers are set by the structure of the data. This action shows child categories. See also drill up.

drill down path


The successive root category and leaf categories available from a drill category.

drill through
To view the information linked to a value in a report, cube, or macro, or an Impromptu report, Impromptu Web report, PowerPlay cube, PowerPlay report, or PowerPlay Web report. For example, you can drill through a value to view the detailed sales transactions for a particular customer. Any filtering of information in the original object is automatically applied.

drill up
To follow a link from one layer of data to a less detailed layer. The layers are set by the structure of the data. This action shows parent categories. See also drill down.

driving category
A category whose values are compared with those specified in the custom exception definition.

duplicate record
A record with categories that are identical in all dimensions. For example, the following source data records are duplicates, because they all represent the state of New York in the Northeast Region of the USA, on April 13, 1999:
19990413, USA, NORTHEAST REGION, NEW YORK, 1.0, 100.00, 200.00 19990413, USA, NORTHEAST REGION, NEW YORK, 5.4, 550.00, 275.00 19990413, USA, NORTHEAST REGION, NEW YORK, 6.8, 450.00, 256.00

embed
Inserts information created in one application into another application. Once embedded the information, called an object, becomes part of the document in which it is embedded. When you

374 IBM Cognos Series 7 PowerPlay Transformer

Glossary double-click an embedded object, you open the application in which the object was created where you can edit the object. You can embed objects in an Impromptu report or you can embed Impromptu report into another application. See also link and OLE (Object Linking and Embedding).

exception highlighting
Formatting that is applied when the information in the report meets the conditions set by the automatic exception sensitivity, or by the application of a custom exception.

exclude
In Transformer, to omit a category and all data associated with the category and its descendants from a dimension view or user class view. The category and its descendants are not generated in any cube that uses the dimension view. The category remains in the model. In Transformer versions prior to 6.6, this command was called filter.

explain window
A window that shows descriptive information about the selected object. In Transformer, the administrator provides descriptions of dimensions and categories when creating a cube. In IBM Cognos Visualizer, the author provides descriptions of charts, panels, scenes, and sheets.

Explorer report
A report that shows one level of one dimension in each row and column. You can add more levels from the same dimensions or from different dimensions as nested categories. See also, Reporter report.

exported model file


See MDL File.

expression
Any combination of operators, constants, functions, data values, and other components that evaluates to a single value.

fact table
In star schema designs, a data source that contains records which provide measure values for cubes. Also referred to as a transactional data source. In combination with one or more dimension tables or structural data sources, fact tables populate the model in Transformer.

Step-by-Step Transformer 375

Glossary

feelers
A line connecting a chart element to a chart label. In IBM Cognos Visualizer, feelers are available on the pie, gauge, box and whisker, and thermometer charts. Use feelers when chart labels are in close proximity, making it difficult to find the corresponding chart element.

filter
A set of criteria used to retrieve a subset of records. For example, instead of viewing total sales, you can view sales for a specific region, product line, or time period. You can add filters to entities, use filters to create specialized subtype entities, and use filters to ensure consistency in the filter expressions used by report users in Impromptu, PowerPlay, and Transformer. You can also restrict the data that users can see by applying filters to objects within a user class. For example, you can create a filter on the Salary table so that only the Human Resources department can view that table.

filter bar
In Microsoft Excel, a toolbar that appears when the PowerPlay for Excel add-in is activated. The filter bar shows the dimension folders and is used to filter on specific categories or measures.

find-in-cube subset definition


Subset definition created using the Find in Cube tool, which searches for the text you type in the Find What box. You can find all categories or dimensions in a cube, which meet specified criteria. You can have a case-sensitive search, a whole category search, or a wildcard search. See also Advanced Subset Definition, Value Restriction, and Parentage Subset Definition.

Find in Report
A feature that searches for data in the report using pattern matching and wildcards. You can search any or all layers, and search row, column, or layer labels.

fixed-field text file


A file that contains text data aligned in fixed-length columns.

forecast
A calculation of future value by using existing values on the current display. In PowerPlay, you can use forecast to predict future values beyond that currently appearing in your window.

function
A function is a subroutine that returns a single value. You can use functions to create calculations and conditions to filter data. Functions are similar to operators in that they manipulate data items and return a result. Functions differ from operators in the format in which they appear with their arguments. This format allows them to operate in zero, one, two, or more arguments:
function (argument, argument, ...)

Functions are of these general types: Date and Time, Numeric, Summary, and Text. For more information about using functions, see the Expression Editor online help.

376 IBM Cognos Series 7 PowerPlay Transformer

Glossary

growth
A method of forecasting based on the exponential regression technique of time series forecasting. Growth forecasting is most reliable when the driving factors of your business affect your measures exponentially.

horizontal axis
Normally, the category or x-axis on a chart or graph. However, if the chart is re-orientated, the horizontal axis may be the value or measure axis.

IBM CognosScript language


The IBM CognosScript language is a BASIC-like macro language provided with all IBM Cognos Business Intelligence Products.

IBM Cognos security administration files (.csa)


A .csa file is used by Access Manager to store connection information. It maintains directory server and .lae file connection information, the directory server currently configured to be active, and the expansion state of the nodes on the directory tree.

Impromptu Query Definition


A file (.iqd) created by Impromptu that defines a relational database query. You can use Impromptu query definition files as data sources for visualizations and can define security for them.

incremental update
To rebuild a cube by refreshing a limited portion of the data. Using incremental update, you can add new data to cubes without having to re-create the cube from scratch. Older data is maintained.

indented layout
A layout for crosstabs. In the rows area, categories from different levels are laid out vertically, with indentation. See also Standard Layout.

integer_exp
An integer constant, an integer data item or any expression (including a numeric_exp) resulting in an integer value.

intersected categories
A feature that combines categories from different dimensions. For example, you can select Products and Locations, and add the new intersected category as rows. If you add Years as columns, the report shows the number of products sold over the years, by region. This feature is only available in Reporter reports.

interval_exp
An interval constant, an interval data item or any expression resulting in an interval value.

Step-by-Step Transformer 377

Glossary

label
A label identifies a position in the program at which to continue execution, usually as a result of executing a GoTo statement. To be recognized as a label, a name must begin in the first column, and must be immediately followed by a colon (":"). Reserved words are not valid labels.

layer
A set of categories for a dimension. You can add a layer to a report to provide a new perspective on your report results. You can look at only one layer at a time. For example, a report shows the number of tents sold in California between 2000 and 2001. You add another layer to show the value of the tents sold. Both layers show the same rows and columns, but they use different measures.

leaf category
A category at the lowest level of detail in a dimension. For example, if a dimension contains the levels State, City, and Store, and has within these levels the categories California, San Diego, and Pro Form Supplies, then Pro Form Supplies is a leaf category.

legend
An explanatory list of categories in the report for certain displays. It shows the category name and color representing the associated data. The legend doesn't appear in crosstab, simple bar, simple line, and 3D bar displays.

level
A position in a hierarchy of data where all members have common or default attributes. When you drill up or down, you change levels. For example, when you drill down on years, you may go to quarters. Levels can come from the data source (source levels).

level heading
The top part of a diagram, which shows the name of a level in a dimension.

line chart
A chart that tracks one or more variables, compares trends and cycles, or shows a time series analysis. You can create single or multi-line charts.

link
The connection between a linked object and the application in which it was created. When the information changes in the source file, the changes are reflected in the destination file. You can choose to update linked information manually or automatically. See also embed and OLE (Object Linking and Embedding).

list
A window that shows the names of all data sources, measures, cube objects, or user classes in a model.

378 IBM Cognos Series 7 PowerPlay Transformer

Glossary

local authentication
The process of verifying access to protected data sources using local authentication export files (.lae) or local authentication cache files (.lac) Usually used for mobile or standalone users.

local authentication export file (.lae)


A source of authentication data in Access Manager that is independent of a directory server and that may be used to authenticate standalone users who cannot be authenticated over a network (Access Manager configuration) transfer authentication data between namespaces (Access Manager Administration)

You can only use .lae files locally on a single computer, not on a network or with multiple users.

locked dimension
A dimension to which new categories cannot be added. Records that belong in new categories are discarded. Locking a dimension locks all the levels within it. A lock icon appears in each level. Levels can be locked individually. See also, Locked Level.

locked level
A level to which new categories cannot be added during category generation. Records that belong in new categories are discarded. A lock icon appears in each level. A dimension can also be locked. See also, Locked Dimension.

LOG File
A record of the activities that take place during a computer process. For example, a log file contains information about model processing in Transformer, or server activity in PowerPlay Enterprise Server.

long name
The comprehensive or complete name for a dimension or category, which is often accompanied by a shorter, abbreviated name. For example, the long name could be All Products and the short name Prods. Long names are defined in Transformer. See also Short Name.

lowest detail
The lowest level of information available. For example, you have a category called 2006 that is divided into four quarters. Quarters are divided into months, which in turn are divided into weeks. The lowest level of detail available for that dimension is weeks. See also Leaf Category.

Step-by-Step Transformer 379

Glossary

macro
A customized sequence of instructions ("macro commands") that IBM Cognos' applications can carry out.

manual level
A level that has no associated source column. Categories in manual levels must be created and maintained manually. In the dimension map, manual levels appear with a hand icon.

markers
The graphical representation of a single data point in a display. Markers can be found in correlation, multiline, scatter, surface plot chart and single line displays.

MDL (Model Definition Language)


A proprietary language that duplicates the functionality of the Transformer user interface. MDL is compatible between different versions of Transformer. Transformer model files that are formatted for export use the .mdl extension.

measure
A performance indicator that is a quantifiable set of values and gives information about the performance of the business. Examples of measures are revenue, revenue per employee, and profit margin percentage. In IBM Cognos Visualizer, measures refer specifically to numeric data items that come from multidimensional data sources, whereas numbers refer to numeric data items in tables or flat files

measure folder
A folder that groups measures from a PowerPlay model into logical groupings. A measure folder can be hierarchical and group either like measures to be collected or calculated measures based on existing measures. In IBM Cognos Visualizer, calculated measure folders can be referenced in the creation of a chart or filter, whereas measure folders that merely group like measures cannot. See calculated measure.

measure scope map


A color-coded dimension map that shows the association of dimensions and levels with a measure.

metadata
Descriptive data about the data contained in a database. For example, the property sheet for a column contains metadata about that column, such as name, data type, and size.

mirror reference
In PowerPlay Enterprise Server, a mapped cube or report that forwards incoming requests to be processed on a computer other than the one where the object is added.

380 IBM Cognos Series 7 PowerPlay Transformer

Glossary

missing value
A value that is not available for a category because of the context, or because there is no data. Missing values appear in a report as zeros, NA (not available), a blank (nothing in the cell), or missing, depending on how the measures in the cube were designed to handle missing values.

model
See business model and Transformer model.

multiline chart
A chart that reveals and compares trends and cycles that show relationships between variables. It also shows time series analysis and relationships between variables.

namespace
A source of authentication data used by Access Manager that exists as a directory on a directory server, or as an entry in a local authentication export file (.lae), depending on the default security server configured in the system registry. The security data stored in each namespace, such as signon information for users, user classes, application servers and data sources, distinguishes each entry from all other namespaces in the repository.

nested category
Categories are arranged in multiple levels along the rows, columns, or layers in a crosstab display. Nested categories form groups of information that add another perspective to a report.

nested chart
A graphical display of nested data. You can view multiple charts representing the outer rows and columns in one display. In PowerPlay for Windows, this option is not available for horizontal bar charts.

nested crosstab
A crosstab report that contains more than one data item in the rows or columns. For example, you can nest Product Type and Product Line beside each other in the rows.

NetInfo
A utility, packaged with PowerPlay and installed locally, which validates connections to serverbased Transformer models and issues commands to PowerGrid.

NewsBox
A folder that can contain other NewsBoxes, shortcuts, reports, agents, custom views, URLs, tools, and data sources.

NewsItem
An object stored in the Upfront data store that represents a report, agent, custom view, data source, tool, or URL.

Step-by-Step Transformer 381

Glossary

numeric_exp
A numeric constant, a numeric data item or any expression resulting in a numeric value.

object identifier
In Transformer, a numeric value, unique within the model, that identifies a category. It appears in the title bar of the Category property sheet if you select the Object Identifier check box from the Titles tab of the Preferences dialog box. Transformer generates the ID when it creates the category. See also, Category Code, Category Label, Source Value, and Special Category.

OLE (Object Linking and Embedding)


A Microsoft Windows facility that enables applications to share data. When you use OLE, two applications can share data through a connection that you establish. See also link and embed.

operator
Specifies what happens to the values on either side of the operator. There are four types of operators: Arithmetic: performs arithmetic operations on two parts of an expression Comparison: compares one or more values Logical: defines relationships between two parts of the expression String: concatenates two character strings

orphanage
A manually-created category in a manual level that acts as a parent category for newly generated categories. The orphanage category first must be designated in the dimension diagram. See also, Source Orphanage.

overflow value
A value that is larger than the measure's storage type allows. An overflow value in a report can be erroneous or may return an error. The administrator defines the measure's storage type when creating the cube.

parentage subset definition


A subset definition based on the parent/child relationships below a specific level. You can base the subset definition on the categories at the next level down, at the next two levels down, or at the lowest level of detail. See also Find-In-Cube Subset Definition, Value Restriction, and Advanced Subset Definition.

parent category
A category one level above another category along a drill-up path. In PowerPlay, a category can have more than one parent if it lies along more than one drill-down path. In IBM Cognos Visualizer,

382 IBM Cognos Series 7 PowerPlay Transformer

Glossary you can only follow one drill-up path. The parent value is usually a consolidation of all its children's values. For example, 2001 is the parent category of 2001 Q1, 2001 Q2, 2001 Q3, and 2001 Q4.

partition
A nested sub-cube that Transformer can create to speed data access.

partitioning
In Transformer, a process that presummarizes portions of the cube data into nested sub-cubes called partitions, resulting in faster data access for report creation.

PDF File
See Portable Document Format File (.pdf).

performance indicator
A numeric attribute of the business model that is quantifiable, and is identified as a performance indicator of your business. When you specify an attribute as a performance indicator, it identifies the attribute as a measure candidate for the Metadata Explorer in PowerPlay Transformer. See also descriptive indicator and key performance indicator (KPI).

pie chart
A graph that shows the relationship between the whole and the parts. For example, in PowerPlay, a pie display can show you how much of a department's budget goes to paper supplies. In IBM Cognos Visualizer, you can create three-dimensional pie charts with a number axis that you can show and scroll through.

Pointer File
An .mdc file that contains information about the actual data source. For third party cubes, a pointer file stores the connection information.

Portable Document Format File (.pdf)


A file format that maintains the formatting of the original document. You can view and print a .pdf file without the need for the authoring application or fonts.

PowerCube
A file that contains data that is structured to provide for fast retrieval and exploration in PowerPlay.

PowerCube group
See Cube Group.

PowerCube object
See Cube Object.

PowerGrid
Software used to communicate between the versions of Transformer on Windows and UNIX.

Step-by-Step Transformer 383

Glossary

PowerPlay Portable Report File (.ppx)


A file format that can be read by any PowerPlay client. You can create .ppx files in PowerPlay for Windows and PowerPlay for Excel.

PowerPlay Web Explorer


A Web-based application that is used to explore multidimensional data. One of two applications that make up PowerPlay Web.

PowerPlay Web Viewer


A Web-based application that is used for on-demand report viewing. One of two applications that make up PowerPlay Web, PowerPlay Web Viewer renders PowerPlay Portable Reports in PDF format.

PowerPlay Worksheet
In PowerPlay for Excel, a worksheet that is associated with a cube. When the Excel workbook is saved, the query information required to reconnect to the cube is saved with the PowerPlay worksheet.

presummarization
Summarizing calculations that are performed when a cube is built. See also, Summary Partition.

primary drill-down path


In PowerPlay for Excel, a worksheet that is associated with a cube. When the Excel workbook is saved, the query information required to reconnect to the cube is saved with the PowerPlay worksheet.

Protected Cube
A cube where members of different user classes have access to specific categories, measures, or dimensions depending on their access privileges.

query
A question to the database, snapshot, or HotFile that defines what data you want to retrieve from the data source that can be executed repetitively.

Query Processor
The component of PowerPlay Enterprise Server that processes cube requests and generates results for PowerPlay Web Explorer, PowerPlay for Windows, and PowerPlay for Excel.

rank
To assign an ordinal to values in the selected row or column. You can assign ordinals to the top or bottom values, and sort the ordinals in ascending or descending order.

384 IBM Cognos Series 7 PowerPlay Transformer

Glossary

rank category
A new row or column showing the rank ordinals.

regression
A statistical function that produces a curved line that is a best fit for logarithmic growth. A logarithmic regression line can be added to a graph in PowerPlay for Windows. Regression is best used when fitting the growth of a measure against a time dimension.

relative time category


A special category in a time dimension that allows cube users to create reports using time periods such as Current Month, Last Month, and Quarter-to-Date, each of which is defined relative to the current period. Relative time categories are updated automatically by the administrator in Transformer, according to the current period set for the dimension.

relative time function


A pre-defined function in a time dimension, defined by the properties of a relative time category, that determines the related categories. For example, a relative time category can use the Year-to-Date relative time function to generate its related primary categories.

report
The presentation of information about a given topic prepared by using a layout defined by an author. There are many types of IBM Cognos reports, including visualizations and Impromptu requests. In PowerPlay for Windows, a report contains the latest data selected from one or more cubes. In PowerPlay for Excel, a report includes one or more PowerPlay worksheets and may include additional Excel sheets. In Impromptu, a report contains a view of the current data in your company database. What you see depends on the data that you can access from your catalog. In IBM Cognos Finance, a report is a database query that is structured like a spreadsheet. Unlike spreadsheets, you can build and change the form of a report without affecting the database.

Reporter report
In PowerPlay for Windows, a flexible report that enables you to add single categories from different levels of the same dimension add categories from different dimensions add nested categories from the same dimension, or from different dimensions

See also, Explorer Report.

Step-by-Step Transformer 385

Glossary

Report Processor
The component of PowerPlay Enterprise Server that processes report requests and generates results for PowerPlay Web Viewer.

role
A description of the association between an item in a model and a data source. For example, an association may include a source role of product number and a label role of product name. In this instance the category source value references product number and the category label references product name. See also, Association.

rollup calculation
An expression that is used to create a new calculated category that applies the rollup function (either add, minimum, maximum, or average) specified by the measure for the selected categories.

rollup function
A method used to summarize measure values up the category tree structure. You can select rollup function settings from the measure property sheet. See also, Consolidation.

root category
The category in a dimension or subdimension from which all other categories are descendant.

row
Composed of one data value from each column in the database. Also known as a record.

scatter plot chart


A graph consisting of points whose coordinates represent values of data. A scatter chart/display is used to compare two or three different measures. You can create either two-dimensional or three-dimensional scatter charts. You must have at least two number columns to create a scatter chart. You cannot use measures for the x, y, or z axes in scatter charts because measures require at least one dimension. However, you can use measures for the color and radius optional properties of a scatter chart. See also chart.

shared dimensions
A common linked dimension that exists in two or more open reports. When you perform an action, such as filtering, drilling, or slicing and dicing, the shared dimension in each report is updated. Any combination of Reporter and Explorer reports can share the dimension line.

386 IBM Cognos Series 7 PowerPlay Transformer

Glossary

short name
An abbreviation or code-name for a more comprehensive long name for a dimension or category. For example, the short name could be Prods and the long name All Products. Short names are defined in Transformer.

sibling category
Categories at the same level. For example, Outdoor Products, Environmental Products, and GO Sports Line are sibling categories of the parent category Products.

slice and dice


Changes and arranges data when you choose different categories for your report drill down and drill up filter information

For example, if a report shows the number of products sold by each branch at the end of the last quarter, you can slice and dice information to show revenue over the last two months for each product line.

sort
Arranges values in numerical order or labels in alphabetical order. You can sort in ascending or descending order.

source orphanage
A category created by Transformer to act as a parent category for new categories that don't have clearly defined parent categories due to a lack of contextual information. Later, if more information about the parent categories of the new categories becomes available, Transformer automatically connects the categories to the appropriate parent categories. By default, the suppress attribute of source orphanage categories is enabled.

source value
The data value retrieved from a source data record and used to identify or locate a category.

sparse data
A data source where the number of actual datapoints within a range is quite small compared to the possible datapoints in the range. In PowerPlay for Windows, the number of possible datapoints is the product of all leaf categories in every dimension. This number is usually much larger than the actual number of data records in a cube.

special category
A category that groups a set of regular categories from any level in the same dimension without regard to their normal hierarchical organization. Step-by-Step Transformer 387

Glossary For example, you have a dimension called Management that includes the levels Senior Management, Middle Management, and Junior Management. You can have a special category called Social Committee that includes specific personnel from each of these levels.

spreadsheet crosstab
A spreadsheet that contains named ranges that become the columns in the model when imported into Transformer. See also, Spreadsheet Database.

spreadsheet database
A spreadsheet that contains a list of records in the form of a database table. You can use a spreadsheet database as a data source for a model, provided the database contains a named range that identifies the matrix of data to use. See also, Spreadsheet Crosstab.

stacked bar chart


A chart that shows relative proportions of parts to the whole and the relationship between the parts using stacked rectangles. You can create two-dimensional and three-dimensional stacked bar charts.

standard layout
A layout for crosstabs. In the rows area, categories from different levels are presented horizontally, without indentation. See also Indented Layout.

standard report
A saved report that updates when opened to reflect changes in the cube or cube data. The report contains specific information such as subset definitions.

storage type
The format used to store values in the data source and in temporary work files. For example, source values that represent text or alphanumeric category labels are stored as text.

stored procedure
A procedure defined and stored in a host database (such as Oracle or Sybase) that performs actions on the database.

string
A character string enclosed in quotation marks. For example: 'IBM.'

string_exp
A string constant, a string data item or any expression resulting in a string value.

structural data source


See Dimension Table. 388 IBM Cognos Series 7 PowerPlay Transformer

Glossary

style
A defined group of formatting options you can apply to selected attributes. When users run reports that include that attribute, the corresponding report column is formatted using the information in the style. A style can contain font information (such as type, size, and color), borders, patterns, and data formatting. You can define the following types of style: character, date, date time, local currency, number, time, and time interval.

subdimension
A tree of categories with levels that are independent of levels in the dimension. A subdimension can provide different details, or different levels of detail, for categories in a level. A subdimension can support an alternate drill-down path.

subject
The representation of an entity in a package. You can specify query paths explicitly for each attribute subject within a subject. Changes you make to a subject in a package do not affect the underlying entity in the business model. See also package and subject item.

subject item
The representation of an attribute, filter, or prompt in a package. Subject attributes contained in a subject are based on the attributes contained in the entity the subject references. You can also add subject items that reference attributes from other entities, as long as they are related unambiguously to the main entity. Changes you make to a subject item in a package do not affect the underlying object in the business model. See also subject and subject folder.

subset
A group of categories created to isolate information that shares some common criteria. Subsets are created by adding a subset definition to a report. See also Advanced Subset Definition, Find-In-Cube Subset Definition, Value Restriction, and Parentage Subset Definition.

subset calculation
A calculation that is performed on all members of a subset. Subset calculations include the following calculations: add, multiply, minimum, maximum, or average. A subset calculation always appears directly after the subset. The calculation is recalculated if the subset changes.

subset definition
Information that defines a new set of categories based on specified criteria saved with a report. Subset definitions can be parentage subset definitions, find-in-cube subset definitions, and advanced subset definitions.

Step-by-Step Transformer 389

Glossary

subset viewer
In PowerPlay for Windows, the pane in the bottom part of the dimension viewer. The subset viewer shows subset definitions created by the parentage, find-in-cube, and advanced subset tools. You can add individual categories from the results as a row, column, or layer, or you can use the resulting categories to create a subset. In PowerPlay for Excel, a window that shows subset definitions created by the parentage, find-incube, and advanced subset tools. The subset view can be resized, closed, and undocked from the Navigator window.

summarize
Sums all descendant categories for a category and suppresses the descendants. See also, Cloak.

summary
A summary component combined with a data item. For example, Total (Sales).

summary partition
A partition that contains presummarized values for the categories in higher levels of one or more dimensions. Information requests that can be satisfied from the summary partition use the presummarized values and, therefore, require less calculation at the time of the request.

suppress
Conceals a category within a dimension view. Within any cube that includes the view, the immediate descendants of the suppressed category link directly to its immediate ancestor category. In the cube, users see only the immediate ancestors and immediate descendants of the suppressed category. See also, Cloak and Summarize.

swapping
To exchange the position of categories in a report. You can swap rows and columns, columns and layers, or rows and layers. The terms rows and columns change depending on the current display. For a pie display, rows and columns are called displays and slices.

synchronization
The process of transmitting information between a client and server model so that the models are identical. Both model files must be in .py? format. The question mark (?) in the extension .py? is replaced by the character that is used in your release of Transformer. Synchronization occurs every time you connect to a server model from Transformer on Windows.

tick
Small lines that intersect an axis like divisions on a ruler.

390 IBM Cognos Series 7 PowerPlay Transformer

Glossary

time_exp
A time constant, a time data item or any expressiont resulting in a time value.

time array
A contiguous set of four or twelve data columns in a data source file that represent measure values for either four consecutive quarters or twelve consecutive months in a year.

time-based partition cube


A cube that combines multiple time-segmented PowerCubes based on the structural information in a control cube.

time dimension
A dimension that contains categories representing time periods. Transformer indicates a time dimension by showing a clock icon to the left of the dimension name. A time dimension may derive its categories from the values in a single column, or be customized to derive its values from more than one column. By default, a time dimension is built with year, quarter, and month levels.

time level
A level in a time dimension that derives categories for years, quarters, months, and days from dates in the data source. For example, from a date such as 20060113 in the data source, Transformer can generate time categories such as 2006, 2006/Jan, 2006 Q1, and 2006/Jan/13.

time state measure


A measure that represents the state of a system at a specific point in time. For example, a state measure might show the number of employees in a company at the start of each month, or the balance of a bank account on a given day each week. This type of measure is distinct from transaction measures such as the amount of a sale.

transactional data source


See Fact Table.

trend
A method of forecasting based on the linear regression technique of time series forecasting. Trend forecasting is most reliable when the driving factors of your business affect your measures in a linear fashion.

triangulation
The process of converting one currency to another through a third. This method is used to convert one European Monetary Union currency to another, or a non-European Monetary Union currency to a European Monetary Union currency.

Step-by-Step Transformer 391

Glossary For example, to convert from French francs to Italian lire, the francs are first converted to Euro, and then converted from euro to lire.

unbalanced diagram
A diagram representing dimensions that each contain subdimensions that are wholly or partially different from the subdimensions in other dimensions. For example, a diagram shows the dimensions 1999, 2000, and 2001. The 2001 dimension contains subdimensions for quarters and, within quarters, for months. The 2000 dimension contains subdimensions for quarters only. The 1999 dimension has no subdimensions.

uniqueness
A designation for a level that indicates that each category in that level can be identified by its source value alone, without reference to its ancestors. You must specify that your data is unique when a level is the convergence level for alternate drill-down paths or when the model contains multiple data sources.

user class
A group of users who are assigned the same data access privileges, usually because they perform similar functions in an organization. User classes can contain other user classes, and users can belong to several user classes. User classes are related to each other in a tree structure. Each class inherits the rights of its parent, which can be further restricted but not relaxed. User classes are assigned in Access Manager.

user class view


In Transformer, the categories and measures that members of a specified user class are permitted to see, typically a subset of the information contained in the entire PowerCube. The cube designer can specify whether the values associated with omitted categories are rolled-up (summarized) or removed from reports based on the cube. In other IBM Cognos applications, the term is used more generally to signify access to a data source or an authorized subset of the information in that source, based on user class membership. Note: Not to be confused with the User Classes and Users View in the Administration tool of Impromptu Web Reports, which is a hierarchical view of the User Classes folder and the Users folder.

value restriction
An advanced subset definition created using the Restrict by Value dialog box. You can restrict the selected measure by highest or lowest values, or a range of values. See also Find-In-Cube Subset Definition, Parentage Subset Definition, and Advanced Subset Definition.

variable
An identifier that's used to store a value in an IBM CognosScript Language macro.

392 IBM Cognos Series 7 PowerPlay Transformer

Glossary

vertical axis
Normally, the measure or y-axis on a two-dimensional chart. The z-axis on a three-dimensional chart. However, if the chart is re-oriented, the vertical axis may be the category axis

view
A definition stored in a database's metadata that defines a 'virtual table' that does not exist until referenced in an SQL statement, such as a select statement.

ymdinterval_exp
A year-month-day interval expression.

Step-by-Step Transformer 393

Glossary

394 IBM Cognos Series 7 PowerPlay Transformer

Index
-cs

Symbols
.asc files as data sources, 49 .crr files setting up drill through, 124 .csv files as data sources, 49 .imr files drill through from PowerPlay, 124, 126, 127 .ini files, 28, 187, 190, 288 database definitions, 256 .iqd files adding or removing drill-through targets, 126 advantages, 256 as data sources, 199 definition, 365 drill-through targets, 125 setting up drill through, 124 to access server data, 50 using signons, 294 .mdc files, 152 replicating, 138 .mdl files definition, 365 Using Client-Server Transformer, 177 .mnu files, 23, 28 .ppr file definition, 365 .psd files, 47 .ps files, 47 .py? files definition, 365 .qy? files definition, 365 -(dash) rsserver command line option, 253 -a command line option, 244 -c command line option, 245

command line option, 245 -D command line option, 246 -e command line option, 246 -F command line option, 247 -i command line option, 247 -k command line option, 248 -m command line option, 249 -n command line option, 250 -nologo command line option, 250 -o command line option, 250 -ox command line option, 250 -p command line option, 250 -r command line option, 251 -s command line option, 251 -t command line option, 252 -u command line option, 252 -v command line option, 253 -x command line option, 253

A
Access query source, 48 table source, 48 accessing cubes, 292 incrementally updated cubes, 286 Access Manager setting up user class views, 152 signons, 294 user classes, 295 activate definition, 365 ActiveX Data Object (ADO) troubleshooting wildcard syntax errors, 285 adding calculated columns, 61 categories, 22 descendants to categories, 23

Licensed Materials Property of IBM Copyright IBM Corp. 1996, 2010.

395

Index dimensions, 20 drill-through files, 124, 127 drill-through targets, 126 extra weeks, 83 extra weeks to synchronize lunar calendars, 207, 213 levels, 20, 62 manual levels, 62, 63 new data sources, 31 partitioning, 286 regular measures, 101 source levels, 63 Additional Reference, 195 adopt incrementally updated cube data, 163 advanced subset definitions definition, 365 after rollup calculated measures, 105 alias definition, 365 allocated measures unexpected values after updating time-based partitioned cubes, 297 allocating as a constant, 207 changing category, 119 changing default, 117 disabling, 118 effect in PowerPlay clients, 292 enabling Allocation tab, 292 measures, 195, 286, 296 measures from levels, 207 measures in time dimensions, 118 proportionally by another measure, 207 setting level, 118 suppressing, 120 allocations definition, 365 measures, 286 alternate drill-down path definition, 366 alternate drill-down paths creating, 65, 195 in time dimensions, 231 level uniqueness, 287 396 IBM Cognos Series 7 PowerPlay Transformer mapping data, 59 partitioning, 287 using dimension views, 232 using with partitioning, 170 analyzing data flow, 258 source data, 256 ancestor category definition, 366 ANSI characters, 201 apex definition, 366 apexing categories, 150 in alternate drill-down paths, 232 appending data to cubes, 256 applying dimension views to cubes, 145 Architect adding a package to an existing Transformer model, 180 attributes, 179 filters, 179 packages, 179 using with Transformer, 179 Architect package, 179 creating a Transformer model, 179 using in Transformer, 179 arrays time, 55 ASCII formats delimited-field text, 49 fixed-field text, 49 association definition, 366 attribute definition, 366 attributes Architect, 179 authentication enabling user security in Transformer, 153 updating information in a model, 154 authentication files updating, 295

Index AutoDesign adding a data source, 60 adding levels, 62 creating preliminary models, 60 definition, 366 automatic checks, 140 automatic exceptions definition, 366 auto-partitioning modifying, 170 need for hierarchical models, 170 optimizing, 215 autoregression definition, 367 calculated category definition, 367 calculated column definition, 367 calculated columns adding, 61 defining, 51 calculated measure definition, 367 calculated measures after rollup, 105 before rollup, 105 multiplying by 1 to avoid overflow errors, 293 calculation precedence definition, 367 calculations adding measures that use if-then-else, 105 creating with the Expression Editor, 239 relative time, 292 Candidate hierarchies pane, 181 categories adding, 22 adding to partitioned levels, 170 apexing, 220 blocked parent values, 155 business-oriented time, 94 category count, 103 changing allocation, 119 changing the inclusion setting, 205 cloaking, 147, 220 connecting descendants, 23 creating manually, 67 default relative time, 87 deleting if inactive, 161 diagram, 220 disabling refresh option, 168 displaying number in dimensions and levels, 22 excluding, 205, 220 generating, 97, 263, 288 generating date, 85 generating using a specific data source, 98 including, 205 invalid dates, 289 manually-created orphanages, 99 moving, 22, 160 omitting, 146, 147, 148 Step-by-Step Transformer 397

B
bar chart definition, 367 base currency setting up conversion table, 34 base value definition, 367 batch processing to create cubes in Transformer (Windows), 250 updating cube connections with cubeswap.bat, 157 before rollup calculated measures, 105 best practices model and cube maintenance, 157 model and system design recommendations, 255 strategies to improve build speed, 276 blanks definition, 367 budgets degree of detail for dates, 54 buttons customizing, 25, 26

C
cache memory adding space to improve cube processing efficiency, 298 calculated categories creating, 68 defining sets, 70

Index omitting ancestors and siblings, 150 omitting descendants, 150 ordering, 71 ordering for the entire model, 72 orphans of, 97, 288 preventing new, 100 relative time, 74, 87, 292 server, 198 setting period-to-date, 208 simultaneously disabling creation of categories and cube rebuild, 250 sorting in time-based partitioned cubes, 286 summarizing, 220 suppressing, 170, 205, 220 troubleshooting slow generation, 288 troubleshooting unbalanced hierarchies, 288 category definition, 368 category codes definition, 368 category counts defining as a measure, 103 definition, 368 category label definition, 368 category labels incorrect decimal placement (Oracle), 294 Category property sheet share category, 186 category sets definition, 368 category viewer adding levels, 20 definition, 368 deleting levels, 20 overview, 22 century handling 21st century dates, 57, 97 centurybreak Trnsfrmr.ini option, 57 centurybreak Trnsfrmr.ini setting, 190 cerlocale.xml, 300 cern.ini file, 187 locale type setting, 190 change function, 239 changing data sources, 292 log file parameters, 191 characters field delimiters, 201 forward slash for UNIX directory paths, 203 sets, 201 wildcard, 219 character styles, 388 checking cube status, 143, 263 model for potential problems, 100, 262 Check Model troubleshooting command, 262 checkpoints for failed models, 158 child category definition, 368 children definition, 369 clean house deleting inactive categories, 161 client-server overview, 177 server processes, 198 synchronizing models, 197 troubleshooting connection problems, 299 Clipper, 48, 199 cloak definition, 369 cloaking categories, 147 in alternate drill-down paths, 232 clustered bar chart definition, 369 Cognos.ini file, 187, 288 cognos security administration file definition, 369 collection definition, 369 colors scope in dimension map, 195 column definition, 369 columns adding calculated, 61

398 IBM Cognos Series 7 PowerPlay Transformer

Index associating with levels, 234 calculated, 51 defining, 52 degree of detail for dates, 212 matching source and model, 159 modifying, 292 naming, 51 overview, 51 synchronizing, 292 time arrays, 55 combining dimension and user class views, 156 command line options, 241 - (dash), 253 -a, 244 -c, 245 -cs, 245 -D, 246 -e, 246 -F, 247 -i, 247 -k, 248 -m, 249 -n, 250 -nologo, 250 -o, 250 -ox, 250 -p, 250 -r, 251 -s, 251 -t, 252 -u, 252 -v, 253 -x, 253 Common measures pane, 181 comparing performance in different time periods, 94 Transformer editions, 15 compatibility using MDL to move between versions, 31 compressing cubes, 141 condition definition, 369 configuring data formats, 300 Connect.ini file, 288 connecting client-server computers using PowerGrid, 299 descendant categories, 23 consolidating data in cubes, 167 overview, 120 reducing data records, 257 summary partitions, 170 with duplicates rollup, 215 consolidation definition, 369 purpose and limitations, 124 constant definition, 370 constraints unsupported database joins, 258 control cube definition, 370 controlling adding extra weeks for lunar, 83 range of dates, 84 rendition registry, 191 splitting weeks, 81 when measures are calculated, 105 controlling data access based on dimension and user class views, 156 to PowerCubes in IBM Cognos 8, 283 conventions quotation marks, 196 convergence levels definition, 370 in alternate drill-down paths, 195 conversion currency overview, 33 euro triangulation method, 36 non-EMU currencies, 34 setting up base table, 34 setting up euro table, 36 converting currencies for specified measures, 39 copying .mdl files to the server, 177 correlation display definition, 370

Step-by-Step Transformer 399

Index counts categories per level, 262 Create Selected Cubes command, 263 creating .mdc files, 138 alternate drill-down paths, 65 calculated categories, 68 categories manually, 67 cubes, 141 cubes using multiple files, 170 cube with externally rolled up measure values, 109 currency tables manually, 39 dimensions, 60 dimension views, 145 levels with special categories, 96 models that use multiple data sources, 167 multifile cubes, 174 new models, 30 preliminary model designs, 60 prototype server models, 177 selected cubes only, 263 server categories and cubes, 198 special categories, 95 special category levels, 96 test cubes, 142 time dimension manually, 77 time dimensions, 76 Transformer model from an Architect package, 179 unbalanced hierarchies within a dimension, 73 crosstab chart definition, 370 cube definition, 370 cube connections updating using cubeswap.bat, 157 cube creation data sources, 140 cube group definition, 370 cube object definition, 370 cubes accessing from PowerPlay clients, 292 access time, 286 adopting incrementally updated data, 163 400 IBM Cognos Series 7 PowerPlay Transformer algorithm for building, 170 allowing for future group members, 161 appending data, 256 automatic checks, 140 building algorithms, 170 check status, 143, 198, 263 creating, 141 creating multifile cubes, 190 creating selected cubes only, 263 creating test cubes, 142 creating using multiple files, 170, 174 custom views, 144 defining groups, 130 defining manually, 129 disabling creation, 250 enabled/disabled, 198 excluding measures, 138 improving access speed, 162 leaving data unchanged, 109 maintaining, 157 manually customizing to meet specific user needs, 129 multiple storage locations, 256 omitting dimensions, 138 opening at non-root level, 74 optimal partitioning strategies, 168 optimizing creation, 256 optimizing processing, 165, 215 protecting, 152, 283 replicating, 138 server, 198 setting passwords in Series 7, 139 sorting constraints for time-based partitioned cubes, 286 splitting, 170 time-based partitioning, 130 time-based partitioning customization, 136 troubleshooting slow build times, 276 UNIX, 127 updating incrementally, 163, 256, 286, 288 updating metadata only, 142 currency conversion overview, 33 default conversion table, 34 euro conversion table, 36 setting up manual conversion, 39

Index currency records definition, 371 currency table definition, 371 currency tables creating manually, 39 current periods definition, 371 details, 88 setting automatically, 88 setting manually, 88 setting on command line, 252 setting the current period, 208 custom exceptions definition, 371 customizing buttons, 25 cube content using views, 144 cubes to meet specific user needs, 129 launch buttons, 25, 27 launch menu commands, 25 menus, 23 time dimensions, 74 toolbar buttons, 25, 26 toolbars, 25, 26 custom time dimensions definition, 371 databases accessing from Impromptu, 256 building pointer files, 138 isolation levels, 256 reboot required after configuring a new connection, 298 references in .ini file, 256 supplying password, 248, 249 data dictionary using to resolve differences, 258 data formats, 300 configuring, 300 data item definition, 371 data source definition, 371 data source directories definition, 371 data sources .iqd files, 50 adding new, 31 ASCII text formats, 49 associating with alternate files, 140 changes in structure, 160 changing, 292 currency conversion, 34 customizing, 140 defining columns, 51 defining multiple sources for cubes, 296 defining rates for currency conversion, 33 defining rates for euro currency conversion, 36 fixed-field text, 52 inclusion of categories in cubes, 205 local, 44 local databases, 48 maintaining, 157 matching to model columns, 159 multiple, 167, 296 PowerHouse Portable Subfiles, 47 quotation marks, 196 relation to dimension map, 234 scope, 195 server, 48, 50 specifying alternates when creating cubes, 140 specifying before generating categories, 98 specifying different source files, 256 Step-by-Step Transformer 401

D
data alternative source files, 256 appending to cubes, 256 consolidating, 257 ensuring integrity, 258 flow analysis, 258 how volume affects performance, 258 retaining historical data, 256 separating transactional and structural sources, 257 static and non-static sources, 256 structuring, 258 summarizing, 257 data access controlling with dimension and user class views, 156 database joins troubleshooting prior to data import, 258

Index spreadsheet, 44 structural, 257 supported types, 44, 199 updating metadata, 142 using Modify Columns command to synchronize changes, 292 viewing scope, 40 data source scope show on a dimension map, 21 data source scope maps definition, 372 Data Source Viewer using to modify SQL in .iqd files, 32 data types changing to avoid decimal and precision errors, 293 problems importing BLOB and CLOB query items, 298 date_exp definition, 372 date columns degree of detail, 212 date ranges limitations, 84 dates adding extra weeks for lunar, 83 creating dimensions manually, 77 defining degree of detail, 54 defining early dates, 97 defining input format, 76 defining late dates, 97 defining non-standard dates, 85 format codes, 85, 204 functions, 213 generating categories, 85 handling invalid, 98 in alternate drill-downs paths, 231 input formats, 203 limiting range of dates, 84 setting up calendar years, 79 setting up fiscal, 79 setting up fiscal dates, 79 setting up lunar dates, 82 setting up time dimensions, 74 splitting weeks, 81 troubleshooting invalid dates, 289 using Date wizard, 76 402 IBM Cognos Series 7 PowerPlay Transformer using time arrays, 55 Year 2000, 57, 97 date styles, 388 datetime_exp definition, 372 Date wizard using to create time dimensions, 76 dBase, 48, 199 decimal places measures, 293 scaling, 53 troubleshooting errors, 293 defining calculated columns, 51 calculated measures, 104 cube groups, 130 cubes manually, 129 date format codes, 204 date formats, 203 date input, 76 if-then-else calculated measures, 105 partitions manually, 172 scope, 195 security requirements, 255 server models, 177 sets for calculated categories, 70 time-based partitioned cubes, 130 degree of detail date columns, 212 deleting categories, 22 dimensions, 20 inactive categories, 161 levels, 20 delimited field data sources, 199 delimited fields delimiting characters, 201 delimited field text files ASCII text formats, 49 definition, 372 delimiters field, 201 quotation marks in MDL, 196 delimiting fields, 201

Index denied values blocked parent totals if children excluded, 155 descendant category definition, 372 designing Transformer using the Metadata Explorer, 182 diagrams category actions, 220 definition, 372 overview, 22 zooming, 22 dimension definition, 372 dimension diagrams definition, 372 overview, 22 dimension line definition, 372 dimension map adding dimensions, 20 deleting dimensions, 20 how data sources relate, 234 overview, 19 sample pilot project, 259 scope, 21, 195 show category counts, 22 dimension maps definition, 373 dimension menus definition, 373 dimensions adding, 20 adding source levels, 63 automatically creating for dates, 76 creating new, 60 creating one time dimension per cube, 60 degree of detail for time dimension, 54 deleting, 20 locking out new categories, 100 mapping data into multiple dimensions, 59 omitting from cubes, 138 omitting when using auto-partitioning, 174 opening at non-root level, 74 overview, 59 setting allocation, 117 setting up date and time dimensions, 74 showing, 59 splitting weeks, 81 with alternate drill-down paths in time dimensions, 231 dimension table definition, 373 dimension viewer definition, 373 dimension views alternate drill-down paths, 232 applying to cubes, 145 combining with user class views, 156 creating, 145 definition, 373 using to customize cubes, 144 directory paths forward slash for UNIX delimiters, 203 directory server definition, 373 disabling refresh option, 168 rollup on special categories, 96 disasters, 191 display definition, 373 displaying missing values, 107 number of categories, 22 distributing cubes, 138 custom menus, 28 custom toolbars, 28 DOS Code Page 437, 201 drill definition, 373 drill categories definition, 374 drill down definition, 374 drill down paths definition, 374 drill-down paths creating, 65, 195 in time dimensions, 231 mapping data, 59 special (alternate) categories, 96 Step-by-Step Transformer 403

Index using dimension views, 232 drill through cube-to-cube, 125 definition, 374 Impromptu, 125 third-party OLAP source, 125 to a measure, 124 to any associated file, 124, 126, 127 to Essbase Linked Partitions, 124, 126 to Essbase Reporting Objects, 124, 126 to IBM Cognos 8 using IBM Cognos Connection, 124 to Impromptu, 124 to Impromptu reports, 124, 126, 127 to other PowerPlay reports and cubes, 124, 126 to other UNIX cubes, 127 to ReportNet reports, 124 using .iqd files, 125 drill through targets uniqueness issues, 236 drill-through targets adding, 126 removing or excluding by level, 126 drill up definition, 374 driving categories definition, 374 duplicate records consolidation criteria, 257 definition, 374 duplicates rollup, 122 user security for a model, 153 entities filtering, 183 filtering in the business layer, 183 entity attributes filtering, 183 environment variables, 203 changing default timeouts, 299 errors help for specific error messages, 303 help in resolving, 263 troubleshooting documentation, 263 euro setting up currency conversion, 33, 36 Excel, 44, 199 exception dimensions adding, 61 exception highlighting definition, 375 exclude definition, 375 excluding categories, 148, 205 child categories, 155 drill-through targets by level, 126 in alternate drill-down paths, 232 measures, 138 explain window definition, 375 Explorer reports definition, 375 exported model files definition, 375 expression definition, 375 Expression Editor help on available functions, 239 expressions creating with Expression Editor, 239 unique to Transformer, 239 externally rolled up measures creating, 109 extra weeks, 207

E
early dates handling, 57, 97 editions, 15 eliminating source or key orphanages, 97 embed definition, 374 empty result sets troubleshooting wildcard syntax errors, 285 enabling currency conversion, 39 measure allocation, 292 404 IBM Cognos Series 7 PowerPlay Transformer

Index

F
fact tables definition, 375 failed processes model recovery, 158 fatal errors failed model recovery, 158 feelers definition, 375 file types .asc files, 49 .crr files, 124 .csv files, 49, 201 .imr files, 124, 126, 127 .ini files, 190, 288 .iqd files, 50, 124, 126, 127, 199 .log files, 191 .mdb files, 199 .mdc files (Series 7 PowerCubes), 152 .mdl files, 31, 177 .mdp files, 190 .psd files, 47 .ps files, 47 .vcd files, 137 filter definition, 376 filter bars definition, 376 filtering Architect data source in Transformer, 183 entities for a user class, 183 entities in the business layer, 183 entity attributes for a user class, 183 subjects, 183 filters Architect, 179 find-in-cube subset definitions definition, 376 Find in Report definition, 376 fiscal dates setting up, 79 fixed field data sources, 199 fixed field text files ASCII format, 49

fixed-field text files defining columns, 52 definition, 376 forecast definition, 376 formats data, 300 date codes, 204 date input, 203 defining date input, 76 defining for date values, 85 FoxPro, 48, 199 function definition, 376 functions change, 239 creating with Expression Editor, 239 percent-growth, 239 share, 240 unique to Transformer, 239

G
Generate Categories command, 263 generating categories, 97, 263 categories using a specific data source, 98 date categories, 85 GPF recovering from General Protection Faults, 158 See Also troubleshooting growth definition, 376

H
handling early and late dates, 97 invalid dates, 98 hiding root-level values in scenario dimensions, 74 toolbars, 25 hierarchies unbalanced, 288 horizontal axis definition, 377

Step-by-Step Transformer 405

Index

I
IBM CognosScript language definition, 377 IBM Cognos security administration files (.csa) definition, 377 identify the measures, 101 importing .mdl model files from earlier versions, 31 Impromptu accessing databases, 256 advantages of using .iqd files, 256 drill-through, 124 drill through from PowerPlay, 124 drill-through reports, 126, 127 drill through without .iqd files, 125 using to prepare Transformer data sources, 256 using to query local and server data, 50 Impromptu Query Definition definition, 377 inactive categories deleting, 161 including categories in cubes, 205 inclusions, 205 incremental updates definition, 377 limitations, 164 optimize using, 162, 163, 256, 286, 288 indented layouts definition, 377 information messages, 191 initialization files Cognos.ini, 288 Connect.ini, 288 Trnsfrmr.ini and cern.ini, 190 input scales avoiding truncated data values for migrated measures, 293 incorrect decimal placement in numeric category labels, 294 setting, 53 truncated decimal values for measures, 293 integer_exp definition, 377 intersected categories definition, 377 406 IBM Cognos Series 7 PowerPlay Transformer

interval_exp definition, 377 invalid dates handling, 98 isolation levels overriding for databases, 256 setting for Impromptu Query Definition files (.iqd), 202

J
joining tables troubleshooting, 288 joins troubleshooting prior to data import, 258

K
key orphanages eliminating, 97

L
late dates handling, 57, 97 launch buttons setting up, 27 launch menu commands setting up, 25 layer definition, 378 leaf category definition, 378 legend definition, 378 level definition, 378 level headings definition, 378 levels adding source, 63 adding to dimensions, 20, 62 allocating in time dimensions, 118 changing the category inclusion setting, 205 deleting from dimensions, 20 derived, 195 isolation, 202 manual, 62, 63 ordering categories within, 71

Index setting allocation, 118 unique, 212, 287, 289 uniqueness, 234 with special categories, 96 Level tab, 181 limitations in consolidation, 120, 124 in range of dates, 84 when partitioning, 168 line chart definition, 378 link definition, 378 lists definition, 378 for Transformer objects, 19 local authentication definition, 378 local authentication export file (.lae) definition, 379 local currency styles, 388 local data overview, 44 local databases data sources, 48 locale settings, 300 locale settings configuring, 300 localetype cern.ini setting date and numeric display formats, 190 locked dimensions definition, 379 locked levels definition, 379 locking dimensions, 100 log file monitoring partitioning impacts, 170 LOG File definition, 379 log files manual partitioning based on records processed per pass, 264 logging, 191, 251, 252 long names definition, 379 Lotus 1-2-3, 44, 199 lowest details definition, 379 lunar time adding extra weeks, 83 adding extra weeks to resynchronize, 207 setting up, 82

M
macro definition, 379 macros using a menu command, 25 using a toolbar button, 27 maintaining cubes, 157 currency tables manually, 39 data sources, 157 models, 157 source data, 157 updated cube connections, 157 manual categories adding descendants, 23 creating, 67 manual levels adding, 63 definition, 380 manual partitioning example, 264 reasons for using, 172 mapping data into dimensions, 59 markers definition, 380 matching model and source columns, 159 MDL (Model Definition Language) definition, 380 MDL syntax quotation mark delimiters, 196 measure definition, 380 measure allocation in models with multiple data sources, 40 Step-by-Step Transformer 407

Index measure folder, 102 definition, 380 measures adding, 103 adding calculated, 104 adding if-then-else calculated, 105 adding regular, 101 allocating, 115, 296 avoiding decimal and precision errors, 293 avoiding overflow errors, 293 decimal values, 293 drill through, 124 excluding from cubes, 138 externally rolled up, 109 grouping, 138 ignoring specified null or missing time state rollup values, 337 measure folders, 102 missing values in PowerPlay, 291 NA or zero values, 291 not rolled up, 109 overview, 108 regular, 113 regular rollup, 108 reversing the sign of values, 107 rollup, 103, 108 scaling values, 53 scope, 195 time state, 113 time state rollup, 111 timing, 105 unsummarized, 109 zero values, 291 measure scope map definition, 380 showing scope on user interface, 21 Measure tab, 181 measuring past performance, 89, 91 past performance to-date, 90 members, See categories member unique names, See category codes memory adding space to improve cube processing, 298 memory allocation troubleshooting startup problems by setting OS_AS_SIZE, 297 menus adding commands, 23 creating, 23 customizing, 23 distributing, 28 resetting, 23 merging data from different sources, 258 messages help for specific errors, 303 metadata definition, 380 updating, 142 metadata explorer Transformer, 179 Metadata Explorer, 181 Candidate hierarchies pane, 181 Common measures pane, 181 designing a Transformer model, 182 level tab, 181 measure tab, 181 package view, 181 Show Model, 181 Show Scope, 181 Subject tab, 181 Microsoft Access query source, 48 table source, 48 mirror reference definition, 380 missing values definition, 380 displaying, 107 ignoring for specified time state rollups, 113 measures, 291 model definition, 381 modeling design recommendations, 255 model prototype example and dimension map, 259

408 IBM Cognos Series 7 PowerPlay Transformer

Index models adding an Architect package to an existing model, 180 adding an Architect package to Transformer, 180 adding data sources, 31 avoiding problems with non-unique category codes, 165 changes in structure, 159 checking, 198 checking for potential problems, 100, 262 converting, 31 creating from an Architect package, 179 creating new, 30 creating server prototypes, 177 creating with AutoDesign, 60 designing, 182 enabling user class views, 153 importing, 31 maintaining, 157 multiple data source type, 258 preparing for partitioning, 170 recovering after processing failure, 158 setting up multiple sources, 40 synchronizing, 177 synchronizing client-server, 197 uploading files to the server, 177 using different source files, 256 using multiple data sources, 256 modifying auto-partitioning, 170 columns, 292 SQL in .iqd files (Data Source Viewer), 32 monthly time arrays steps and examples in different model types, 55 moving categories, 22, 160 MS Access, 199 multi-byte characters, 201 multifile PowerCubes creating, 170 multiline chart definition, 381 multiple data sources advantages, 256, 258 data source scope, 195 with time arrays, 55 multiple file cubes threshold size setting, 190 multiple source models overview, 40 setting up, 40

N
namespace definition, 381 namespaces configuring security in models, 153 NA or zero values missing measures, 291 nested category definition, 381 nested charts definition, 381 nested crosstab definition, 381 nested measures, 102 NetInfo definition, 381 utility used with Transformer for UNIX, 177 New Data Source wizard using to add data sources to existing models, 31 New Model wizard using to define new models, 30 NewsBox definition, 381 NewsItem definition, 381 null values displaying, 107 ignoring for specified time state rollups, 113 number styles, 388 numeric_exp definition, 381

O
object identifiers definition, 382 Object Linking and Embedding definition, 382 ODBC, 48 OLE definition, 382 Step-by-Step Transformer 409

Index omitting ancestor and sibling categories, 150 categories using Cloak, 147 categories using Exclude, 148 categories using Summarize, 150 categories using Suppress, 146 descendant categories, 150 dimensions from cubes, 138 dimensions using auto-partitioning, 174 opening dimension diagrams, 22 operator definition, 382 optimization case studies, 276 optimization tests sample model description, 268 optimizing cube processing, 165, 215 disabling Refresh, 168 PowerCubes to open faster in IBM Cognos 8, 283 query performance, 162 using consolidation, 167 using multiple sources, 167 ordering categories using global preference setting, 72 categories within levels, 71 orphanages definition, 382 setting up manual levels, 99 orphans categories, 97, 288 outer joins using for data integrity, 258 output scales setting, 53 updating MDL model to match datasource columns and measures, 253 overflow values definition, 382 package view, 181 Paradox, 48, 199 parentage subset definitions definition, 382 parent categories blocked total values, 155 parent category definition, 382 partial weeks, 81, 207 partitioning adding new categories, 170 adding new levels, 286 alternate drill-downs, 287 automatic method, 170 based on information in log file, 264 category sort after a time-based partitioned cube merge, 286 definition, 383 log file monitoring, 170, 252 manual method, 170, 172 passes, 170, 172 performance tradeoffs, 162 preparing models, 170 process for devising an optimal strategy, 168 resetting, 172 retaining sort order, 286 strategies and limitations, 168 strategy, 172 troubleshooting poor query performance, 300 using incremental updates, 286 using with alternate drill-down paths, 170 partitions consolidation, 170 definition, 383 size, 170 summary, 170 passes partitioning, 170, 172 passwords securing Series 7 PowerCubes, 139 paths, 203 pattern matching, 219 PDF File definition, 383 percent-growth function, 239

P
package, Architect, 179 package, using in Transformer, 179 packages Architect, 179 410 IBM Cognos Series 7 PowerPlay Transformer

Index performance analyzing for periods-to-date, 90 analyzing for relative time periods, 89 analyzing over time, 91 improving by disabling uniqueness verification, 165 improving by normalizing data before import, 258 improving PowerCube open times in IBM Cognos 8, 283 performance indicator definition, 383 period-to-date categories, 208 Personal Transformer, 15 pie chart definition, 383 pilot project example and dimension map, 259 placeholder categories adding, 161 planning for new cube group members, 161 plans degree of detail for dates, 54 Pointer File definition, 383 pop-up menus available in Transformer, 19 Portable Document Format File (.pdf) definition, 383 portable subfile dictionary files, 47 PowerCube definition, 383 PowerCube groups definition, 383 PowerCube objects definition, 383 PowerCubes adopting incrementally updated data, 163 checking status, 143 check status, 198 creating, 141 creating multifile cubes, 190 creating test cubes, 142 creating using multiple files, 174 custom views, 144 defining groups, 130 defining manually, 129 disabling creation, 250 enabled/disabled, 198 excluding measures, 138 maintaining, 157 measure folders, 138 omitting dimensions, 138 optimizing processing, 165, 215 planning new group member, 161 protected, 152, 283 replicating, 138 server, 198 setting passwords, 139 speeding up access, 162 temporary filenames, 140 troubleshooting slow build times, 276 updating connections using cubeswap.bat, 157 updating incrementally, 163 updating metadata, 142 PowerCube Status command, 263 PowerGrid Connect.ini file, 288 definition, 383 network daemon used with Transformer for UNIX, 177 using for client-server mode, 288 PowerHouse Portable Subfiles data sources, 47 PowerPlay database connect utility, 138 drill through to other cubes, 126 drill through to other reports and cubes, 124 drill through to UNIX cubes, 127 editions, 15 uniqueness issues when drilling cube-to-cube, 236 PowerPlay Portable Report File (.ppx) definition, 383 PowerPlay Web Explorer definition, 384 PowerPlay Web Viewer definition, 384 PowerPlay Worksheets definition, 384 Ppconnct.exe connecting to remote cubes, 138

Step-by-Step Transformer 411

Index precedence rolling up calculated measures, 105 precision troubleshooting errors, 293 troubleshooting overflow errors, 293 preferences specifying files, 247 Trnsfrmr.ini and cern.ini, 190 preprocessing normalizing data to improve performance, 258 source data, 257 presummarization definition, 384 primary drill-down paths definition, 384 processing adding cache space to improve efficiency, 298 optimizing, 165 production reports troubleshooting, 300 property sheet Category, 186 Level, 186 share category, 186 share object, 186 Special Category, 186 property sheets for Transformer objects, 19 Protected Cube definition, 384 protected cubes overview, 152 prototypes creating preliminary designs, 60 transferring from client to server, 177 proven practices adding faster application servers, 269 allocating more temporary file space, 271 enabling multiprocessing, 269 limiting model and cube size, 276 model and system design, 255 optimizing environment settings (UNIX), 273 optimizing environment settings (Windows), 272 optimizing gateway settings, 274 optimizing memory allocation, 270 redistributing data files, 273 412 IBM Cognos Series 7 PowerPlay Transformer reorganizing data folders, 271 resolving processing bottlenecks, 275 strategies to improve build speed, 276 testing optimization strategies, 268

Q
quarterly time arrays steps and examples in different model types, 55 query definition, 384 Query Processor definition, 384 Quick Tour introduction to PowerPlay, 15 quotation marks, 196

R
rank definition, 384 rank categories definition, 384 recovering failed models, 158 references source for each column in model, 262 registering base key information, 191 regression definition, 385 regular rollup setting, 108 relative time calculations, 292 categories, 87, 88 future projections, 92 settings, 208 relative time category definition, 385 relative time functions definition, 385 removing drill-through files, 124 unsupported database joins, 258 renditions .ini files, 191 registering base keys, 191

Index Trnsfrmr.ini location, 190 reporter reports definition, 385 Report Processor definition, 385 reports definition, 385 production, 300 resetting menus, 23 partitions, 172 toolbars, 25 resolving data dictionary terms, 258 errors using online Help, 263 restricting data access based on user class, 154 drill-through targets by level, 126 retaining combined rollup values, 150 rollup values (Cloak), 147 reversing signs, 107 roles definition, 386 rollup category count, 103 combining regular and time state, 113 controlling measures, 108 disabling on special categories, 96 duplicates, 120, 122 external, 109 ignoring null or missing values, 337 in calculated measures, 105 in consolidation, 120 measure folder, 102 overview, 108 regular, 108, 113, 120 retaining values for summarized categories, 150 time state, 111, 113 rollup calculations definition, 386 rollup functions definition, 386 rollups duplicate records, 257 ignoring null and missing values, 113 rollup types supported functions, 215 root category definition, 386 rounding scaling, 53 row definition, 386

S
scales updating MDL model to match datasource columns and measures, 253 scaling input values, 53 measure values, 53 scaling errors in numeric category labels, 294 scatter plot chart definition, 386 scenario dimensions hiding the root category, 74 scope defining, 195 show on dimension map, 21 show option for measures and categories, 262 Scope function, comparing in Transformer and Architect, 184 searching using wildcards, 219 security augmenting for PowerCubes in IBM Cognos 8, 283 combining dimension and user class views, 156 updating, 295 updating access-controlled views, 154 using for custom views in Transformer, 153 security requirements defining, 255 server accessing data, 50 category and cube processes, 198 copying .mdl files, 177, 190 creating prototypes, 177 data sources, 50 Step-by-Step Transformer 413

Index defining models, 177 model synchronization, 197 synchronization with client, 197 uploading models, 177 servers connection problems, 299 setting allocation type for a measure, 207 category inclusion, 205 cube processing optimization, 215 date functions, 213 degree of detail for date columns, 212 partitions manually, 172 relative time periods, 208 settings locale, 300 setting up calendar and fiscal years in one time dimension, 79 calendar years, 79 currency conversion, 33, 34, 39 currency conversion tables manually, 39 current period automatically, 88 current period manually, 88 custom time dimensions, 85 drill through, 124 euro currency conversion, 36 fiscal years, 79 future time projections, 92 launch buttons, 27 launch menu commands, 25 lunar time periods, 82 months, 79 orphanages as manual levels, 99 protected cubes, 152 quarters, 79 relative time categories, 87 special time categories, 94 time dimensions, 74 time state rollup function, 111 unique levels in drill-through targets, 236 share category, 186 object, 186 property sheet, 186 shared dimensions definition, 386 414 IBM Cognos Series 7 PowerPlay Transformer share function, 240 short names definition, 386 Show Counts command, 262 showing toolbars, 25 Show Model, 181 Show References command, 262 Show Scope, 181, 184 command, 262 sibling category definition, 387 signons in models, 294 using with .iqd files, 294 signs reversing, 107 size partitions, 170 slice and dice definition, 387 slowly changing dimensions, 134, 135 sort definition, 387 sorting categories in time-based partitioned cubes, 286 sort order retaining in time-based partitioned cubes, 286 source data analyzing, 256 preprocessing, 257 requirements, 256 source files alternative, 256 source orphanages definition, 387 eliminating, 97 source values definition, 387 sparse data definition, 387 special categories adding descendants, 23 creating, 95

Index creating levels, 96 definition, 387 disabling rollup, 96 overview, 94 Special category property sheet share category, 186 specifying partitioning passes, 170, 172 partition size, 170 uniqueness, 289 splitting cubes into multiple files, 170 splitting weeks, 81, 207 spreadsheet crosstabs definition, 388 spreadsheet databases definition, 388 spreadsheets, 44 SQL modifying for .iqd files (Data Source Viewer), 32 stacked bar chart definition, 388 standard layouts definition, 388 standard reports definition, 388 status check model, 198 of cubes, 143, 198 storage types changing to avoid overflow errors, 293 definition, 388 stored procedure definition, 388 strategies cube partitioning, 168 string definition, 388 string_exp definition, 388 structural data sources definition, 388 separating from transactional, 257 static data, 257 Structured Query Language, See SQL style definition, 388 subdimensions creating, 73 definition, 389 subject definition, 389 subject item definition, 389 subjects filtering, 183 Subject tab, 181 subset calculations definition, 389 subset definitions definition, 389 subsets definition, 389 subset viewer definition, 389 summaries values in PowerPlay clients, 292 summarize definition, 390 summarizing categories, 150 in alternate drill-down paths, 232 reducing data processing, 257 summary definition, 390 summary partitions definition, 390 suppress definition, 390 suppressing allocation, 120 allocation for a measure, 207 categories, 146, 205 in alternate drill-down paths, 232 unwanted manually added categories, 170 suspended models recovering, 158 swapping definition, 390 switches, See command line options

Step-by-Step Transformer 415

Index synchronization definition, 390 of client and server models, 177 synchronizing client-server models, 197 column and measure scales in MDL model with datasource, 253 columns with new data, 292 syntax quotation marks in MDL, 196 time_exp definition, 390 time arrays definition, 391 monthly, 55 quarterly, 55 time-based partition cube definition, 391 time-based partitioned cube adding or removing cubes, 137 multi-level cube, 137 slowly changing dimensions, 134, 135 time-based partitioning cube customization, 136 defining, 130 limitations of this cube design, 130 retaining sort order, 286 time dimensions definition, 391 invalid categories, 289 time interval styles, 388 time levels definition, 391 timeout settings changing environment variable defaults, 299 time state measures definition, 391 time-state measures ignoring specified null or missing rollup values, 337 time-state rollups ignoring null and missing values, 113 time styles, 388 timing setting for calculated measure, 105 toolbar buttons customizing, 25 toolbars changing buttons, 26 customizing, 25, 26 distributing, 28 resetting, 25 setting up buttons, 26 showing or hiding, 25 TR0104, 303 TR0105, 303 TR0106, 303

T
table aliases using for data integrity, 258 tables joining, 288 test cubes creating, 142 third-party OLAP source drill through, 125 ticks definition, 390 time adding extra weeks for lunar, 83 allocating measures, 118 arrays, 55 comparing past and present performance, 89, 90, 91 create dimension manually, 77 current period, 233 custom, 74 default relative categories, 87 dimensions, 74, 77, 79, 85 invalid dates, 289 lunar periods, 82 measuring data in relative, 89, 90, 91 non-standard, 85 period-to-period comparisons, 94 projections, 92 setting current period automatically, 88 setting current period manually, 88 setting up lunar, 82 setting up projections, 92 setting up relative, 87 splitting partial weeks, 207

416 IBM Cognos Series 7 PowerPlay Transformer

Index TR0107, 304 TR0108, 304 TR0109, 305 TR0110, 305 TR0111, 305 TR0112, 305 TR0113, 306 TR0114, 306 TR0116, 306 TR0117, 306 TR0118, 307 TR0128, 308 TR0131, 308 TR0132, 308 TR0133, 309 TR0137, 309 TR0149, 310 TR0151, 310 TR0202, 310 TR0203, 310 TR0205, 311 TR0206, 311 TR0207, 311 TR0208, 311 TR0209, 311 TR0210, 312 TR0214, 312 TR0215, 312 TR0217, 313 TR0301, 313 TR0303, 313 TR0404, 313 TR0407, 313 TR0408, 314 TR0412, 314 TR0420, 314 TR0423, 314 TR0476, 315 TR0500, 315 TR0501, 315 TR0502, 315 TR0503, 316 TR0504, 316 TR0505, 316 TR0507, 317 TR0508, 317 TR0510, 317 TR0514, 317 TR0515, 318 TR0518, 318 TR0519, 318 TR0523, 318 TR0524, 319 TR0525, 319 TR0528, 320 TR0534, 320 TR0535, 320 TR0536, 320 TR0538, 321 TR0540, 321 TR0541, 321 TR0552, 322 TR0605, 322 TR0606, 322 TR0607, 323 TR0613, 323 TR0621, 323 TR0623, 324 TR0624, 324 TR0700, 324 TR0701, 325 TR0702, 325 TR0705, 325 TR0713, 325 TR0716, 326 TR0743, 326 TR0745, 326 TR0749, 327 TR0750, 327 TR0751, 327 TR0752, 327 TR0753, 327 TR0800, 327 TR0802, 328 TR0803, 328 TR0804, 329 TR0805, 329 TR0806, 329 TR0807, 329 TR0808, 329 TR0809, 330 TR0810, 330 Step-by-Step Transformer 417

Index TR0811, 330 TR0812, 331 TR0813, 331 TR0815, 331 TR0816, 331 TR0817, 332 TR0900, 332 TR0904, 332 TR0906, 332 TR0907, 333 TR0914, 333 TR0917, 333 TR0919, 333 TR1003, 334 TR1005, 334 TR1100, 334 TR1101, 334 TR1102, 334 TR1106, 335 TR1109, 335 TR1304, 335 TR1307, 335 TR1308, 336 TR1309, 336 TR1310, 336 TR1312, 336 TR1319, 337 TR1320, 337 TR1340, 337 TR1502, 338 TR1503, 289, 338 TR1601, 338 TR1700, 338 TR1703, 339 TR1900, 339 TR1903, 339 TR1907, 340 TR2000, 340 TR20002, 341 TR2001, 340 TR2306, 341 TR2307, 341 TR2308, 341 TR2312, 289, 342 TR2313, 289, 342 TR2314, 289, 342 418 IBM Cognos Series 7 PowerPlay Transformer TR2316, 343 TR2317, 289, 343 TR2318, 289, 343 TR2319, 289, 344 TR2320, 344 TR2321, 345 TR2322, 345 TR2323, 345 TR2324, 345 TR2325, 346 TR2326, 346 TR2502, 346 TR2503, 347 TR2504, 347 TR2505, 347 TR2506, 347 TR2507, 348 TR2508, 348 TR2509, 348 TR2510, 348 TR2600, 349 TR2601, 349 TR2605, 349 TR2606, 349 TR2608, 350 TR2700, 350 TR2701, 350 TR2702, 351 TR2703, 351 TR2704, 352 TR2705, 352 TR2706, 352 TR2707, 352 TR2708, 353 TR2710, 353 TR2711, 353 TR2712, 354 TR2713, 354 TR2714, 354 TR2715, 354 TR2716, 355 TR2717, 355 TR2718, 355 TR2719, 356 TR2720, 356 TR2723, 356

Index TR2724, 356 TR2725, 357 TR2726, 357 TR2727, 357 TR2728, 358 TR2729, 358 TR2731, 358 TR2732, 358 TR2733, 359 TR2734, 359 TR2735, 359 TR2736, 359 TR2737, 360 TR2740, 360 TR2800, 360 TR2801, 360 TR2802, 361 TR2803, 362 TR2804, 362 TR3006, 362 TR3010, 363 TR3014, 363 TR3101, 363 TR3311, 363 TR3439, 364 TR3505, 364 TR3619, 364 transactional data sources definition, 391 separating from structural, 257 Transformer creating a model from an Architect package, 179 designing, 182 Metadata Explorer, 179 using with Architect, 179 Transformer Edition, 15 Transformer model adding an Architect package to an existing model, 180 trend definition, 391 triangulation definition, 391 euro conversion method, 36 overview, 33 Trnsfrmr.ini file century break setting, 190 troubleshooting client-server connection problems, 299 cube connection problems using cubeswap.bat, 157 database connection problems, 298 empty results when querying Microsoft Access databases, 285 errors arising from use of double quotation marks, 285 help for specific error messages, 263 import problems with BLOB and CLOB data types, 298 incorrect scaling of numeric category labels, 294 measure allocation anomalies in updated time-based partitioned cubes, 297 model and system design issues, 255 numeric data migration errors, 293 overflow errors, 293 problems due to non-unique category codes, 165 production problems, 276 query performance for partitioned cubes, 300 slow PowerCube open times in IBM Cognos 8, 283 startup problems due to ObjectStore VirtualAlloc failure, 297 truncated data values for migrated measures, 293 truncated decimal values for measures, 293 UNIX model creation problems, 299 using Check Model command, 262 tutorials for new and experienced users, 15 two-digit years handling, 57

U
unbalanced diagrams definition, 392 unbalanced hierarchies creating, 73 troubleshooting, 288 within a dimension, 73 union of user classes, 222 unique moves for categories in Transformer, 160

Step-by-Step Transformer 419

Index uniqueness avoiding problems with non-unique category codes, 165 definition, 392 disabling verification to improve performance, 165 issues in alternate drill-down paths, 65 specifying, 287, 289 UNIX cubes adding drill-through targets, 127 UNIX paths, 203 updating authentication files, 295 authentication information in a model, 154 cube connections using cubeswap.bat, 157 cube metadata, 246 cubes incrementally, 256 currency tables manually, 39 incrementally, 161, 163 metadata, 142 user classes, 295 uploading models to the server, 177 user class definition, 392 user classes enabling for a model, 153 setting up views, 152 union of views, 222 updating, 295 user class view definition, 392 user class views based on configured Series 7 namespace, 22 combining with dimension views, 156 customizing cubes, 144 setting up, 154 union, 222 user security controlling access to metadata, 154 updating custom views, 154 versions, 15 vertical axis definition, 392 view definition, 393 viewing category actions in diagrams, 220 scope of a data source, 40

W
wait period settings changing environment variable defaults, 299 warnings, 191, 198 weeks partial, 81, 207 splitting, 81, 207 weighting allocation by another measure, 207 What's this? help in Transformer, 19 wildcard characters troubleshooting ADO syntax errors, 285 wildcards, 219

Y
Y2K, See Year 2000 Year 2000 specifying dates, 57 ymdinterval_exp definition, 393

Z
zeros displaying, 107 measures, 291 zooming in and out in Transformer diagrams, 22

V
value restriction subset definitions definition, 392 values blocked totals, 155 420 IBM Cognos Series 7 PowerPlay Transformer

Вам также может понравиться