You are on page 1of 82

A comprehensive guide

to SAP NetWeaver
Visual Composer

Dr. Bjarne Berg

2009 Wellesley Information Services. All rights reserved.


In This Session ...
SAP NetWeaver Visual Composer provides robust functionality for the code-free
development of dashboards, cockpits, and rich user interfaces, and also for tuning
the performance of the SAP NetWeaver Business Intelligence (SAP NetWeaver BI)
queries that supply the data.
Step through a detailed demo that shows some simple techniques for using SAP
NetWeaver Visual Composer to build a dashboard or cockpit based on good design
principles.
Find out how summary cubes with update rules can quickly deliver information
summaries, such as total sales, total sales by store, or total sales by month to your
dashboard or cockpit.
Understand how the jump to query feature allows you to drill down into each
summary category to get more detailed information, right from the dashboard
interface, without the need to run additional time consuming reports.
Assess the pros and cons of using auto suppression and data filters with SAP
NetWeaver Visual Composer. Come away understanding the role of SAP NetWeaver
Visual Composer in an environment that includes SAP NetWeaver BI and solutions
from Business Objects, an SAP company.

1
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

2
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

3
The SAP BI Core Toolset
SAP BI is an
enterprise-wide
comprehensive
decision support
(DSS) system for
analytical needs of
an enterprise.

BI can also support


some degree of
operational reporting

The SAP BI tool set has many presentation tools and options
for companies to leverage. VC is an extension of those tools.
4
Getting Started - In SAP-BI it all starts with a query

The query is the core method


The 3.5x BEx for accessing SAP BI data. You
Query Designer can use existing queries in your
VC models.

The new 7.0 Query


designer was totally
re-developed in MS- The NWBI 7.0 BEx
Visual Basic .NET Query Designer
What is Visual Composer
Visual Composer is a tool to visualize the data. It is a browser-based modeling
and design tool for rapid application development & prototyping in a code-free
development environment.

6
Visual Composer for Complex cockpits

Modeling of BI applications using the BI kit of the Visual


Composer allows business users to create analytical content
for SAP portal. It offers the integration with BI InfoProviders,
views, BEx web applications, PDF and more via WEB API as
access to
other data
sources such
as OLAP and
relational data
sources) via
Java
connectors

Image source: Cubeserv


Details about Visual Composer Cockpits
Delivered as part of Enterprise Portal in SAP NetWeaver BI 7.0 Usage
Type (SPS8 and higher)
Different options available for rendering Visual Composer output
Flash
Web Dynpro (HTML)
Flash provides high-end visualization of Visual Composer models

You can pick your own


rendering method in the
menu: Tools Options

8
Visual Composer Data Methods

Can integrate data from multiple data sources, including


SAP and non-SAP systems, into one model
Different options available for data access include:
BI Extension Kit
Remote Function Call (RFC)
Web services
BI Extension Kit allows access
to the following DataSources
SAP NetWeaver 2004 BI
(BW 3.5 Support Package 14)
SAP NetWeaver BI 7.0
JDBC
XMLA
9
Visual Composer DataProviders

You can use BI queries and views as DataProviders for


Visual Composer models
You also can use BI query functionalities for exceptions and
variables along with Visual Composer models

Visual Composer
allows access to BI
history, favorites,
and roles
Visual Composer is Easy for Power Users to Learn
Visual Composer is a power user tool that is simple to learn for
someone with a little bit of technical background (i.e. controllers,
report writers, analysts).

No coding required to
create great-looking
Web-based cockpits

Take advantage of
prebuilt analytic
business packages

Source: SAP
Visual Composer and WAD
Visual Composer integrates with Web AD-based applications
using Portal Eventing Framework
For example, BW Web API can pass a filter value from a BEx Web
application to Visual Composer
and vice versa

12
Web Application Designer for custom applications
WAD can also incorporate
other SAP VC web items
into powerful cockpits and
custom report centers.

While WAD can be used by developers


