You are on page 1of 127

0

Building or Optimizing
Cockpits or Dashboards?
What Every SAP Customer
Now Needs to Know!
Dr. Bjarne Berg
Comerit Inc.

© 2009 Wellesley Information Services. All rights reserved.


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

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

• Many companies and people confuse the concepts of dashboards,


scorecards, and cockpits
 They vary in terms of purpose, usage, source, data, etc.

• Most BI systems fall into the cockpits category

These are typical parameters, and some may be slightly different


(e.g., some metrics in a cockpit may only be updated monthly).
However, such deviations
3 should be exceptions.
Scorecard Example — Operational Data
• Business needed a way
to pull data from
several different multi-
providers into one
report

• Business also needed


the flexibility to export,
print, share, and save
report results
Scorecard Example — Jump-To a Query

A jump-to is hyperlink that allow users to navigate to more detailed


reports associated with that key figure.

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

1. Develop Management Story


2. Develop Primary KPI and
Secondary KPIs
3. Group KPIs into KPI Themes

How Do You Manage? — Three Components of a Management Story


• Primary Outcome: KPI

• Identify Service Requirements (accuracy, timeliness, quality,


volume)
• Manage Resources to Meet Service Requirements (people, tools,
6
process, communicate with funding source)
Encourage Wide Array of Measures — The Three Types of Indicators

Lagging - historical look at past performance (quarterly revenue,


hours off due to job related injury, employee turnover)
Leading - predictive of future results (safety training completion rate,
scheduled maintenance compliance rate, grievances)
Real-Time – where things are right now (inventory levels, employee
count, contractual obligations outstanding)

4 Signs of a Good Indicator

• Tracks mission critical outcomes and activities


• Is influenced by productive behavior but can’t be easily
manipulated by your team
• Something that all team members can focus their efforts on
• Value of measuring exceeds cost of measuring
7
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

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

• Dashboards can be built using Xcelsius®


• Xcelsius+ will be launched in 2009, and
will be ―the flagship product for data
visualization & dashboards‖

• Crystal Reports for pixel formatted reports has


been available with SAP NetWeaver BI/BW
since 2002
• This tool can be integrated into your tool
portfolio using existing SAP NetWeaver BW
queries

(NOTE: Crystal & Crystal Base will be the core


tools for formatted reports starting 2010)
Source SAP AG,
2009 10
SAP BusinessObjects Capabilities — Analysis, Ad Hoc, and Widgets

• The SAP BusinessObjects Web


Intelligence tool is a tool for ad-hoc, Web-
based reporting, query, and analysis
• It is intended for end users and can
leverage queries to both relational and
OLAP sources
• It will be the core offering for ad-hoc end
user analysis starting 2009

• With the current SAP BusinessObjects


offerings, you can use Desktop Widgets to
place BI content direct onto a PC desktop
and monitor reports and KPIs

11
Source SAP AG, June 2009
New Tools Roadmap

Source SAP, June 2009

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

1. The Data Source for access


2. The Connectivity for navigation
3. The Visualization for image rendering

Visualization Xcelsius Enterprise


• Required software for SAP Adobe Live
NetWeaver BW Connectivity QaaWs LifeCycle
Dataservice Office
• SAP BusinessObjects Live Office Crystal
DataSource Webi Universe Reports
• SAP BusinessObjects Integration
• SAP BusinessObjects XI 3.1

Via QaaWs, you can directly link Data


data from SAP NetWeaver BW
data into a dashboard in Xcelsius.
Note: QaaWs = Query as a Web Service 14
Xcelsius Dashboards — Step-By-Step
• Universe Designer
1. Create Universe
 Connect to the SAP NetWeaver BW system

 Navigate by InfoCube and select query

 Input connection settings (i.e., when data is retrieved)

2. Give the uiverse a name and save the definition

• 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.

The first is an MDX-based universe for OLAP


consumers. This is easy to create and is
based on an SAP NetWeaver BW query. Source SAP AG, July 2009

However, it is hard to merge external (non


SAP NetWeaver BW) data using this method.

The alternative is to build a traditional SQL- based


universe, but it is very hard to get access to SAP
NetWeaver BW data since this by-passes the BI
analytical engine inside SAP NetWeaver BW.

Solution: Implement SAP NetWeaver BW Accelerator


+ Facade and you can build SQL universes with SAP
NetWeaver BW and external data. 17
Options for SAP BusinessObjects Cockpit Access to SAP
NetWeaver BW 7.0

Crystal Xcelsius
WebI
Reports QaaWS

QT Universes ODA

SQL Access MDX Access

Data Federator XMLA OLAP BAPI ODBO

