Presentation on theme: "In This Session ... SAP NetWeaver Visual Composer provides robust functionality for the code-free development of dashboards, cockpits, and rich user interfaces,"— Presentation transcript:
0A comprehensive guide to SAP NetWeaver Visual Composer Dr. Bjarne Berg
1In 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.
2What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
3What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
4The SAP BI Core ToolsetSAP BI is an enterprise-wide comprehensive decision support (DSS) system for analytical needs of an enterprise.BI can also support some degree of operational reportingThe SAP BI tool set has many presentation tools and options for companies to leverage. VC is an extension of those tools.
5Getting Started - In SAP-BI it all starts with a query The query is the core method for accessing SAP BI data. You can use existing queries in your VC models.The 3.5x BEx Query DesignerThe new 7.0 Query designer was totally re-developed in MS-Visual Basic .NETThe NWBI 7.0 BEx Query Designer
6What 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.
7Visual 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 toother data sources such as OLAP and relational data sources) via Java connectorsImage source: Cubeserv
8Details 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 outputFlashWeb Dynpro (HTML)Flash provides high-end visualization of Visual Composer modelsYou can pick your own rendering method in the menu: Tools Options
9Visual Composer Data Methods Can integrate data from multiple data sources, including SAP and non-SAP systems, into one modelDifferent options available for data access include:BI Extension KitRemote Function Call (RFC)Web servicesBI Extension Kit allows access to the following DataSourcesSAP NetWeaver 2004 BI (BW 3.5 Support Package 14)SAP NetWeaver BI 7.0JDBCXMLA
10Visual Composer DataProviders You can use BI queries and views as DataProviders for Visual Composer modelsYou also can use BI query functionalities for exceptions and variables along with Visual Composer modelsVisual Composer allows access to BI history, favorites, and roles
11Visual 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 cockpitsTake advantage of prebuilt analytic business packagesSource: SAP
12Visual Composer and WAD Visual Composer integrates with Web AD-based applications using Portal Eventing FrameworkFor example, BW Web API can pass a filter value from a BEx Web application to Visual Composerand vice versa
13Web 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.
14Visual Composer 7.0 Portal Publishing Visual Composer Design time deploys Visual Composer models directly as iViews to Portal Content CatalogYou can then use Visual Composer iViews in portal pages, roles, etc.
15There 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
16SAP VC – and the SAP Community Network Many of the beginner questions have already been answered in the expert forums on the SAP community network
17SAP 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.
18What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
19Modeling OverviewIn this section we will review some of the technical options in SAP VC and take a look at the purpose of each of these.After this, we will see a demo of how to build SAP VC model from start to finish.We assume you have never seen the tool before and will go through the demo and the overview step-by-step
20Download 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.
21Creating a modelThe first task is to create an overall model to store all your pages and iViews.The name cannot have blanks or special charactersYou can organize your model in standard folder structuresRemember 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
22The SAP VC add-onsThe models are actually graphics rendered with Adobe SVG (vector graphics)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
23The 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
24The 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 display levelsUsing the compose icon on the right, youCan add iViews and Portal pages to your model
25The 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
26The magnifying glassSAP 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 availableThe magnifying glass is helpful when the model is very complex and zooming in and out is cumbersome
27The Annotation toolWhen 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).
28The iView in SAP VCiViews can be graphical (charts) or tables and links between iViews and queries can create complex dashboards with many navigation options
29Getting 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 navigateGraphical model displays can get hard to read once very complex dashboards are created
30Development 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
31The Back-end GML codeSAP 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
32Step 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 queriesMore advanced developers can also call Business Application Programming Interfaces (BAPI) that is delivered with SAP BI to build complex applications
33Step 2 – Selecting the queries and defining a starting point After the query is selected, the metadata is transferred to the model.We select one query as the starting point and can require users to use a prompt (in this example we will leave this blank)
34Step 3 – Adding a table view based on Query data We add a table view and select the fields we want from the queryWe give the table view a meaningful business name
35Step 4 – Adding a Chart view based on Query data We add a chart view based on the query data.We decide to make it a column chartThe fields that we want to graph are selectedWe add animation to the column chart
36Step 5 – Defining graph & assigning meaningful names We select the fields we want to graph as different data series (columns)We give each column a meaningful business name (this is what the users will see)
37Step 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
38Step 7 – Adding navigation: Linking tables to other queries When a user selects a row in the country table we want to show all the customers in that country and their sales.We link the output from the country table view to the customer query and map the ‘country-key’ value between the two objects
39Step 8 – Adding navigation: Linking graphs to other queries 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.Again, we link the output from the country graph to the customer query and map the ‘country-key’ value between the objects
40Step 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 salesFirst we add a table viewWe select the fields to be displayed from the queryWe give the table a meaningful name
41Step 9 – Adding a pie chart for customer sales data Now we add a pie chartFirst we add a graph viewWe select the pie chart type and the fields to be graphedWe give the field a meaningful business name
42Step 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
43Step 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
44The Result: the web cockpit in the SAP Portal All country sales are displayed based on the first query
45The Result: Navigation between the graphs By clicking on the country in either of the top views, the bottom views displays sales for those customers
46What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
48External Web ServicesExternal web services (WS) such as , stock quotes, news services and weather maps can also be integrated into your SAP VC cockpit
49External 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.
50What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
51Making 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
52Speeding 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.
53Building aggregates is easy – Propose from statistics This example shows how to build aggregates by using system statistics to generate proposalsNote: 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 analyzedOnly those queries executed in this time period will be reviewed to create the proposal
54Correct 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.
55Building aggregates fast for your SAP Visual Composer cockpit The process of turning 'on' the aggregates is simple
56Speeding up the SAP VC Cockpit – Filling aggregates
57Make 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: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 hierarchyReading data during navigation minimizes the impact on the application server resources because only data that the user requires will be retrieved.Source: Catherine Roze
58Make 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).
59Make Dashboards fast - Condition & Exceptions Minimize conditions-and-exceptions reporting. Conditions &exceptions are usually processed by the SAP applicationserver. 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.
60Keep 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 inquery execution time
61Make 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 performanceRecommendation: 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.
62Make Dashboards fast - Reducing the Query processing time Problem: Calculated Key Figures (CKF) are computedduring run-time, and a many CKFs can slow down thequery 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.
63Making VC cockpits faster - The Right OLAP Cache Settings CACHE OLAP Persistence settingsNoteWhenWhatt-codeDefaultFlatfileChange the logical file BW_OLAP_CACHE when installing the system (not valid name)FILEOptionalCluster tableMedium and small result setsRSR_CACHE_DBS_IX RSR_CACHE_DB_IXBinary Large Objects (blob)Best for large result setsRSR_CACHE_DBS_BL RSR_CACHE_DB_BLSP 14Blob/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=xSource: SAP AG 2008.
64SAP 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).Real exampleFor 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)
65You 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).Real exampleValidate the high-cardinality of the data and reset the flag if needed – this will give a better index type and performance
66TIP 19: Use BI Accelerator ASAP BWAnytoolThe SAP BI Accelerator makes query response time 50-10,000 faster.You use process chains to maintain the HPA engine after each data loadHP, 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)32 Gb Blades are certified by SAP
67What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
68The future of Visual Composer Source: SAP, 2009Composition Environment including Visual Composer continues to be the go-to product for creating composite applications.
69SAP’s Premium Offerings SAP Acquired Business Objects in 2007/2008 and is working on integrating BOBJ into the core SAP BI offerings.
71Other 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 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,
72BOBJ 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.
73What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
74SAP 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
75SAP 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
76SAP 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
77What We’ll Cover … Introduction SAP Visual Composer overview How to build a VC modelDemoPerformance tuningThe future of VCOther optionsWrap up
78Who 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 mistakeThe 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
797 Key Points to Take HomeSAP Visual Composer is a tool that is easy to learnThe tool is intended for PowerUsers – not primarily ITSAP Visual Composer is not going awayYou should provide individual training to each of the power usersSpend serious time performance tuning the back end queries and data storesPlan for SAP BI Accelerator if you have many users of the VC modelsSeek advise of best practices and plan on integrating data across systems, web services and other non-SAP sources.
80Resources Presentations, tutorials & articles www.comerit.net The Visual Composer Reference Guide -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.
81How to contact me: Dr. Bjarne Berg firstname.lastname@example.org Your Turn!How to contact me:Dr. Bjarne Berg