Creating an IBM Cognos Active Report Intermediate to Advanced

Jeff MacDonald, IBM Craig Taylor, IBM

© 2012 IBM Corporation


• Module 1 – Introduction • Module 2 – Active Report Basics • Module 3 – Active Report in Business Insight and on the iPad • Module 4 – Do’s and Don’ts • Module 5 – Troubleshooting • Module 6 – Common Techniques • Module 7 – Build a PoC Quality Active Report


Module 1 Introduction
• • •
Course objectives Resources available

Participant experience


What You Will Get Out of This Course
• A better understanding of Active Report • In depth knowledge of Active Report features and capabilities • Awareness of the ease of creating an interesting Active Report So that you can create and deploy rich and compelling Active Report content


Resources You Will Get to Take Home
• Presentation slides • Common Techniques MHT files and report specs • Do‟s & Don‟ts MHT files and report specs • Workshop solutions • Image gallery used for workshop reports


Additional Material
IBM Cognos Active Report 10.1.1 Cookbook
• Available for download on IBM developerWorks site advanced_report_design/page593.html

Video walkthroughs of common Active Report techniques
• Available for viewing on YouTube

Active Report Gallery
• Downloadable MHT files and report specs



Module 2 Active Report Basics
• • •
Key benefits of the solution Supported functionality Building basic reports


Interactive Dashboards with IBM Cognos Active Report
Extend the reach of BI and analytics to a broad audience of consumers so they can use interactive reports to uncover new insights and opportunities. Solution highlights:

• Disconnected • Portable • Highly Interactive • Details on Demand • Broad Distribution • Cognos Platform Integration

Creating an Active Report

• • •

Blank Active Report provides empty Report Studio canvas
Active Report gives a default template with a ribbon styled header and footer Convert to Active Report allows object and query re-use from standard reports


Active Report Specific Properties

• • • •

Window Title sets the text in the browser header
Window Startup Size is the default size of the browser when a report is launched Maximum Query Rows limits the result result for each query; an error is provided Access Code must be entered by the user before being able to consume the report


Active Report Support for Report Studio Features
Supported Unsupported

• • • • • • • •

Charts, Lists, Crosstabs, etc… Prompt Pages Drill-Through HTML Item* Query Functionality Classes Layout Component References* Scheduling & Bursting

• • • • •

Inline Prompts JavaScript Traditional Drill Down Table of Contents Bookmarks


Active Report Controls

• •

Data Controls have values populated by a query item
Static Controls have manually entered values by the author

• Organization
– Deck – Tab Control

• Multiple Item Selections
– Toggle Button Bar – Check Box Group – List Box

• Single Item Selections
– Button Bar

– Discrete Values – Continuous Values

– Radio Button Group
– Drop Down List – Iterator – Charts, Lists, Crosstabs

Decks & Data Decks

Decks have a manually controlled number of cards and different layouts can be built on each card
Data Decks have a number of cards equal to the number of records in the query and each card has the same layout – each card is filtered in a different way according to the Master Detail Relationship


Using a Deck

Set Active Report Variable

Deck has Container Select for Active Report Variable


Using a Data Deck
Set Active Report Variable

Data Deck has Container Select for Active Report Variable Master Detail Relationship between the Data Deck and the objects inside the Data Deck

Product Line n Product Types

Product Line 3 Product Types

Product Line 2 Product Types Product Line 1 Product Types


Deck Selection

• •

Single Selection Controls are used to select the card to display in the Deck or Data Deck – multiple controls are needed if a Data Deck is driven by multiple query items
Default Card is displayed if a valid selection condition does not exist for the Deck – useful for displaying summary level data or providing the user with instructions No Value List Item is an effective way to give a user access to the default card – clears the variable driven by control when selected


Making Connections
Create a New Connection Wizard provides an interface with everything in one flow – including setting a default value based on the controls being connected


Making Connections
Interactive Behavior Menu provides a manual interface for configuring connections between controls – more granular control & the ability to work with multiple variables – also accessible through the Properties menu