BW Analytic Engine
RDBMS
BWA

WebI = SAP BusinessObjects Web Intelligence,


BWA = SAP NetWeaver BW Accelerator
ODA = Object Discovery Agent
Real Experience. Real 18
QT = A Multithreaded
Advantage. access method based on libraries
Options for SAP BusinessObjects Cockpit Access to SAP NetWeaver
BW 7.0 (cont.)

Crystal Xcelsius
WebI
Reports QaaWS

rows

QT Universes ODA

rows cells

SQL Access MDX Access

Data Federator XMLA OLAP BAPI ODBO

rows cells

DF Facade BW Analytic Engine


RDBMS
rows BWA rows

Real Experience. Real 19


Advantage.
Comparison

SAP NetWeaver BW Server Feature MDX SQL

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

5. Add the name of the query view and data provider


Ref: See Mohan Kumar (SAP) blog at:
sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/11574
The Future — The New Xcelsius

• Starting in the fourth


quarter of this year you
will be able to access
SAP NetWeaver BW
data directly

• You will also be able to


see query favorites,
history, queries by
InfoAreas, and roles
Known Data Federator Limitations and Workarounds

BW Server Feature Workaround

Calculated Key Figures, Formulas Define calculated measures in Universes / WebI


Define @prompt in Universes or WebI Query Panel; does
BW Variables not work for exit variables or variables filled through
authorizations
Currency and Unit Conversion Simulate via joins in SAP BusinessObjects Data Federator
SQL standard aggregations (AVG, COUNT DISTINCT)
Exception Aggregations
available via Data Federator processing
Define joins (in DF) from InfoProvider to master data
Display Attributes
InfoProvider tables
Conditions Use filters on measures
BW Hierarchies No workaround
Non-Cumulative Key Figures No workaround
WebI = SAP BusinessObjects Web Intelligence
Source SAP AG, July 2009:
www.sapbipartnerinfo.com/resources/docs/SBOP_Part_II_Best_Practices_BI.ppt 23
Known Universe Designer Issues and Fixes
• Universe Designer has a button that is intended to pick up
changes from a modified BEx query
• Clicking this button re-generates the universe from scratch (as if it
was a new one), generating new object IDs
• Reports built on the universe prior to clicking the button contain
objects with now invalid object IDs
• All such reports will lose their query definitions and leave an
empty query panel
• Multiple individual support cases logged by various customers
can be reduced to this issue
• Partial fixes included with FixPack 1.4, available now. More to
follow in SP2

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

Source SAP, June 2009


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

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.

 OLAP functions: Apply filter values, remove drill downs

• Command wizards guide you through the steps for creating a BI


Web API command
• Commands appear together for easy access
 Data Provider

 Web Items

 Web Templates

Web cockpits developed by Web Application


Designer in SAP NetWeaver 7.0 can be
interactive, include many30data sources, and
they can also be very flexible
Command Wizard and JavaScript

• Use the command wizard for generating JavaScript code for the
Script Item to use in custom cockpit applications

This is a great feature for


building custom features into
your cockpits based on
standard JavaScript 31
The Move from BEx Web Application Designer Toward Pioneer

Web • Code name ―Pioneer‖ (for 1st Quarter 2010


based release) provides a superset of the capabilities in
BEx Analyzer (Excel), BEx Analyzer (Web), and
SAP BusinessObjects Voyager.
• Voyager customers migrate to Pioneer
• BEx Analyzer and BEx Web Analyzer customers
Excel
based
migrate to Pioneer. (Note: SAP BEx is planned to
go into regular maintenance)

Source SAP, June, 2009

32
BEx Web Application Designer
BEx Analyzer/ BEx Web Application Web Browser
Query Designer Designer

BEx Web Application


Designer is an intuitive
tool to build powerful
web applications and to
interact with portals and
custom templates
OLAP Processor

Web Service BW queries can be


manipulated in BEx Web
Charting Engine HTLM Templates InfoProvider Application Designer for
better display
33
Product Directions for BI Solutions

And Much
Dashboards, More…
Visualization

Web App Designer Xcelsius

Enterprise Polestar
Reporting

Report Designer Crystal Reports


Ad-hoc
Query & BI Widgets
Reporting
Web Intelligence

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

BWA = SAP NetWeaver BW Accelerator


BI Web Application Designer Roadmap
Planned 2010 Future
InfoView /SAP NetWeaver Portal InfoView /SAP NetWeaver Portal

Pioneer Web Client Pioneer Web Client


Workspace Workspace
PIO Web BEx Web … PIO Web BEx Web …
Tab Tab Tab Tab