without extensive HTML and Java
scripting knowledge, these skills will be
useful on most projects.
Visual Composer 7.0 Portal Publishing

Visual Composer Design


time deploys Visual
Composer models
directly as iViews to
Portal Content Catalog

You can then use Visual


Composer iViews in
portal pages, roles, etc.

14
There are many resources for SAP VC The SDN community

This is a great site for


quickly getting started with
SAP VC and for down-
loading a free demo-version
SAP VC and the SAP Community Network

Many of the beginner


questions have already
been answered in the
expert forums on the SAP
community network
SAP VC The SDN community Blogs

You can also learn from


others experiences by
getting plugged-in to
the community network
blogs dedicated to SAP
Visual Composer.
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

18
Modeling Overview

1. In this section we will review some of the technical


options in SAP VC and take a look at the purpose of each
of these.

2. After this, we will see a demo of how to build SAP VC


model from start to finish.

3. We assume you have never seen the tool before and will
go through the demo and the overview step-by-step

19
Download and getting started The trial version

You can
download a
trial version on
the SAP
Community
network.

However, to put it into production you must work


with your SAP account executive for a license. It is
normally not covered by a general SAP BI license.
Creating a model

The first task is to


create an overall
model to store all
your pages and
iViews.

The name cannot


have blanks or
special characters

You can organize


your model in
standard folder
structures

Remember that this is a power user task, so providing


the group with some formal training (4-6 hrs) would be
beneficial. Also, teach them you naming conventions
The SAP VC add-ons

The models are actually graphics


rendered with Adobe SVG (vector graphics)

If you dont have Adobe


SVG installed, you must
go to their web site and
download it. It is a small
file and it is free
The work environment Getting Connected

First you must


make sure that your
Visual composer
environment is set
up with connection
back to your SAP
BI environment(s).

You can also work with your technical team to setup


connections to other non-SAP environments
The Portal Web Page container
You can create
individual iViews
that are shared in
other applications
such as WAD, KM
folders and web
pages.

You can use the


portal page to
group iViews.

Alternatively, you
can make complex
iViews that have
many different
Using the compose icon on the right, you display levels
Can add iViews and Portal pages to your model
The SAP VC Configure Toolbar

We can add items


and see then from
the highest level,
or you can drill-
down on each
item and configure
them individually.

Navigation is
provided as a
toolbar and you
can also zoom in
on each item.

This tool bar allows you to zoom, access layers, insert


grid lines for layout and move objects
The magnifying glass

SAP VC has many


tools that power
users can play
with.

The fastest way to


proficiency is to
try the many
features. Very few
things can 'break,
and the undo
button is always
available

The magnifying glass is helpful when the model is very


complex and zooming in and out is cumbersome
The Annotation tool

When you are developing


very complex models, it is
very helpful to add
annotations (comments)
to document your work.

Consider proposing standards within your company


(i.e. dates, initials, and what needs to be documented).
The iView in SAP VC

iViews can be graphical (charts) or tables and links between iViews and
queries can create complex dashboards with many navigation options
Getting an Overview over complex models

Very large visual


composer cockpits can
be hard to read.

The Browse feature


allows you to see the
cockpit in a tree format
that makes it easier to
navigate

Graphical model displays can get hard to read


once very complex dashboards are created
Development methodology

Plan on spending
serious time with
users working on
layout and web page
organization.

PS! you can use the


SAP delivered
calendar to display, or
for user to interact
with your data set.

The best way to create cockpits is to prototype it first, then ask for
feedback. Since this process is discovery oriented, It is not best
practices to use functional specifications to create web cockpits.
Rapid Application Development (RAD) is the preferred methodology
The Back-end GML code

SAP Visual Composer


uses the standard GUI
Modeling Language
(GML).

If you are familiar with


this language, you can
see the code page
under the source tab
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 2 SAP BI queries

More advanced developers can


also call Business Application
Programming Interfaces (BAPI)
that is delivered with SAP BI 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 & assigning meaningful names