Clickable Regions

Active Areas are defined by the Clickable Region property – the options available in this dialog box change depending on what object is selected


Active Report Control and Variable Views

• •

Control view shows how controls are connected to one another
Variable view shows where variables are used in the report


Unique Active Report Functionality

• • •

Calculated Summaries ensure that output calculations are always correct as a user interacts with the Active Report
Row Numbers ensure that a list is sequentially numbered as a user sorts and filters Sorting can be enabled on lists and crosstabs with a single property Column / Row Visibility is used to show or hide columns based on a condition in an Active Report variable


Laying out an Active Report

• • •

Plan the report before beginning to author – ensure the targeted form factor & layout standard (fix vs. flow) is understood
Map Interactivity to understand where Decks are needed and whether data or static controls are required – users most often begin looking for interactivity in the top left Consider Animation as it will impact the layout of the decks

Default Behavior on load can be used to help reveal interaction

Separate decks are required to support different animation options


Styling an Active Report

• • • •

Seek Requirements from the customer before styling – preferences are very subjective and the styling choices have a large impact on a user‟s first impression
Pick a Style Theme for the report and ensure that the background, palettes, font, etc.. are consistent – if you are not graphically inclined use examples for ideas Background Styling provides a large portion of the look-and-feel of a report – solid colors work but often times subtle linear or radial gradients are used Use Custom Buttons to increase the visual appeal – clipart icons or custom background effects in a block can be used Chart Palettes can be difficult to design but impact the overall appeal of the Active Report – try using tools like to help match with theme


Module 2 Workshop Part 1: Build a Basic Report


Module 2 Workshop Part 2: Bonus


Module 3 Active Report in Business Insight and on the iPad
• • •
How to create and use Active Reports in Business Insight iPad specific guidance for Active Report design Connecting multiple Active Reports on the iPad


Active Report in Business Insight

• •

Consume Active Report saved outputs in Business Insight
Interact with individual Active Report outputs or drag multiple Active Reports onto the workspace and share context between all of them Public Variables are used to communicate between Active Reports – they must have the same name and type in each report for the context to be shared


Debugging Active Reports in Business Insight

• • •

Control Shift D on an Active Report will enable the right-click debug menu
Variable names and values and be confirmed Debugging can be done by interacting with the different reports or by manually setting variables to ensure proper reaction


Benefits and Considerations

• Benefits
• Caching • No requirements to connect

• Considerations
• • • • “Do More” option not available Only connect to Active Reports Pre-run saved output Business Insight must be connected to the server


Active Report on the Apple iPad
Download the new IBM Cognos Mobile app Available now in the App Store for free

• Seamlessly integrated with Active Report
• Consume indirectly from an email or directly in the app • Using scheduling to automatically send outputs to an iPad

• No new authoring environments to learn
• No new output formats to manage

Any Active Report can be consumed on the desktop, Business Insight and the iPad

Existing re-run Active Reports can be consumed as-is on the iPad in IBM Cognos BI 10.1.1


Controls on the iPad

iOS Look and Feel controls are automatically generated when an Active Report is consumed on the iPad – optimized for touch and styled to fit the iPad environment


Incorporating iPad Native Gestures – Swipe

• Swipe gesture can be
enabled on deck controls

• The deck control requires
set and select conditions and a slide animation direction

• Can be used to trigger
updates in the report through variables

• Can be coupled with the
iterator control (page dots UI) to give it a more native and familiar look and feel

iPad Considerations

Screen resolution is 1024 x 768 but usable area is 1024 x 704




iPad Design Considerations

• Page Padding

• Set Page Body padding to 0 0 0 0 to prevent it defaulting to 2 • Scrollable regions within a report may be difficult to discover – iOS 4 and earlier require a 2 finger scroll • List box is replaced with drop-down list on the iPad • Clickable lists and crosstabs should have rows of a minimum comfortable height to press (Apple HIG recommends 44 px) • Chart areas may be too small to touch (eg: small bubbles or maps)