SAP BOE SAP BOE


Platform Platform

Pioneer Web
Pioneer Designer/ SDK
Server

Pioneer Web Server

BI Consumer Services BI Consumer Services

BEx Web BEx Web


BEx Queries/ BEx Web BEx Queries/ BEx Web
App App
InfoProviders Templates InfoProviders Templates
Designer Designer

SAP NetWeaver BW SAP NetWeaver BW Migration options


SAP BOE = SAP BusinessObjects Enterprise via Pioneer SDK 35
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

36
Step 1: Find the Data You Want to Model

You can look at existing queries developed


by others.
In this example we will create a web cockpit
based on two SAP NetWeaver BW queries

More advanced developers can call a


Business Application Programming
Interfaces (BAPI), which is delivered
with SAP NetWeaver BW to build
complex applications
Step 2: Selecting the Queries and Defining a Starting Point
1. After the query is selected, the metadata is
transferred to the model

2. We select one query as the starting point and


can require users to use a prompt (in this
example we will leave this blank)
Step 3: Adding a Table View Based on Query Data

1. We add a table view and select the


fields we want from the query

2. We give the table view a


meaningful business name
Step 4: Adding a Chart View Based on Query Data

1. We add a chart view based on the query


data
2. We decide to make it a column chart
3. The fields that we want to graph are
selected
4. We add animation to the column chart
Step 5: Defining Graph and Assigning Meaningful Names

1. We select the fields we want to graph as a


different data series (columns)

2. We give each column a meaningful business


name (this is what the users will see)
Step 6: Suppressing Zero Values from the Query

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

1. When a user selects a row in the country


table, we want to show all the customers in
that country and their sales

2. We link the output from the country table


view to the customer query and map the
country-key value between the two objects
Step 8: Adding Navigation: Linking Graphs to Other Queries

1. We also want to give the users the option


of clicking on a country in the graph and
seeing all the customer’s sales

2. Again, we link the output from the


country graph to the customer query and
map the country-key value between the
objects
Step 9: Adding a Table View for Customer Sales Data

Previously we added a table and a graph of


country sales. Now we want to add similar
views for customer sales.
1. First we add a table view
2. We select the fields to be displayed
from the query
3. We give the table a meaningful name
Step 9: Adding a Pie Chart for Customer Sales Data

Now we add a pie chart

1. First we add a graph view

2. We select the pie chart type and the fields to be graphed

3. We give the field a meaningful business name


Step 10: Suppressing Zero Values from the Query

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

In the layout section we arrange the objects and resize them


so that they look good. We also compile the model and can
now view it in the SAP NetWeaver Portal.
The Result: The Web Cockpit in the SAP NetWeaver Portal

All country sales are displayed based on the first query.


The Result: Navigation Between the Graphs

By clicking on the country in


either of the top views, the
bottom views display sales for
those customers.
Placing SAP NetWeaver Visual Composer Models in Xcelsius

Since SAP NetWeaver Visual Composer


enhancement pack 1 for SAP
NetWeaver Composition Environment
(SAP NetWeaver CE) and Xcelsius
(2008), you can integrate the SAP
NetWeaver Visual Composer models into
Xcelsius by implementing Flash Islands
and drive data directly into the SWF file.

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

 Management and Costs Lack of performance is the


• EarlyWatch Reports #1 complaint among users
and why many cockpit
projects fail
Tip 1: MultiProviders and Hints

Problem: To reduce data volume in each InfoCube,


data is partitioned by time period.
2002 2003 2004 2005 2006 2007 2008

A query now has to search in all InfoProviders to find


the data (i.e., billing docs from 2007). This is very slow.

Solution: We can add ―hints‖ to guide the query execution. In the


RRKMULTIPROVHINT table, you can specify one or several
characteristics for each MultiProvider which are then used to
partition the MultiProvider into BasicCubes.

If a query has restrictions on this characteristic, the OLAP processor


is checked to see which part of the cubes can return data for the
query. The data manager can then completely ignore the remaining
cubes.

An entry in RRKMULTIPROVHINT only makes sense if a few attributes of this


characteristic (that is, only a few data slices) are affected in the majority of, or
the most important, queries 55
(See SAP Note 911939, SAP Note 954889, and SAP Note 1156681)
Tip 2: The Secret About MultiProviders and Parallel Processing

• To avoid an overflow of the memory, parallel processing is


cancelled as soon as the collected result contains 30,000 rows or
more and there is at least one incomplete sub process
 The MultiProvider query is then restarted automatically and
processed sequentially
 What appears to be parallel processing, is actually sequential
processing plus the startup phase of parallel processing.