1.We select the fields we want to graph as


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


on clicking on a country in the graph and
see the see all the customers 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 Portal
The Result: the web cockpit in the SAP 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 displays sales for
those customers
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

46
47
External Web Services

External web services (WS) such as


email, stock quotes, news services and
weather maps can also be integrated
into your SAP VC cockpit
External Data Providers web services

Each Web Service may require different input, so


you have to spend some time trying out what
works for your site and how to format it.
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

50
Making cockpits fast - Using the cache as a data provider
It is very beneficial to use the cache as the method for data
service retrieval. This makes the cockpits faster by relying
on previously accessed data stored in-memory, and you can
also use broadcasting to cache as a method to pre-populate
the cache as well.

Since a cockpit may have


many different DataSources
(queries), it can take quite
some time to execute them
if the memory cache is not
51
used consistently
Speeding up queries by using aggregates

Aggregates are much less used 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 & 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.
52
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 time period to
be analyzed
Only those queries executed in
this time period will be reviewed
to create the proposal
53
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.

54
Building aggregates fast for your SAP Visual Composer cockpit

The process of turning 'on' the


aggregates is simple

1. Click on Jobs to
see how the
program is
progressing
Speeding up the SAP VC Cockpit Filling aggregates
Make Dashboards fast - Use the Right Read Mode for Queries

Select the right read mode. Three query read modes


in BW determine the amount of data to be fetched
from a database:

1. Read all data (all data is read from a database and stored in
user memory space)

2. Read data during navigation (data is read from a database


only on demand during navigation)

3. 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 57
Make Dashboards fast - 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 queriesfor 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 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).

58
Make Dashboards fast - Condition & Exceptions

Minimize conditions-and-exceptions reporting. Conditions &


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 drill-downs
are required, separate the drill-down 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 drill-down steps. In addition to accelerating query processing, it
provides the user more manageable portions of data.
59
#of Baseline SP 14 Improve
Cockpit
Expense Query for Detailed program
Queries
1
4/18/08 (4/21/08)
145 9
ment
94%
Keep service packs
Financial dashboard expense (actual vs. target)
Financial dashboard [expense]
Financial dashboard [non-earnings]
7
2
2
150
70
42
18
12
13
88%
83%
69%
up-to date -
Expense Query for Detailed org objective
Financial dashboard [workforce costs]
1
6
31
50
10
17
68%
66% A Real Example
Expense Query for Detailed 1 36 14 61%
Capital Query for Detailed work type 1 22 9 59%
Financial performance 9 43 21 51%

This company had 38


Workforce financials 9 29 16 45%
Expense query for detailed 1 16 9 44%

cockpits and 82 queries


Balance Query for Detailed program 1 14 8 43%
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
Financial dashboard (other balance)
1
7
14
29
8
17
43%
41%
that improved substantially
Balance query for organization detailed
Balance Query for Detailed work type
1
1
13
13
8
8
38%
38%
without any further
Non-earnings Query for Detailed cost element
Capital Query for Detailed cost element
1
1
13
14
8
9
38%
36%
changes after installing
Labor query for detailed org
Standard costs variance detailed report
1
1
14
20
9
13
36%
35%
Service Pack-14
Financial dashboard (non-earnings) 7 30 20 33%
Non-earnings Query for Detailed program 1 12 8 33%
Balance Query for Detailed org objective 1 13 9 31% - a 39% decrease in
Capital Query for Detailed MWC 1 14 10 29%
Non-earnings query for organization detailed 1 12 9 25% query execution time
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% 60
Average 27.95 12.03 39%
Make Dashboards fast - RKF & Line Item Dimensions
1. 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 & 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.

2. Line item dimensions are basically fields that are transaction oriented and therefore,
once flagged as a line item dimension, is actually stored in the fact table. This
results in faster query access (no table join).

Explore the use line item dimensions for fields


that are frequently conditioned in queries.
61
Make Dashboards fast - Reducing the Query processing time

