1 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.
2 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
3 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
4 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.
Getting Started - In SAP-BI it all starts with a query The 3.5x BEx Query Designer The NWBI 7.0 BEx Query Designer The query is the core method for accessing SAP BI data. You can use existing queries in your VC models. The new 7.0 Query designer was totally re-developed in MS- Visual Basic.NET
6 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.
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
8 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
9 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
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). Source: SAP Take advantage of prebuilt analytic business packages No coding required to create great-looking Web-based cockpits
12 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
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.
14 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.
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 other’s experiences by getting ‘plugged-in’ to the community network blogs dedicated to SAP Visual Composer.
18 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
19 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
Download and getting started – The trial version 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. You can download a trial version on the SAP Community network.
Creating a model 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 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
The SAP VC add-ons If you don’t have Adobe SVG installed, you must go to their web site and download it. It is a small file and it is free The models are actually graphics rendered with Adobe SVG (vector graphics)
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 Using the compose icon on the right, you Can add iViews and Portal pages to your model 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 display levels
The SAP VC Configure Toolbar This tool bar allows you to zoom, access layers, insert grid lines for layout and move objects 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.
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 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 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 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 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 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
46 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
External Web Services External web services (WS) such as , 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.
50 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
51 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 used consistently
52 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.
Building aggregates is easy – Propose from statistics 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 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. 53
54 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.
Building aggregates fast for your SAP Visual Composer cockpit The process of turning 'on' the aggregates is simple
Speeding up the SAP VC Cockpit – Filling aggregates
57 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
58 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 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 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).
59 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.
60 Keep service packs up-to date - A Real Example This company had 38 cockpits and 82 queries that improved substantially without any further changes after installing Service Pack-14 - a 39% decrease in query execution time query execution time
61 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). Make Dashboards fast - RKF & Line Item Dimensions Explore the use line item dimensions for fields that are frequently conditioned in queries.
62 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. Make Dashboards fast - Reducing the Query processing time PS! Reducing the text in query will also speed up the processing some.
63 Making VC cockpits faster - The Right OLAP Cache Settings CACHE OLAP Persistence settings NoteWhenWhatt-code DefaultFlatfile Change the logical file BW_OLAP_CACHE when installing the system (not valid name)FILE OptionalCluster tableMedium and small result sets RSR_CACHE_DBS_IX RSR_CACHE_DB_IX Optional Binary Large Objects (blob)Best for large result sets RSR_CACHE_DBS_BL RSR_CACHE_DB_BL SP 14 Blob/Cluster Enhanced (new in SAP 7.0 BI) No central cache directory or lock concept (enqueue). The mode is not available by default. Set RSR_CACHE_ACTIVATE_NEW RSADMIN VALUE=x Source: SAP AG 2008.
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). 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) Real example
65 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). Validate the high-cardinality of the data and reset the flag if needed – this will give a better index type and performance Real example
66 TIP 19: Use BI Accelerator ASAP 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 tested in as little as 2-4 weeks (+ SAP license fees) SAP BW Any tool 32 Gb Blades are certified by SAP
67 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
68 The future of Visual Composer Composition Environment including Visual Composer continues to be the go-to product for creating composite applications. Source: SAP, 2009
69 SAP’s Premium Offerings SAP Acquired Business Objects in 2007/2008 and is working on integrating BOBJ into the core SAP BI offerings.
New Tools Roadmap Source SAP AG, 2009
Other dashboard options- BOBJ capabilities Crystal Reports for pixel formatted reports has been available with SAP BI/BW since 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) 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 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 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.
73 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
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 For most cockpits the default value should be Cache retrieved services Pick your run-time animation and select the portal system folder you want to save your models in.
77 What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC model Demo Performance tuning The future of VC Other options Wrap up
78 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. Chinese Proverb
79 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.
80 Presentations, tutorials & articles The Visual Composer Reference Guide - content.htm Be sure to read SAP Note 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. Resources
81 Your Turn! How to contact me: Dr. Bjarne Berg