• Generally, it’s recommended that you keep the number of


InfoProviders of a MultiProvider to no more than 10
 However, even at 4-5 large InfoProviders you may experience
performance degradation

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

 Management and Costs

• 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

To avoid poor definition and usage, aggregates should


be developed after the system has been in production
for a while and real user statistics are captured.
59
Tip 3: Building Aggregates Is Easy — Propose from
Statistics
This example shows how to
build aggregates by using
system statistics to generate
proposals
Note: To make this work, the BW
statistics must be captured

• Select the run time of queries


to be analyzed (e.g., 20 sec)
• Select the time period to
be analyzed
 Only those queries executed in
this time period will be reviewed
to create the proposal
60
Correct Aggregates Are Easy to Build — Propose from
Query
We can also create proposals
from the query user statistics

To make this work, a


representative number of
queries must be executed to
gather the statistics to optimize
from

We can also create


proposals for aggregates
based on individual queries
that are performing poorly

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

The process of turning ―on‖ the


aggregates is simple

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

 Management and Costs

• 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

• Reading data during navigation minimizes the impact on the


application server resources because only data that the user
requires will be retrieved

Source: Catherine Roze, MyITgroup


66
Tip 6: Query Read Mode for Large Hierarchies
• For queries involving large hierarchies with many nodes, it would be wise to
select Read data during navigation and when expanding the hierarchy option to
avoid reading data for the hierarchy nodes that are not expanded.
• Reserve the Read all data mode for special queries—for instance, when a
majority of the users need a given query to slice and dice against all
dimensions, or when the data is needed for data mining
 This mode places heavy demand on database and memory resources and
might impact other SAP NetWeaver BW processes and tasks
• A query read mode can be defined either on an individual query basis or as a
default for new queries using the query monitor (transaction RSRT)
• SAP's recommendation for OLAP universes
 Use of hierarchy variable is recommended
 Hierarchy support in SAP BusinessObjects Web Intelligence for SAP
NetWeaver BW is limited
 The Use Query Drill option in SAP BusinessObjects Web Intelligences
significantly improves drilldown performance
Source: Catherine Roze, MyITgroup
67
Tip 7: Condition and Exceptions
• Minimize conditions-and-exceptions reporting
 Conditions and exceptions are usually processed by the SAP
application server
 This generates additional data transfer between database and
application servers
• If conditions and exceptions have to be used, the amount of data
to be processed should be minimized with filters
 When multiple drilldowns are required, separate the drilldown
steps by using free characteristics rather than rows and
columns
• This strategy results in a smaller initial result set, and therefore
faster query processing and data transport as compared to a
query where all characteristics are in rows
This strategy does not reduce the query result set. It just separates
the drilldown steps. In addition to accelerating query processing, it
provides the user more manageable portions of data.
Source: Catherine Roze, MyITgroup
68
Some Performance Settings for Query Execution
This decides how many records are read
during navigation
New in SAP
NetWeaver BW 7.0:
OLAP Engine can
Examine the read deltas into the
request status cache. Does not
when reading invalidate existing
the InfoProvider query cache

Turn off/on parallel


processing

When the query


program will be
regenerated based
on database
Displays the level of statistics
statistics collected
69
Tip 8: Filters

• Leverage filters as much as possible


 Using filters contributes to reducing the number of database
reads and the size of the result set, thereby significantly
improving query runtimes
• Filters are especially valuable when associated with ―big
dimensions‖ where there is a large number of characteristics
such as customers and document numbers

If large reports have to be produced, leverage the BEx


Broadcaster to generate batch reports and pre-deliver
them each morning to their email, PDF, or printer.
70
Tip 9: Use Transaction RSRT to Examine Slow Queries

P1 of 3

71
Look for Patterns and See the Performance Details

P2 of 3

In this real case, aggregates


was needed for those cubes
flagged

72
Look at the Query Details for Each Slow Query

Notice the yellow flag for the 6 base


cubes in the MultiProvider and the
yellow flag for the 14 free chars

(Note: No hints were used in this MultiProvider,


which led to very poor performance)

You can also trace the front-end data


transfers and OLAP performance by using
RSTT in SAP NetWeaver BW 7.0
(RSRTRACE in SAP BW 3.5) 73
Tip 10: Debugging Queries — RSRT

Here you can execute the query


and see each breakpoint, thereby
debugging the query and seeing
where the execution is slow

Worth a try: Try running slow


queries in debug mode with
parallel processing deactivated
to see if they run faster
74
Tip 11: Upgrade to AS-Java Service Pack 14 ASAP
• In service pack 14, there are several performance improvements
including:
 Better Java execution and performance

 Increased OLAP cache abilities (enhanced cluster table - BLOB)

