Está en la página 1de 93

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 Dos and Donts 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 Dos & Donts 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

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 users 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

Caching No requirements to connect

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


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 Dos and Donts

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 Dos & Donts 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 controls 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 cards 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 reports 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 divs 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