Professional Documents
Culture Documents
Building or Optimizing
Cockpits or Dashboards?
What Every SAP Customer
Now Needs to Know!
Dr. Bjarne Berg
Comerit Inc.
2
Background and Terminology
Dashboard Scorecard Cockpits
Purpose Displays performance Displays progress Displays status and events
Usage Performance monitoring Performance management Performance management
Updates Real-time feeds Monthly snapshots Daily snapshots
Data Events Summaries Summaries and events
Measures Metrics KPIs Metrics & KPIs
Context Exceptions/alerts Targets and thresholds Trends
Source Linked to systems Linked to plans Linked to BI systems
Sources: Wayne Eckerson, 2005;
Bjarne Berg 2006
Most of our key figures have jump-to links attached to them allowing
the user to see more detailed information with out having to search
for other reports.
5
The Hierarchy of a Good Web Cockpit
8
SAP’s Premium Offerings
SAP formally acquired Business Objects in 2008 and is working on
integrating SAP BusinessObjects into the core SAP NetWeaver® BW
offerings.
Source: SAP
9
SAP BusinessObjects Capabilities — Dashboards and Reports
11
Source SAP AG, June 2009
New Tools Roadmap
12
The New SAP BusinessObjects Explorer and SAP NetWeaver BW
Accelerator
• The new SAP BusinessObjects Explorer (not SAP BEx) brings together the in-
memory processing of SAP NetWeaver BW Accelerator with the SAP
BusinessObjects BIs search engine
• Users can search and explore large volumes of enterprise data to answer ―on
the fly‖ questions, discover relationships, and uncover root cause
• All business users gain immediate insight without needing assistance from
business analysts or IT — No training required
13
Xcelsius Dashboards — Overview
• There are three tiers in the Xcelsius dashboards
• Connectivity — QaaWs
3. Log on to QaaWs and give the service a name
This name is seen in Xcelsius. Make sure the name is logical and includes time
(i.e., Mfg_costs_2010)
4. Click on the universe you created and select the fields you want to make accessible
in the web service
5. Keep the web service as ―lean‖ as possible. Too much data will perform poorly
6. Preview the web service and publish (get an URL)
I.e., http://Bobj:8080/dswsbobj/qaawsservices/portal_2009?def
15
Step-by-Step idea: Joerg Boeke, 2009
Xcelsius Dashboards — Step-By-Step (cont.)
• Xcelsius
Design
Area
7. Go to Data Manager and click
Objects
Add Query as a Web Service
Object 8. Paste your URL from Step 6
Properties
9. Click on the Definition tab and
Available data
(Excel) give your dashboard a name
10. Click the Usage tab and select
Refresh On Load
11. Link the QaaWs data to the cell range where you want the data in
Xcelsius, and connect your new dashboard to that cell range
12. Click Preview and log on when prompted
13. Publish dashboard to media (Web, PPT, PDF)
16
Universes — The Key Area of SAP BusinessObjects Integration
Problem: In the new SAP BusinessObjects
landscape there are two ways to build a
semantic layer (universes) for implementing
data access. Each has its own limitations and
benefits.
Crystal Xcelsius
WebI
Reports QaaWS
QT Universes ODA
BW Analytic Engine
RDBMS
BWA
Crystal Xcelsius
WebI
Reports QaaWS
rows
QT Universes ODA
rows cells
rows cells
BW Hierarchies
Restricted and Calculated Key Figures
Security
BW Variables
Currency and Unit Conversion
Exceptions, Conditions
SUM, MIN, MAX Aggregations
AVG, COUNT, COUNT DISTINCT, … Aggregations
OLAP Cache
Navigational Attributes
Mass Data Enabled
Federation (e.g. BW – RDBMS, BW – BW)
= fully supported
= limited support / workaround
Expert Hint to Bypassing the Universe for Xcelsius
• You can also connect Xcelsius directly to your BI system using the SAP
provided web service QUERY_VIEW_DATA
This will remove the need for a universe
• SAP NetWeaver BW
1. Create a query view
2. Create a binding URL using the transaction SOAMANAGER maintenance
for Xcelsius
3. In Xcelsius, go to Data Manager and click Add Query as a web service
4. Paste your URL
24
News: SAP Is Making the MDX Work Faster
• Improvements
Avoid unnecessary sorting
MDX standard imposes results to be sorted
However, those sorts are typically ignored or not required by SAP
BusinessObjects Web Intelligence
Sorting can be avoided by using a new UNORDER() function in the SAP MDX
Leaner memory consumption during flattening
Optimized flattening algorithm
Non-standard result structure
Leaner communication ODA – OLAP BAPI
Use compressed data exchange via binary XML
• Availability
SAP NetWeaver BW 7.01 SP 3
SAP BusinessObjects Enterprise XI3.0/XI3.1
XI3.0: Fix Pack 2 w/ LAFix2.1
XI3.1: Fix Pack 1.2
SAP Integration Kit Fix Pack 2 w/ LAFix2.1
25
SAP BusinessObjects Web Intelligences — SAP NetWeaver BW
Interoperability via ODA (MDX) — Architectural Overview
Adapt MDX
ODA and Flattening
to new Format
RFC
Optimization of Optimization
the exchange of memory
protocoal Dataset Rowset Metadata consumption
(binary XML) BAPIs APIs BAPIs
and format
(rowsets; Query execution controller
internal API)
Implementation
Parser Execution Function
of Unorder()
instance library
function for
MDX engine
optimizing Sorting
Analytic Engine
BWA or RDBMS
27
Cockpits with BEx Web Application Designer for SAP NetWeaver 7.0
• New items include improved tab strip container in SAP NetWeaver 7.0
for designing BI Web applications
• Reduces the
amount of
custom coding
required with
the help of
command
wizards, auto
complete, and
support for
HTML tags
28
BEx Web Application Designer for SAP NetWeaver 7.0 — New
Features
• Web Items: Tab Pages, Button, Script Item (SAP NetWeaver 7.0
Support Package Stack 7)
• Drag and drop using Analysis item
• New chart types (heat map, Gantt, milestone trend analysis)
• Export BI Web applications in PDF format
• Command wizard for generating Web
API commands
• Integration with SAP NetWeaver 7.0
BEx Report Designer for formatted
reports
29
BI Web API Commands
• You can use BI Web API commands for carrying out certain
actions in BI Web Applications
Export to Excel, PDF, etc.
Web Items
Web Templates
• Use the command wizard for generating JavaScript code for the
Script Item to use in custom cockpit applications
32
BEx Web Application Designer
BEx Analyzer/ BEx Web Application Web Browser
Query Designer Designer
And Much
Dashboards, More…
Visualization
Enterprise Polestar
Reporting
Advanced Mobile BI
Analysis
SAP BEx Analyzer Voyager Predictive
Enterprise Data
Web Services
Warehousing
& BI Platform
SAP NetWeaver BW and BWA BusinessObjects Enterprise Source: SAP 20009
Pioneer Web
Pioneer Designer/ SDK
Server
36
Step 1: Find the Data You Want to Model
We can suppress the sum rows from the query, so that the
graphs are more meaningful and the tables are less cluttered
Step 7: Adding Navigation: Linking Tables to Other Queries
Again, we suppress the sum rows from the query, so that the
graphs are more meaningful and the tables are less cluttered.
Step 11: Layout and Compiling of Dashboard
51
Source: Emily Mui, SAP, 2009
Visual Composer Dashboard in 8 minutes
52
What We’ll Cover …
• Dashboards, scorecards, and cockpits
• The SAP BusinessObjects toolset
• The traditional SAP toolset
• SAP NetWeaver Visual Composer — A guided tour and demo
• Performance and optimization of dashboards
• Using BEx Broadcaster with dashboards
• SAP NetWeaver Portal integration
• The good, the bad, and the ugly — Examples
• Cockpit management and third-party cockpits
• Wrap-up
53
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
56
MultiProviders and Parallel Processing
• Consider deactivating parallel processing for those queries that
are MultiProvider queries and have large result sets (and ―hints‖
cannot be used)
With SAP BW 3.0B SP14 (SAP BW 3.1 SP8 and later versions),
you can change the default value of 30,000 rows
Refer to SAP Note 629541, SAP Note 622841, SAP Note
607164, and SAP Note 630500
• A larger number of base InfoProviders is likely to result in a
scenario where there are many more base InfoProviders than
available dialog processes, which results in limited parallel
processing and many pipelined sub-queries
You can also change the number of dialogs (increase the use of parallel processing)
in RSADMIN by changing the settings for QUERY_MAX_WP_DIAG.
57
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
• EarlyWatch Reports
Aggregates
• Aggregates are used much less by the SAP installation base than
training and common sense should dictate
• The interface to build the summary tables (aggregates) are intuitive
and easy to master, but few are taking real advantage of them
• Even among those that are using aggregates, many have poorly
defined solutions and seldom monitor the usage, thereby limiting the
benefits of this simple technology
61
Tip 4: Reduce the Number of Overlapping Proposals
We reduce the overlapping proposals
by optimizing them
This may reduce the proposals from 99
to less than a dozen
High valuation and high usage is what we are looking for. This indicates high reduction
of records in aggregate and high benefits to users.
.
When using third-party query tools and ODBC to query directly into
the DSO, you are bypassing the OLAP Processor. Therefore, you
cannot accurately performance tune the system using aggregates
(statistics), nor will the third-party tool benefit from aggregates.
62
Activate the Aggregate
1. Click on Jobs to
see how the
program is
progressing
Fill the Aggregate with Summary Data
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
• EarlyWatch Reports
Tip 5: Use the Right Read Mode for Queries
• Select the right read mode. Three query read modes in SAP
NetWeaver BW determine the amount of data to be fetched from a
database:
Read all data (all data is read from a database and stored in
user memory space)
Read data during navigation (data is read from a database only
on demand during navigation)
Read data during navigation and when expanding the hierarchy
P1 of 3
71
Look for Patterns and See the Performance Details
P2 of 3
72
Look at the Query Details for Each Slow Query
77
Tip 12: Restrictive Key Figures and Line Item Dimensions (cont.)
• Line item dimensions are basically fields that are transaction oriented and therefore,
once flagged as a line item dimension, are actually stored in the fact table. This
results in faster query access (no table join).
Explore the use of line item dimensions for fields
that are frequently conditioned in queries.
This performance impact is due to time spent loading metadata for units, executed
for all measures in the query
NOTE: Starting with SAP BusinessObjects Enterprise XI 3.1 FP 1.1, the impact of
large number of key figures has been reduced by retrieving metadata information
only when the unit/currency metadata info is selected in the Web Intelligence Query 78
Tip 13: Reducing the Query Processing Time in Cockpits
Solution: Many of the CKFs can be done during data loads and physically
stored in the InfoProvider. This reduces the number of computations and
the query can use simple table reads instead. Do not use total rows when
not required (this requires additional processing on the OLAP side).
Problem: Sorting the data in reports with large result sets can be time
consuming.
Solution: Reducing the number of sorts in the default view can improve
the report execution and provide the users with data faster.
PS! Reducing the text in query will also speed up the processing some. 79
Tip 14: Make Your Cockpit Web Templates Smaller
Web templates in SAP NetWeaver BW
can become really large. Since they
contain both scripts and Cascading
Style Sheets (CSS), the code can
become really comprehensive. CSSTidy
To reduce the CSS, you can try several
compression tools that may help you
limit the overall size of your Web
templates.
Compression tools for CSS and Java scripts can reduce the overall Web
template size. If you have thousands of users, this can be a life saver.
80
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
• EarlyWatch Reports
Is the Memory Cache Set Too Low?
• Cache has a system default of 100 MB for local and 200 MB for global
cache. This may be too low for a system that can be optimized via BEx
Broadcaster.
Review the settings with the
Basis team and look at the
available hardware.
83
Tip 16: The Right OLAP Cache Persistence Settings
RSR_CACHE_DBS_IX
Optional Cluster table Medium and small result sets RSR_CACHE_DB_IX
84
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
• EarlyWatch Reports
Tip 17: Avoid Outdated Indexes and Database Statistics
For high volume InfoCubes, or cubes that have a high number of users, the
percentage used to build the DB stats can be increased from the default 10%
to 20%. This may yield more accurate query routing and better query
performance (consider this especially for cubes with old data partitioned)
Tip 18: Avoid Building Cockpits on DSOs and InfoSets
1. SAP_ANALYZE_ALL_INFOCUBES
2. ANALYZE_RSZ_TABLES
3. SAP_INFOCUBE_DESIGNS
Validate the high cardinality of the data and reset the flag if
needed – This will give a better index type and performance
88
Cockpit Performance — Details
• Performance Issues and Tips
MultiProviders and Partitioning
Aggregates
Query Design and Caching
Hardware and Servers
• Designing for Performance
InfoCubes and DSOs
• SAP NetWeaver BW Accelerator
Sizing and Implementation
• EarlyWatch Reports
89
TIP 19: Use SAP NetWeaver BW Accelerator for Large Cockpits or When
You Have Many Users
SAP Any
NW tool
BW
• EarlyWatch Reports
Tip 20: Cockpit Performance Monitoring Using — EarlyWatch Reports
95
What Is BEx Information Broadcasting ?
• It’s a standard part of SAP BW 3.5 and the latest version of SAP
NetWeaver. It lets you send ―reports,‖ BEx queries, Workbooks, and
Web Applications to a variety of recipients, i.e:
• Email addresses,
BW users, BW
roles
• SAP NetWeaver
Portal
Management
folders
• SAP NetWeaver
Portal
96
Image: SAP AG
SAP NetWeaver 7.0: Query Performance
• To increase the performance of key queries, you
can fill the OLAP cache or the MDX cache. This is
useful if you have large numbers of users
accessing a query, or you have a query that
accesses a high volume of data.
97
What We’ll Cover …
• Dashboards, scorecards, and cockpits
• The SAP BusinessObjects toolset
• The traditional SAP toolset
• SAP NetWeaver Visual Composer — A guided tour and demo
• Performance and optimization of dashboards
• Using BEx Broadcaster with dashboards
• SAP NetWeaver Portal integration
• The good, the bad, and the ugly — Examples
• Cockpit management and third-party cockpits
• Wrap-up
98
Web Cockpit in the SAP NetWeaver Portal
99
Broadcasting
SAP NetWeaver Visual Composer 7.0 Portal Publishing
• SAP NetWeaver Visual
Composer design-time
tool deploys SAP
NetWeaver Visual
Composer models directly
as iViews to the Portal
Content Catalog
• You can then use SAP
NetWeaver Visual
Composer iViews in portal
pages, roles, etc.
100
Building a Web Cockpit in the SAP NetWeaver Portal
102
War Rooms and External Access
103
A Good Cockpit Is Simple
The majority of usage of cockpits is in user segments 1 and 5.
You should use BW queries and OLAP for the other segments.
The average manager navigates in no more than 7 dimensions and only 2 levels deep
(49 views). Therefore,
104 the majority of users of cockpits need a few, simple, but highly
informative, views. The other user community is best served by OLAP queries.
Use of Color
Colors share a powerful connection with Sir Isaac Newton developed the
first circular diagram of colors in
emotions, so you want to be conservative 1666 and identified 12 basic colors
Color definitions:
Shade: Base color mixed with black
Tint: Base color hue mixed with white
Tone: Base color + gray or another base color +
105
a complementary color Source: Bob Marteal, Cornell Univ.
2005, Susan M. Raymond, WHS
How Do You Pick Your Web Cockpit Colors?
This uses a single pure color with a number of tints and Monochromatic scheme
shades to provide variety
Analogous scheme Any three colors which are side by side on a color wheel,
Cons: The use of more than three colors can dilute the
106
overall effect of this scheme.
How Do You Pick Your Web Cockpit Colors? (cont.)
Pick any three colors on a triangle. This scheme is very Triadic scheme
appealing and well balanced.
Cons: The vibrancy may be too much and detract from the
message.
Split scheme Any two colors that are side by side on a color wheel
Split scheme
background colors
that are unattractive
Link more
documentation
Make multiple
measures available
110
Source: SAP AG,
SEM-CPM Rules for Graphs and Real Estate
• Try to avoid empty spaces, but don’t force unrelated measures
into the cockpit view — it confuses users
• Missing data
points add
irritation
(it is hard to
hide bad data 111
in a cockpit) 111
111
What We’ll Cover …
• Dashboards, scorecards, and cockpits
• The SAP BusinessObjects toolset
• The traditional SAP toolset
• SAP NetWeaver Visual Composer — A guided tour and demo
• Performance and optimization of dashboards
• Using BEx Broadcaster with dashboards
• SAP NetWeaver Portal integration
• The good, the bad, and the ugly — Examples
• Cockpit management and third-party cockpits
• Wrap-up
112
Change Management Process
IT responsible
Change Integration tested No
Request form Business responsible Approved?
QA environment
Sr. mgmt. responsible
Yes Yes
Approved? Moved to
Submission No production
No
Yes
Yes
No Approved? Yes
113
The Change Management Form — Page 1
• To make this process work, you need a formal instrument
• The instrument can be online (i.e., a Web page), electronic (Word
document), or a paper-based system
• The form should contain at least these fields
Approved by:
Approved date:
Assigned to:
Due date:
115
Development status:
Third-Party Cockpits
116
Third-Party Cockpits (cont.)
• Other BI and cockpit companies are
actively working on creating cockpit
tools for SAP NetWeaver BW
117
BI Java SDK-Based Applications in SAP NetWeaver BW 7.x
• BI Java SDK can be used for custom applications based on SAP
NetWeaver BW and non-SAP data
• BI Java SDK provides access to relational and OLAP data sources
using JDBC, XMLA, ODBO, etc.
• Access to 200+ data sources using the JDBC drivers.
Interested developers
should familiarize
themselves with SAP
NetWeaver Developer
Studio
119
What We’ll Cover …
• Dashboards, scorecards, and cockpits
• The SAP BusinessObjects toolset
• The traditional SAP toolset
• SAP NetWeaver Visual Composer — A guided tour and demo
• Performance and optimization of dashboards
• Using BEx Broadcaster with dashboards
• SAP NetWeaver Portal integration
• The good, the bad, and the ugly — Examples
• Cockpit management and third-party cockpits
• Wrap-up
120
Resources
• http://help.sap.com
SAP BusinessObjects top level navigation tab
• http://boc.sdn.sap.com
SAP BusinessObjects Developer Community on SDN
• http://www.comeritinc.com/Downloads.htm
• Online material, presentations, and downloads
121
New SAP Press Book
http://sap-
press.com/product.cfm?accou
nt=&product=H3034
7 Key Points to Take Home
• There are many ways to build Web cockpits and SAP has tools for
them all
123
7 Key Points to Take Home (cont.)
• Third-party tools for Web cockpits are emerging and some are
quite advanced
• While all the tools give you a great deal of flexibility, it is the use
of the real estate, colors, graphs, and consistency that is going to
determine if your cockpit is successful: Spend serious time
designing instead of coding!
Your Turn!
126