• In SAP NetWeaver BW 7.0, for all service packs up to number 14,


it is also impossible to populate the OLAP cache by broadcasting
query views
 If you use earlier service packs, you may be forced to create
many different queries to provide this performance

The implementation of service pack 14 is highly


recommended by SAP for these performance reasons. When
implemented, the Java execution will also improve.
75
A Real Example
#of Baseline SP 14 Improve
Cockpit Queries 4/18/08 (4/21/08) ment
Expense Query for Detailed program
Financial dashboard expense (actual vs. target)
1
7
145
150
9
18
94%
88% This company saw a
39% decrease in query
Financial dashboard [expense] 2 70 12 83%
Financial dashboard [non-earnings] 2 42 13 69%
Expense Query for Detailed org objective 1 31 10 68%
Financial dashboard [workforce costs]
Expense Query for Detailed
6
1
50
36
17
14
66%
61% execution time after
implementing SP14.
Capital Query for Detailed work type 1 22 9 59%
Financial performance 9 43 21 51%
Workforce financials 9 29 16 45%
Expense query for detailed 1 16 9 44%
Balance Query for Detailed program 1 14 8 43%

They had 38 cockpits


Balance Query for Detailed cost element 1 14 8 43%
Balance Query for Detailed MWC 1 14 8 43%
Non-earnings Query for Detailed org objective 1 14 8 43%
Financial dashboard (other balance)
Balance query for organization detailed
7
1
29
13
17
8
41%
38%
and 82 queries that
Balance Query for Detailed work type
Non-earnings Query for Detailed cost element
1
1
13
13
8
8
38%
38% improved substantially
without any further
Capital Query for Detailed cost element 1 14 9 36%
Labor query for detailed org 1 14 9 36%
Standard costs variance detailed report 1 20 13 35%
Financial dashboard (non-earnings)
Non-earnings Query for Detailed program
7
1
30
12
20
8
33%
33% changes
Balance Query for Detailed org objective 1 13 9 31%
Capital Query for Detailed MWC 1 14 10 29%
Non-earnings query for organization detailed 1 12 9 25%
Non-earnings Query for Detailed work type 1 12 9 25%
Financial dashboard [workforce cost] 2 23 18 22%
Capital Query for Detailed org objective 1 15 12 20%
Financial dashboard [other balance sheet] 2 21 17 19%
Labor query for detailed cost element 1 12 10 17%
Expense Query for Detailed cost element 1 13 11 15%
PCC Expense Query for detailed 1 14 12 14%
Headcount detail fin-DB 1 15 13 13%
Capital - Actual Vs. Target 7 24 22 8%
Financial dashboard capital trend 2 13 12 8%
Non-earnings Query for Detailed MWC 1 13 13 0%
76
Average 27.95 12.03 39%
Tip 12: Restrictive Key Figures and Line Item Dimensions
• When Restrictive Key Figures (RKF) are included in a query, conditioning is
done for each of them during query execution
 This is very time consuming and a high number of RKFs can seriously hurt
query performance
• Recommendation: Reduce RKFs in the query to as few as possible. Also, define
calculated and RKFs on the InfoProvider level instead of locally within the
query
 Why?
 Good: Formulas within an InfoProvider are returned at runtime and held in
cache
 Bad: Local formulas and selections are calculated with each navigation
step
• SAP's recommendation for OLAP universes:
 RKF and Calculated Key figures (CKF) should be built as part of the
underlying BEx query to use the SAP NetWeaver BW back-end processing
for better performance
 Queries with a larger set of such Key Figures should use the ―Use Selection
of Structure Members‖ option in the Query Monitor (transaction RSRT) to
leverage the OLAP engine

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.

• SAP's recommendation for Key Figures in OLAP universes:


 A large number of Key Figures in the BEx query will incur a significant
performance penalty when running queries, regardless of whether the Key Figures
are included in the universe or used in the SAP BusinessObjects Web Intelligence
query
 Only include Key Figures used for reporting in the BEx query

 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

Problem: Calculated Key Figures (CKFs) are computed


during run-time, and a many CKFs can slow down the
query performance.

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.

There are no lack of free tools available,


and the quality varies. Therefore you
must remember to test, test, and test
(but the benefits can also be great).

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

 Management and Costs

• 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.

Use the transaction code


RSCUSTV14 in SAP NetWeaver
BW to increase the cache. Focus
particularly on the global cache.

The cache is not used when a query contains a virtual key


