© 2012 IBM Corporation Creating an IBM Cognos Active Report Intermediate to Advanced Jeff MacDonald, IBM Craig Taylor, IBM
Oct 26, 2014
© 2012 IBM Corporation
Creating an IBM Cognos Active Report Intermediate to Advanced
Jeff MacDonald, IBM
Craig Taylor, IBM
Agenda
• 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
2
3
• Course objectives
• Resources available
• Participant experience
Module 1 Introduction
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
4
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
5
Additional Material
IBM Cognos Active Report 10.1.1 Cookbook• Available for download on IBM developerWorks site
https://ltsbwass001.sby.ibm.com/cms/developerworks/data/library/cognos/reporting/advanced_report_design/page593.html
Video walkthroughs of common Active Report techniques• Available for viewing on YouTube
http://www.youtube.com/user/ibmbusinessanalytics#p/c/3C03311925AC1773
Active Report Gallery• Downloadable MHT files and report specs http
://w3.tap.ibm.com/medialibrary/media_set_view?id=17196&oB=0&oD=2
6
Examples?
7
8
• Key benefits of the solution
• Supported functionality
• Building basic reports
Module 2Active Report Basics
Solution highlights:
• Disconnected
• Portable
• Highly Interactive
• Details on Demand
• Broad Distribution
• Cognos Platform Integration
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.
Interactive Dashboards with IBM Cognos Active Report
9
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
10
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
11
Active Report Support for Report Studio Features
Supported
• Charts, Lists, Crosstabs, etc…
• Prompt Pages
• Drill-Through
• HTML Item*
• Query Functionality
• Classes
• Layout Component References*
• Scheduling & Bursting
Unsupported
• Inline Prompts
• JavaScript
• Traditional Drill Down
• Table of Contents
• Bookmarks
12
Active Report Controls• Data Controls have values populated by a query item
• Static Controls have manually entered values by the author
13
• Organization
– Deck
– Tab Control
• Single Item Selections
– Button Bar
– Radio Button Group
– Drop Down List
– Iterator
– Charts, Lists, Crosstabs
• Multiple Item Selections
– Toggle Button Bar
– Check Box Group
– List Box
• Sliders
– Discrete Values
– Continuous Values
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
15
Using a Deck
16
Set Active Report Variable
Deck has Container Select for Active Report Variable
Using a Data Deck
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
Set Active Report Variable
Data Deck has Container Select for Active Report Variable
17
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
18
Making ConnectionsCreate a New Connection Wizard provides an interface with everything in one flow – including setting a default value based on the controls being connected
19
Making ConnectionsInteractive 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
20
Clickable Regions
21
• 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
22
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
23
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
24
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 http://kuler.adobe.com/ to help match with theme
25
Module 2 Workshop Part 1: Build a Basic Report
26
Module 2 Workshop Part 2: Bonus
27
28
• How to create and use Active Reports in Business Insight
• iPad specific guidance for Active Report design
• Connecting multiple Active Reports on the iPad
Module 3Active Report in Business Insight and on the iPad
Active Report in Business Insight
29
• 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
30
• 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
31
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
32
Controls on the iPad
33
• 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
34
• 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
35
1024
704
pixels
pixels
iPad Design Considerations
• Page Padding• Set Page Body padding to 0 0 0 0 to prevent it defaulting to 2
• Scrollable Regions• Scrollable regions within a report may be difficult to discover – iOS 4 and earlier
require a 2 finger scroll
• List Box• List box is replaced with drop-down list on the iPad
• Consider size of touch regions• 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)
• No equivalent to swip-able decks on the desktop• Use a secondary control to select cards from those decks• Iterator dots are clickable on the desktop
• Pay attention to suppported fonts• Not all fonts are supported use http://iosfonts.com/ to cross reference conformance
36
iPad 3 Design Considerations
• Fonts• Standalone fonts are clearer and sharper on the iPad 3
• Fonts in images• Both fonts and images are resized to fit the retinal display as a results fonts in
images are less sharp
• Image sizes / Balancing size considerations • There is a trade off between image size and image quality which affects the size of
the Active Report
• Swipe Area• Swiping on an iPad 3 is faster and smoother
• Unchanged load times• Loading an Active Report is approximately the same time as loading with an iPad 2
37
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 Drill-Through – needed to trigger the drill even if the control is just setting a dummy variable
38
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
39
40
• Various tips to improve the creation and performance of an Active Report
Module 4 Do’s and Don’ts
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.
41
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
42A defined class used on a List Column Body
Set Default Values
• Ensure you set default values for variables (where applicable)
43varProduct 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)
44
150pixels
115pixels 100
pixels
List Column sized to prevent control ‘dancing’ behavior
Set Deck Sizes
• Size decks to avoid large swipe or animation
45
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.
46
Nested Decks with Year and Product line
Single deck on Product line and Year
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.
47
Segmenting a deck versus filtering
Card containing Camping Equipment Data
Multilingual
• For multilingual support use a code or id that can be associated 1:1 to the label that is not localized.
48
LanguageID used for selection
Layout Component Reference Objects
• Use Layout Component Reference Objects • Quick and easy design change• Limits duplication of object creation
49
Block defined as Layout Reference
Object
Name Controls and Queries
• For maintenance and readability • Name all controls
• Name all queries
50
Queries for function and maintenance
Data Button Bar named
Name Variables
• For readability prefix the variable names with v or var
51
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)
52
Data Button Bar and Data Deck share the same Query
Alignment
• Align as close to data as possible
• Align use tables – center etc
53
Top, Middle, Bottom
Left, Center, Right
Chart Hotspots
• If charts have no behavior assigned reduce Maximum Hotspots to zero
54
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
55
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
56
Use Virtual Tables for Image Buttons
Select * From
(
values
( cast('regionbutton_mid.png' as varchar(25) ), cast('region' as varchar(25) ) ),
( 'ombutton_mid.png', 'ordermethod' )
)
ButtonImages (imageName, buttonValue )
57
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.
58
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.
59
60
• Connections
• Sizing
• Variables
• Record Sets
Module 5Troubleshooting
Connections
• Review connections for proper object behavior
• Ensure the setting variables are correct
• Ensure selection/filtering are set correctly
61
Sizing
• 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
62
Variables
• 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
63
Information
• 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
64
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
65
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
66
67
• Leveraging the Basics to Create Rich Report Objects
• Visual Techniques
• Leveraging HTML Items
• Extending Base Functionality
Module 6Common Techniques
1. Change Chart Type and View Details
TECHNIQUE
• Provide multiple views (charts, maps, or tables) of the same data
EXAMPLE
IMPLEMENTATION
• Use a static deck or a static tab control to provide multiple cards (or tabs) with the same data in renderings
68
2. Side-by-Side Comparison Chooser
TECHNIQUE
• A side-by-side display of the same data for two different items
EXAMPLE
IMPLEMENTATION
• 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 above)
69
3. Drilling Down to Details
TECHNIQUE
• Upon selecting data, drill-down to more details
EXAMPLE
• Drilling down to the details for a particular product line
IMPLEMENTATION
• Use decks and data decks organized in a horizontal table to define a drill path
70
4. Toggled List Column Display
TECHNIQUE
• User control over which columns are visible on a list
EXAMPLE
• Checkboxes that control which measures are displayed in a list
IMPLEMENTATION
• Use a static check box control to drive the visibility of associated columns
71
5. Disabling Until a Condition is Met
TECHNIQUE
• 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
IMPLEMENTATION
• 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
72
6. Cascading Prompts
TECHNIQUE
• Choices available in the next control depend on the value selected in the previous control
EXAMPLE
• Cascading prompting through a hierarchy of data
IMPLEMENTATION
• 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
73
7. Cascading Animated Prompts
TECHNIQUE
• Show a second prompt control only after a selection from the first has been made
EXAMPLE
• Progressive disclosure of a cascading prompt control
IMPLEMENTATION
• Put the secondary control(s) in an animated deck and show the card only when the previous prompt has been answered
74
8. Hidden Report Regions
TECHNIQUE
• Create an area in the report that can be displayed or hidden
EXAMPLE
• Ideal for making additional content or controls available on demand
IMPLEMENTATION
• Put a two-card static deck into a collapsing 2 column (or row) table
75
9. “Top Metrics” Area
TECHNIQUE
• A visual technique to highlight “key metrics” in a textual way
EXAMPLE
• Highlight the most important measures and metrics
IMPLEMENTATION
• 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
76
10. Clickable Exploding Pie Slices
TECHNIQUE
• Clicking on a pie slice explodes out that piece of the pie
EXAMPLE
IMPLEMENTATION
• Create a pie chart in a data deck and use an expression on the chart to identify the pie slice to explode
77
11. Custom Content Buttons
TECHNIQUE
• Create custom looking items that support interactive behavior
EXAMPLE
• A custom look vertical button bar containing a micro chart
IMPLEMENTATION
• Use a list for vertical or a crosstab for horizontal orientation content
• Augment or override the default contents of the cells
78
12. Toggled Conditional Styling
TECHNIQUE
• Allow user to toggle on and off conditional styles on content
EXAMPLE
• Button bar to toggle conditional styling in a crosstab
IMPLEMENTATION
• Create a static deck with duplicated contents on each card
• Apply a different conditional style on each card’s content
79
13. Sliding to Visualize Changes
TECHNIQUE
• 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
IMPLEMENTATION
• Use a live updating slider to slide through content in a data deck
80
14. Scrolling Marquee
TECHNIQUE
• Scroll data (to be passively consumed) across the screen
EXAMPLE
• A scrolling marquee of related measures to the report’s primary content
IMPLEMENTATION
• Wrap data in a repeater element between two HTML items containing opening and closing marquee tags (<marquee> and </marquee>)
81
15. Embedded Videos
TECHNIQUE
• Include a link to a video form an external source (ex: from YouTube or a corporate internal or external web site)
EXAMPLE
IMPLEMENTATION
• Put well formed HTML video code into an HTML item in the report
• Note: video will only be available when user is connected
82
16. Absolutely Positioned Content
TECHNIQUE
• Absolutely position content on top of other content in a report
EXAMPLE
IMPLEMENTATION
• 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:
</div>
83
17. Tree Control
TECHNIQUE
• A tree control to more easily navigate and find data in a hierarchical structure
EXAMPLE
• A hierarchical tree of Product line > Product type > Product name
IMPLEMENTATION
• Use decks inside of lists to build upa structure based on the data hierarchy
84
18. Pop Up using Background Image
TECHNIQUE
• Create a pop card using images as background
EXAMPLE
• Bar chart displays on top of existing controls
IMPLEMENTATION
• Use a background image the resembles the originating deck card
85
19. Pop Up using HTML <div>
TECHNIQUE
• Control the location of the deck card to enable cards to pop up over existing controls
EXAMPLE
• A card containing a crosstab pops up on a chart
IMPLEMENTATION
• Use div’s inside a card to control positioning and size of the card
86
20. Menus
TECHNIQUE
• A menu control to more easily navigate, select or filter controls
EXAMPLE
• A menu that is activated by clicking or touching a button
IMPLEMENTATION
• Use decks, absolute positioningand list to create menu and menu options
87
21. Custom Button using Repeater Table
TECHNIQUE
• A list report in a repeater table enables the user to create custom button both vertical and horizontally
88
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
89
• Leveraging the Basics to Create Rich Report Objects
• Visual Techniques
• Leveraging HTML Items
• Extending Base Functionality
Module 7Build a PoC Quality Report
Steps to Build a Rich and Compelling Active Report
90
1. Plan the report
2. Build the content
3. Size, style and lay out the content
4. Define the interactive behavior
5. Test the report
6. Deploy the report
91
Module 7 Workshop: Build a PoC Quality Report
92
Module 7 Workshop: Build a PoC Quality Report
93
Module 7 Workshop: Build a PoC Quality Report
94
Module 7 Workshop: Build a PoC Quality Report