• Scrollable Regions
• List Box

• Consider size of touch regions

• No equivalent to swip-able decks on the desktop • Pay attention to suppported fonts

• Use a secondary control to select cards from those decks • Iterator dots are clickable on the desktop
• Not all fonts are supported use to cross reference conformance

iPad 3 Design Considerations

• Fonts

• Standalone fonts are clearer and sharper on the iPad 3 • Both fonts and images are resized to fit the retinal display as a results fonts in images are less sharp • There is a trade off between image size and image quality which affects the size of the Active Report • Swiping on an iPad 3 is faster and smoother • Loading an Active Report is approximately the same time as loading with an iPad 2

• Fonts in images

• Image sizes / Balancing size considerations

• Swipe Area

• Unchanged load times


Linking Active Reports on the iPad

• • •

Disconnected Links can be built between Active Reports on the iPad to create an „application‟ of Active Reports – February 2012: Cognos Mobile 10.1.1 FP3 release
Public Variables can be passed between the reports to share context – variables in source and target both need to be Public and share the same name and type Application Drill-Through is used to author the link – the method & parameter names must match example – Store ID & CM Search Path of target report required Set Variable Value Condition is required on the control that has the Application DrillThrough – needed to trigger the drill even if the control is just setting a dummy variable


Linking Active Reports on the iPad

Schedule the group of reports as a job so that they arrive on the iPad together and have equally fresh data
DrillTarget.AgeDifferenceReRunThresholdHours is a new Mobile Service advanced setting that controls the maximum allowable age difference between Active Reports for offline linking

• •

Reports on My iPad section will display all of the Active Reports in the group
Back Button within the iPad application is used to navigate back to the source report


Module 4 Do’s and Don’ts

Various tips to improve the creation and performance of an Active Report


Simple Decks

Keep decks as simple as possible by having them only contain data that you need to be unique on a card. Push as much of the additional layout, styling, static content outside of the deck to avoid it being duplicated unnecessarily.

Deck placed in 1 formatted Block


Use Classes

Using classes to style is even more important in an Active Report as many copies of things can be created (for example in decks) that may not be visible all at once, but can really start bloat the size of a report

A defined class used on a List Column Body

Set Default Values

Ensure you set default values for variables (where applicable)


varProduct line Variable set to default a value

Set Sizes

• •

Set sizes on columns of lists/xtabs that are filtered or sectioned

If trying to constrain built a fixed size dashboard, ensure to put sizes on charts and section charts or xtabs (using decks or filtering)




List Column sized to prevent control ‘dancing’ behavior

Set Deck Sizes

Size decks to avoid large swipe or animation

Data Deck sized to chart

Avoid Nesting Data Containers

Avoid nesting a data container within a data container. e.g. don't create a deck for products and then nest a deck for years inside. Create a single deck on Products, Years.

Single deck on Product line and Year

Nested Decks with Year and Product line


Segment Decks

Segment data using decks instead of filtering when possible. The performance will be much better and the users will not know the difference.

Card containing Camping Equipment Data

Segmenting a deck versus filtering


For multilingual support use a code or id that can be associated 1:1 to the label that is not localized.

LanguageID used for selection


Layout Component Reference Objects

Use Layout Component Reference Objects

• Quick and easy design change • Limits duplication of object creation

Block defined as Layout Reference Object

Name Controls and Queries

For maintenance and readability

• Name all controls Queries for function and maintenance • Name all queries

Data Button Bar named

Name Variables

For readability prefix the variable names with v or var

Friendly named variables displayed on the Active Report Variable Tab


Reuse Queries

Re-use queries as much as possible to reduce complexity (right mouse button drag from the toolbox makes this a little easier)

Data Button Bar and Data Deck share the same Query



• •

Align as close to data as possible Align use tables – center etc

Left, Center, Right

Top, Middle, Bottom


Chart Hotspots

If charts have no behavior assigned reduce Maximum Hotspots to zero