figure or virtual characteristics, or when the query is
accessing a transactional DSO or a virtual InfoProvider.
82
Tip 15: Monitor and Adjust Cache Size

To monitor the usage of the cache, use transaction code RSRCACHE


and also periodically review the analysis of load distribution using
ST03N – Expert Mode

The size of the OLAP cache is physically limited by the amount


of memory set in the system parameter rsdb/esm/buffersize_kb.
The settings are available in RSPFPAR and RZ11.
Source: V. Rudnytskiy, 2008

83
Tip 16: The Right OLAP Cache Persistence Settings

CACHE OLAP Persistence Settings


Note When What T-code

Change the logical file


BW_OLAP_CACHE when
installing the system (not
Default Flatfile valid name) FILE

RSR_CACHE_DBS_IX
Optional Cluster table Medium and small result sets RSR_CACHE_DB_IX

Binary Large Objects RSR_CACHE_DBS_BL


Optional (blob) Best for large result sets RSR_CACHE_DB_BL

Blob/Cluster No central cache directory or


Enhanced (new in lock concept (enqueue). The Set
SAP NetWeaver BW mode is not available by RSR_CACHE_ACTIVATE_NEW
SP 14 7.0) default. RSADMIN VALUE=x
Source: SAP AG 2008.

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

 Management and Costs

• EarlyWatch Reports
Tip 17: Avoid Outdated Indexes and Database Statistics

Database statistics are used by the optimizer to route queries. Outdated


statistics leads to performance degradation. Outdated indexes can lead
to very poor search performance in all queries where conditioning is
used (i.e., mandatory prompts).
% used to
Name Tech-Nm Object Indexes DB stats create stats
Vendor history closed XFIAP_C10 Infocube 10%
AR customer XFIAR_C10 Infocube 10%
FIAR line items 0FIAR_C03 Infocube 10%
FIAR Payment history 0FIAR_C05 Infocube 10%
FIAR: Transaction data 0FIAR_C02 Infocube 10%
Multicube AR&billing XSDARBIL Infocube n/a n/a n/a
Billing cube custom for AR trade XSDBILITM Infocube 10%
Sales contract cube - anticipated billing XSDCN_C10 Infocube 10%
Service orders - ZSLM ZCSCBZSLM Infocube 10%
Performance cube ZCSCBPER Infocube 10%
Headcount and personnel actionas ZHRPA_C02 Infocube 10%
Cycle count XMMWM_C10 Infocube 10%
MM LIO interface infocube XLIO_C01 Infocube 10%
Material aging ZMMCBMAAG Infocube 10%
Lead time cube ZMMLTCUBE Infocube 10%

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

It is tempting to load cross-reference tables and do lookups inside SAP NetWeaver


BW instead of extending extractors. This creates DSOs that cannot be queried
efficiently without many table joins. In this example, ¼ of all DSOs contains less than
nine fields, and six have less than four.

Programs that can help you monitor


the system design:

1. SAP_ANALYZE_ALL_INFOCUBES
2. ANALYZE_RSZ_TABLES
3. SAP_INFOCUBE_DESIGNS

As much logic as possible should be moved to the extraction,


and needed data fields should be denormalized and stored in
logically organized ODSs and Infocubes.
Killing Cockpit Performance — InfoCube Design and Indexes

• When you flag a dimension as ―high cardinality‖ SAP NetWeaver


BW will use a b-tree index instead of a bit-map index
• This can be substantially slower if the high cardinality does not
exist in the data in general (star-joins cannot be used with b-trees)

Info Cube Line Item DIM 1 DIM 3 DIM 6 DIM 8


dims
CBBL_CB02 0 H
CBPD_CB06 0 H
CBPR_CB11 0 H
CBPR_CB18 0 H
CBSV_CB01 0 H
CBSV_CB02 0 H

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

 Management and Costs

• EarlyWatch Reports

89
TIP 19: Use SAP NetWeaver BW Accelerator for Large Cockpits or When
You Have Many Users
SAP Any
NW tool
BW

The SAP NetWeaver


BW Accelerator
makes cockpit
response time 10x
to 10,000x faster

You use process


chains to maintain
the engine after
each data load
HP, Sun, and IBM have standard solutions ranging from
$32K to $250K+ that can be installed and tested in as
NB! 32 GB blades are
little as 2-4 weeks (+ SAP license fees)
certified by SAP
Performance Benchmarks for SAP NetWeaver BW Accelerator

• SAP NetWeaver BW Accelerator’s


strength resides in its near-linear
scalability

• Performance is measured in terms


of:
1. SAP NetWeaver BW Accelerator
index creation time
2. Multi-user throughput per hour
3. Average report response time
4. Average number of records
touched by each report

