One important aspect of the integration of SAP Analytics Cloud and SAP BW / BW4HANA is always the topic performance. With wave 19 we released a new feature especially for the BW Live connectivity. Officially the feature is called “Query Merging”, but I thought “Smart Query” sounds far better…
Lets assume a very simple case:
In our example, we have three charts displaying:
- Net Value by Product (Top 10)
- Costs by Product (Top 10)
- Net Value by Region (Top 10)
Without doing anything, this would result in three queries towards the SAP BW system.
Now with the new option of query merging, we can reduce the amount of queries.
First I open the Query Settings as part of my story…
.. and I then enable both options:
- Enable Query Merge
- Visualize Query Merge
.. and then i refresh my story.
All three charts are shown with a different color and there is a small comment in the bottom right corner for each chart, showing with with data request the data was retrieved. In my given example we still have three data requests – so we didn’t improve.
So lets look at the pre-requisites:
Queries contain the same dimensions with the same hierarchies and drill.
Queries use the same sorting and ranking.
Queries do not have an active threshold with threshold filters.
The widget does not have a local filter on a dimension that is also used in a restriction in SAP BW.
Queries are part of the same receiver group if they use linked analysis.
There is no widget filter on a secondary structure query.
The widget filter is not defined as complex tuple or range filter.
Presentation types are the same.
So in our example the second rule is why our three charts are not being merged, because we are using three different sets of ranking rules.
So lets remove the ranking from all our three charts…..
…. and we can see that the two charts that share the dimension are now part of the same data request, so instead of 3 requests we now are only using 2 requests.
When looking at this simple example the impact might not be so obvious, so lets put this into a perspective.
Lets assume we have a SAP Analytics Cloud Story with a total of 6 widgets and instead of running 6 data requests, we would be running 2 data requests with the Query Merging capability enabled.
Lets also assume that the SAP Analytics Cloud Story is being viewed by 100 people each morning.
Our old scenario:
100 Users x 6 requests = 600 requests
New scenario with Query Merging:
100 Users x 2 requests = 200 requests
I am sure your BW Administrator would appreciate this and your end users will as well …