Test Queries

Test queries to ensure you are getting the number of records/charts/crosstabs you expect (debug options will also help – Control Shift D – then right click


Use an Image and Block to Help with Layout

A block will expand if the contents are greater than a fixed size

The image will maintain the size


Use Virtual Tables for Image Buttons

Select * From ( values ( ( ) ButtonImages (imageName, buttonValue ) cast('regionbutton_mid.png' as varchar(25) ), cast('region' as varchar(25) ) ), 'ombutton_mid.png', 'ordermethod' )


Module 4 Workshop Part 1: Fix This Report

This report has three methods of filtering the list. Please correct the report to use only the one correct method.

• • •

Open the report Module 4 Part 1 Fix This Report.txt in Report Studio
Correct the errors in the report. Indicate what was wrong and what you did to correct the report.


Module 4 Workshop Part 2: Fix This Report

This report has 12 mistakes that can be corrected by applying the Do‟s & Don‟ts covered in this module.

• • •

Open the report Module 4 Part 2 Fix This Report.txt in Report Studio Correct the errors in the report. Indicate what was wrong and what you did to correct the report.

Module 5 Troubleshooting
• • • •
Connections Sizing Variables Record Sets



Review connections for proper object behavior

Ensure the setting variables are correct

Ensure selection/filtering are set correctly



Correct sizing to avoid dancing and improper animation

• •

Use Positioning -> Size and & Overflow

Use padding, horizontal and vertical alignment

Use the Properties Ancestor button to check other objects size properties



Control Shift D to enable the debug menu

Use the Show Variables to check variable values and behaviors

Use the Show Variables to set values for variables



• • • •

Control Shift D to enable the debug menu

Info provides internal information on the objects in the Active Report

Good for understanding number of decks/controls/cards etc

Validates the queries are correctly filtered


Record Sets

Control Shift D to enable the debug menu

• •

Info provides internal information on the records in the Active Report

Good for understanding number of rows in the Active Report

Validates the queries are correctly filtered


Module 5 Workshop: Fix This Report

Open the Active Report in the browser and determine how many of the following items there should be in the Active Report: Button Bars Charts Lists Entries in Records Sets

• • • •

Using troubleshooting techniques, determine how many of these items there are in the Active Report. Open Module 5 Fix This Report.txt in Report Studio; correct the errors in the report Indicate what was wrong and what you did to correct the report. Note: you should be able to find 7 mistakes in the report

• •

Module 6 Common Techniques
• • • •
Leveraging the Basics to Create Rich Report Objects Visual Techniques Leveraging HTML Items Extending Base Functionality


1. Change Chart Type and View Details

Provide multiple views (charts, maps, or tables) of the same data




Use a static deck or a static tab control to provide multiple cards (or tabs) with the same data in renderings

2. Side-by-Side Comparison Chooser

A side-by-side display of the same data for two different items



• •

Mirrored controls and decks leveraging a layout component reference of the data content in the second deck

Use a separate variable for each item (ex: 2 city variables are used in the example 69 above)

3. Drilling Down to Details

• •

Upon selecting data, drill-down to more details

EXAMPLE Drilling down to the details for a particular product line



Use decks and data decks organized in a horizontal table to define a drill path

4. Toggled List Column Display

• •

User control over which columns are visible on a list

EXAMPLE Checkboxes that control which measures are displayed in a list



Use a static check box control to drive the visibility of associated columns

5. Disabling Until a Condition is Met

• •

Keep a part of a report disabled until other conditions are met through user interaction

EXAMPLE Showing a default card and disabling another control until a value is chosen from another control


Create a default card to be shown when no value is set and/or setup a control enabled expression requiring the variable to not be empty


6. Cascading Prompts

• •

Choices available in the next control depend on the value selected in the previous control

EXAMPLE Cascading prompting through a hierarchy of data


• •

Disable next control(s) until variable set by previous control has a value Filter next control(s) by the value of the previous control‟s variable


7. Cascading Animated Prompts

• •

Show a second prompt control only after a selection from the first has been made

EXAMPLE Progressive disclosure of a cascading prompt control


Put the secondary control(s) in an animated deck and show the card only when the previous prompt has been answered


8. Hidden Report Regions

• •

Create an area in the report that can be displayed or hidden

EXAMPLE Ideal for making additional content or controls available on demand



Put a two-card static deck into a collapsing 2 column (or row) table

9. “Top Metrics” Area

• •

A visual technique to highlight “key metrics” in a textual way

EXAMPLE Highlight the most important measures and metrics


Using a table in a data deck, add measures to each column cell in the first row of the table, and labels for the corresponding measures in the second row


10. Clickable Exploding Pie Slices

Clicking on a pie slice explodes out that piece of the pie




Create a pie chart in a data deck and use an expression on the chart to identify the pie slice to explode

11. Custom Content Buttons

• •

Create custom looking items that support interactive behavior

EXAMPLE A custom look vertical button bar containing a micro chart


• •

Use a list for vertical or a crosstab for horizontal orientation content Augment or override the default contents of the cells

12. Toggled Conditional Styling

• •

Allow user to toggle on and off conditional styles on content

EXAMPLE Button bar to toggle conditional styling in a crosstab


• •

Create a static deck with duplicated contents on each card Apply a different conditional style on each card‟s content

13. Sliding to Visualize Changes

• •

Sliding through time on a slider control to gain insight on the data

EXAMPLE Sliding through years to see heat map data on map change over time



Use a live updating slider to slide through content in a data deck

14. Scrolling Marquee

• •

Scroll data (to be passively consumed) across the screen A scrolling marquee of related measures to the report‟s primary content



Wrap data in a repeater element between two HTML items containing opening and closing marquee tags (<marquee> and </marquee>)


15. Embedded Videos

Include a link to a video form an external source (ex: from YouTube or a corporate internal or external web site)



• •

Put well formed HTML video code into an HTML item in the report Note: video will only be available when user is connected

16. Absolutely Positioned Content

Absolutely position content on top of other content in a report



Wrap content in HTML Items that positions the content absolutely

• Before content:
<div style=“position: absolute; left: ?px; top: ?px; width: ?px; height: ?px;”>

• After content:
83 </div>

17. Tree Control

A tree control to more easily navigate and find data in a hierarchical structure


A hierarchical tree of Product line > Product type > Product name

IMPLEMENTATION Use decks inside of lists to build up a structure based on the data hierarchy


18. Pop Up using Background Image

Create a pop card using images as background


Bar chart displays on top of existing controls

IMPLEMENTATION Use a background image the resembles the originating deck card


19. Pop Up using HTML <div>

Control the location of the deck card to enable cards to pop up over existing controls


A card containing a crosstab pops up on a chart Use div‟s inside a card to control positioning and size of the card



20. Menus

A menu control to more easily navigate, select or filter controls


A menu that is activated by clicking or touching a button

IMPLEMENTATION Use decks, absolute positioning and list to create menu and menu options


21. Custom Button using Repeater Table

• •

A list report in a repeater table enables the user to create custom button both vertical and horizontally

EXAMPLE Three styles or custom buttons • Text • Horizontal images • Vertical images IMPLEMENTATION Use lists with no column headers in a repeater tableof lists to build up a structure based on the data hierarchy


Module 7 Build a PoC Quality Report
• • • •
Leveraging the Basics to Create Rich Report Objects Visual Techniques Leveraging HTML Items Extending Base Functionality


Steps to Build a Rich and Compelling Active Report

1. 2. 3.

Plan the report Build the content Size, style and lay out the content

5. 6.

Define the interactive behavior
Test the report Deploy the report


Module 7 Workshop: Build a PoC Quality Report


Module 7 Workshop: Build a PoC Quality Report


Module 7 Workshop: Build a PoC Quality Report


Module 7 Workshop: Build a PoC Quality Report