SAP NetWeaver BW Accelerator


Currently reads data from
InfoCubes. DSOs and InfoObjects
are still read from base/physical
tables (even when the InfoObject
is indexed as part of master data).
91
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

 Management and Costs

• EarlyWatch Reports
Tip 20: Cockpit Performance Monitoring Using — EarlyWatch Reports

• EarlyWatch reports provide a


simple way to confirm how your
system is running and to catch
problems
 A ―goldmine‖ for system
recommendations
• Run them periodically and read
the details
• This is a real EarlyWatch report
from a mid-sized company that
has been running SAP BW for the
last four years
On a large global project, system issues
can be hard to pin-down without access
to EarlyWatch reports. The monitoring
reports allows you to tune the system
before the user community gets access
and complaints arise.
93
EarlyWatch Query and Cockpit Performance Information
1 Performance Indicators
The following table shows the relevant performance indicators in various system areas.
Area Indicators Value Trend
System Performance Active Users 18 down
Hardware Capacity Max. CPU Utilization on DB Server 74 % steady
Max. CPU Utilization on Appl. Server 74 % steady
Database Space Management DB Size 355.52 GB steady
Last Month DB Growth 118.63- GB steady
Query Performance Avg. Total Runtime of the BW Queries 11.5 s down
Avg. Database Runtime of the BW Queries 8.0 s steady

1 Performance Overview In 24-hour operational systems,


The performance of your system was analyzed with respect to the average response timesyouandwill
total have less time to react
and fix issues due to time-zones.
workload. We did not detect any major problems that could affect the performance of your system.

Therefore, early detection of


system issues is critical to the
The following table shows the average response times for various task types:
success of a global project.
Task type Dialog Avg. Resp. Avg. CPU Avg. Wait Avg. Load Avg. DB Avg. GUI
Steps Time in ms Time in ms Time in ms Time in ms Time in ms Time in ms
DIALOG + 195240 3253.3 728.7 1.8 2.5 1110.9 6.3
RFC
UPDATE 5 984.2 28.2 26.0 15.2 585.4
UPDATE2 48 133.2 17.1 0.7 3.3 80.8
BATCH 59288 11599.3 2091.2 0.6 8.5 5772.6
HTTP 257762 693.5 183.7 4.4 2.2 405.0
1.1 Current Workload
The following table lists the number of current users (measured from our workload analysis) in your system.
Users Low Activity Medium Activity High Activity Total Users
Measured in System 98 11 7 116 94
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

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.

• The Fill Precalculation Store distribution type


allows you to precalculate Web templates, and the
Precalculate Value Set option allows you to fill
precalculated value set variables with values for
characteristic values. The precalculated value
sets are then available as variable values in BEx
queries.

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

Integrate queries and Web


applications into the portal
through publishing,
broadcasting, or Web calls

The portal can either receive


designed pages passively or Publishing
actively create communities,
Web pages, collaboration
rooms, or cockpits

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

The trick in developing custom Web


cockpits in the portal is to manage
the real estate carefully

Most pure iView-based cockpits are


cluttered and hard to read and
navigate

1. Start with logical groupings of 3. Share the same navigation menus


items (sales, finance, e.g.) and tabs as the portal

2. Limit colors to complementary 4. Avoid running text, flashes,


formats (we will look at these animations, layering, and scrolling
later) 101 text (this is an absolute no-no)
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

102
War Rooms and External Access

• Shared cockpits are most


useful

• External access to information is more common.


Vendors and customers love it!

• You can build war rooms for collaborative


decision making using cockpits

• Cockpits require a true BI infrastructure. It is tempting to jump


straight to the cockpit development, but it is almost impossible
without a well-architected SAP NetWeaver BW system to support it.

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.

Segment 1: Trackers - 37% Segment 4: Info Gatherers - 4%


Tracking - Characterized by low duration Concentrated in information areas.
overall. Rarely reach transaction areas.

Segment 2: Reservers - 3% Segment 5: Single-clickers - 32%


Low duration per page view. Visit homepage only.

Segment 3: Uncommitted - 10% Segment 6: Wanderers - 15%


Characterized by long duration. Very few, very random pages.
Complex decisions. Few hits, but long duration per page
view. Example source: Dr. Paul Strupp, Sun Microsystems

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

Colors on opposite sides are


complementary and looks good together
in a cockpit

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

Pros: Extremely unified and harmonious; effective for


establishing an overall mood

Cons: Can be dull because of the lack of variation and


therefore can lose the interest of the viewer

Analogous scheme Any three colors which are side by side on a color wheel,

Pros: Great selection of possible combinations makes