Problem: Calculated Key Figures (CKF) are computed


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

Solution: Many of the CKF can be done during data loads & 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 require 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 & provide the users with data faster.

PS! Reducing the text in query will also


speed up the processing some. 62
Making VC cockpits faster - The Right OLAP Cache 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

No central cache directory or


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

63
SAP VC Performance trick: Avoid Outdated Indexes & 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)
You cannot drive a Ferrari on a dirt-road right data design

When you flag a dimension as high cardinality SAP


BI 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 65
TIP 19: Use BI Accelerator ASAP
SAP Any
BW tool

The SAP BI
Accelerator makes
query response time
50-10,000 faster.

You use process


chains to maintain
the HPA engine after
each data load

HP, Sun and IBM have standard solutions ranging


from $32K to $300K+ that can be installed and 32 Gb Blades are
tested in as little as 2-4 weeks (+ SAP license fees) certified by SAP 66
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

67
The future of Visual Composer

Source: SAP, 2009

Composition Environment including Visual


Composer continues to be the go-to product for
creating composite applications.

68
SAPs Premium Offerings

SAP Acquired Business Objects in 2007/2008 and is working


on integrating BOBJ into the core SAP BI offerings.

69
New Tools Roadmap

Source SAP AG, 2009


Other dashboard options- BOBJ capabilities
Dashboards can be built using
Xcelsius.
Xcelsius+ will be launched in 2009,
and will be the flagship product for
data visualization & dashboards
BEx Web Application Designer will not
be enhanced further beyond Release
NW 7.1 in 2008.

Crystal Reports for pixel formatted reports


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

(NOTE: Crystal & Crystal Light will be the core tools for
formatted reports starting 2010)
Source SAP AG,
BOBJ capabilities Analysis, Ad-hoc & Widgets
The Web Intelligence tool from BOBJ
is a tool for ad-hoc web based
reporting, query & 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 offering of BOBJ


you can also use Desktop Widgets
to place BI content direct onto a PC
desktop and monitor reports and
KPIs.
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

73
SAP Visual Composer Options

In the Tools Options section,


you can control items such as
auto save, display levels, formats,
high-lights and more.

These preferences are


stored for each user and
can be personalized
SAP Visual Composer Workspace Options

You can also control, connectors,


automatic data mapping, display
of selected fields, warnings etc.

Setting up defaults for


the workspace will help
your power users avoid
frustration. Make sure
you sync the windows
SAP Visual Composer Composing Options

Pick your run-time animation and


select the portal system folder you
want to save your models in.

For most cockpits the


default value should be
Cache retrieved services
What Well Cover
Introduction
SAP Visual Composer overview
How to build a VC model
Demo
Performance tuning
The future of VC
Other options
Wrap up

77
Who gets to use the SAP Visual Composer?

There is often a temptation for the IT community of


wanting to keep the Visual Composer tool under their
domain That is a mistake
The IT community should actively work with the power
and casual users to improve human capabilities and
thereby teach them to become more productive
employees.

78
Chinese Proverb
7 Key Points to Take Home
SAP Visual Composer is a tool that is easy to learn

The tool is intended for PowerUsers not primarily IT

SAP Visual Composer is not going away

You should provide individual training to each of the power users

Spend serious time performance tuning the back end queries and
data stores

Plan for SAP BI Accelerator if you have many users of the VC


models

Seek advise of best practices and plan on integrating data across


systems, web services and other non-SAP sources. 79
Resources

Presentations, tutorials & articles


www.comerit.net

The Visual Composer Reference Guide -


http://help.sap.com/saphelp_nwce10/helpdata/en/7c/0feaee0d214b5e9f2e890e0668a833/
content.htm

Be sure to read SAP Note 1021219 for the latest information about limitations,
known issues, and workarounds for Visual Composer. You can find the SAP Note at
SAP Service Marketplace - service.sap.com/notes.

80
Your Turn!

How to contact me:


Dr. Bjarne Berg
bberg@comerit.net
81

You might also like