this scheme versatile. The similarity makes the schemes
harmonious with great results because it is soothing and
restful.

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.

Pros: Extremely stable, each color perfectly balances with the


other. It is useful for presenting information in bold, decisive
patterns.

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

Pros: This scheme has more variety than a simple


complementary color scheme

Cons: It is less vibrant and eye-catching; it is difficult to


harmonize the colors
107
A Colorful Example of What not to Do

Colors that are so similar that not


everyone will be able to
distinguish them (blends
information)

Split scheme
background colors
that are unattractive

Distracting color that breaks the


color scheme and attracts
108
attention for no apparent reason
Use of Real Estate — Symmetry, Graphs, and Colors

Consistent use of graphs is visually pleasing. Here


are three types of graphs and a map.
Background colors are a
monochromatic scheme
in blue

Bars and lines are limited


to the same color scheme
with few additional colors

Symmetry is visually pleasing and makes the cockpit easy to read.


Here we have 3 walls, 4 frames in the outer walls, and a central section.

Filling the white space


109 by either enlarging the map, or adding a
message board would improve this cockpit
Navigations Linked to Multiple Views
Central navigation can
change multiple views

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

• Don’t use as many types of graphs as possible,


and never mix more than 3 types of graphs. If you
use more, users have to interpret the pictures as well as the
data

• 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

No Yes System tested


Complete? Approved? Scheduled Devl. environment

Yes

No Change Unit Tested


Review Developed
recommended?
Request form Devl. environment

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

Change Request Form


Requestor Name:
Department
Phone number / email

The front page Describe the change requested, be


detailed
that the
requestor fills Why is it needed
out
How important is it that the
change occur? (how would you
manage if this is not done)

TBD When Future Date Break-fix


114 possible release (right now)
When is the change needed
The Change Management Form — Page 2
• This page is used by the system administrator or the
project team
• The purpose is to have controlled changes that are
scheduled and tested appropriately
For internal use only
Received date:
Reviewed by:
Comments/recommendation

The back page


that the system Pending Not-Approved Future Approved Break-fix
admin and release (right now)

approver fill out Approval status:

Approved by:
Approved date:

Assigned to:
Due date:

115 Pending Prototyped In QA Tested In Production

115
Development status:
Third-Party Cockpits

• Some best-of-breed cockpit tools incorporate SAP


NetWeaver BI as part of a Web item provider, or more
commonly through BW queries fed by BAPIs or OLE DB for
OLAP (ODBO) in SAP NetWeaver BW
• Some even provide separate Multidimensional Online
Analytical Processing (MOLAP) solutions tightly connected
to SAP NetWeaver BW
 Hint: Reading RS_ tables inside SAP NetWeaver BW

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.

Java programmers will


recognize the
standard development
kit's (SDK) main
libraries such as the
abstract windowing
toolkit (AWT) and the
GUI-oriented Swing Source: SAP AG, 2008

object library as well


118
BI Java SDK-Based Cockpits
• SAP NetWeaver Developer Studio can develop BI Java SDK-based
applications
• Can use along with SAP Java Web Dynpro

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

 Communities, Beta Product downloads, Webinar information, E-Books,


Developer Conference 2007 slides, Free Trial downloads, more!...
 Check out the blogs and forums – there is already some great content
posted
• https://wiki.sdn.sap.com/wiki/display/profile/Ingo%20Hilgefort
 Ingo Hilgefort’s blog
• SAP NetWeaver Business Warehouse Roadmap and Roadmap FAQ
 http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq

• http://www.comeritinc.com/Downloads.htm
• Online material, presentations, and downloads

121
New SAP Press Book

• Ingo Hilgefort, Integrating


BusinessObjects XI 3.0 BI Tools
with SAP NetWeaver, SAP Press,
ISBN 978-1-59229-274-5

 Great resource for technical


installation, implementation,
and integration information

 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

• Look at in-house Web skills before you decide on the tool

• SAP Performance Management is a great tool for those with


limited Web skills, but requires consistency in performance
measures (roll-ups) and structured navigation

• SAP NetWeaver Visual Composer is great for simple graphing

• BEx Web Application Development is the tool of choice by


experienced Web programmers who want total design freedom

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!

How to contact me:


Dr. Bjarne Berg
bberg@comeritinc.com
125
Disclaimer
SAP, R/3, mySAP, mySAP.com, SAP NetWeaver®, Duet™, PartnerEdge, and other SAP products and services mentioned herein as well as their
respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product
and service names mentioned are the trademarks of their respective companies. Wellesley Information Services is neither owned nor controlled by
SAP.

126

You might also like