Three Tips for Improving Response Time in SAP BW Business Explorer
(BEx)
By: Penny Silvia, Director, Business Intelligence, Business
Information Solutions LLC, penny.silvia@bisamerica.com
| This tip is taken from Penny’s presentation,
“Advanced Techniques to Fully Exploit SAP BW Business Explorer
(BEx),” given at SAP BW & Portals 2004. For more information
on next year’s event please visit www.sapbwportals2005.com
|
One of the challenges that all BW implementations face is the balance
of optimizing flexibility with performance in BEx. As an enhanced
version of Microsoft Excel, BEx is the area most frequently used
by Analysts and Power Users of BW, but the performance of those
analyses can cause frustrations and delays.
SAP is working hard to improve the performance time for BEx users
through systemic changes and enhancements in the processing engines.
As you progress in your BW implementations with the latest versions
and components you will be able to take advantage of these enhancements
built into the product. For example, in OLAP querying caching, the
query results and navigation statuses calculated by the OLAP processor
are stored in a cache. This then enables the OLAP processor to access
data stored in the cache for queries that are similar, thus improving
query performance and reducing the load on the database instance.
This can be set at the InfoProvider or Query level, thus providing
significant performance benefits and the flexibility of where to
set these parameters.
But for those of you who are still struggling with BEx performance,
there are many things that you can do during your query definition
and OLAP activities that will increase the response times of your
querying. These tips are useful for all versions of BW – and will
be applicable to all functional or business areas using the BW system.
And while these are predominantly Super User tips and tricks, they
can be viewed as overall system design tips that will increase the
reporting experience for ALL users of the BW system – casual user
or Super User.
1. Strategically Leverage BEx Features
BEx offers many Super User functions that can add tremendous value
and power into your queries and reports. Some of these, however,
come at a cost – performance. In designing both your standard and
ad hoc queries it is important to understand the performance impact
of your design decisions.
One example of this is with Calculated Key Figures and Formulas.
For the best performance, you will want to make sure you assess
the use of calculated key figures versus formulas. Calculated Key
Figures are processed on the BW server, whereas Formulas are processed
on your local excel layer. The performance gains of Calculated Key
Figures versus Formulas will be especially noticed for highly complex
calculations.
Another good performance gain comes from date field calculations
… think about mapping them to key figures in the data targets. It
allows significantly more flexible and powerful queries. For example,
you can use Boolean and data functions such “less than,” “greater
than,” and “not equal to,” as well as subtracting one date from
another. You can’t do these things with characteristic dates!
You can further increase performance of your reports with controlling
your subtotal rules. Whenever feasible, you should remove subtotal
rows from characteristics properties — right-click the characteristic
in query designer and select “Properties”. Once there, set “Totaling”
property to “never” or “conditional.” The latter will provide grand
totals and avoid subtotals. Large queries will also run much faster
with this method.
Finally, when tackling parallel processing in MultiProviders,
set configuration to allow parallel processing, if feasible. This
allows base cubes to be read in parallel instead of sequentially,
which is the default setting
2. Weigh Processing Versus Storing Extra Model Data
If you have a large number of complex numeric computations in
your query – calculated key figures - you could potentially see
a tremendous improvement in query/report performance by performing
these calculations during the update process to the cubes. This
performance savings must be weighed against the “cost” of storing
computation results in the cube or ODS, for as you know, every key
figure that is added directly to the cube increases the overall
size of the cube and the complexity of the cube as well as adding
additional time to the update process. For those calculated key
figures that are used frequently by many users, however, the gain
in the performance may be well worth the additional “cost” of update
time and database space.
Another idea is to evaluate your staging options if you have a
lot of BEx filtering on characteristic values. You can create a
field in the cube/ODS that determines this state using a start routine
during the data load. Then, set the field to X when this condition
is true. This reduces BEx processing requirements.
One additional aspect of processing versus storing extra model
data is the challenge of aggregates and secondary indexes. Even
in query results that are small, a large amount of data may have
to be processed to produce that result – for example, you may have
to run through and pull together results from 60 millions rows in
a cube to deliver summarized results into ten rows in the report.
Performance tuning for queries is imperative. For example, I was
able to cut of my query runtimes from 18 minutes to 1 minute by
adding one secondary index on a master data navigable field used
in the query. Use well-designed aggregates and secondary indexes;
huge performance gains can be achieved.
3. Consider Using the CMOD User Exit
As a final idea, you can consider using the CMOD user exit. The
CMOD front end user exit is difficult to figure out because it’s
not like the other SAP user exits - even when you use the current
SAP documentation, there are gaps in the information provided that
make figuring out how to use it difficult – but it does offer you
the opportunity to break into the BEx code and perform certain otherwise
impossible functions … like word-match searching on free text fields!
You should also try other methods and only use the user exit as
a last resort as it is very powerful, but not easy to use or maintain.
Overall, SAP continues to develop tools and technologies that deliver
a higher user satisfaction for both the casual user and Super User.
Granted there is a great deal of attention paid to web-based reporting
for BW, but the tool of choice for Super Users will continue to
be the Business Explorer and SAP recognizes this. There are continuous
development efforts to respond to the user input gathered at user
forums across the world and SAP has come a long way in deploying
a product that offers true complex ad hoc reporting capabilities
for Super Users. Complex querying and calculating come at a cost
however – of either time or data base space. BW is a system of “give
and take” … you can GIVE your users great performance on their queries,
but you have to TAKE additional space on the database by pre-calculating
and loading them directly into your models. Or, you can GIVE your
Super Users great performance if they TAKE the time to think about
how they are approaching certain queries and build in some of the
above-mentioned tips into their designs.
As with the other aspects of designing a BW system, there are
many, many options to how you can accomplish the same goal. The
choice is up to you, but the tips listed above should provide you
some good foundations to making those decisions for you and your
users.
This tip is taken from Penny’s presentation,
“Advanced Techniques to Fully Exploit SAP BW Business Explorer (BEx),”
given at SAP BW & Portals 2004. For more information, please
visit www.sapbwportals2005.com
Print
These Articles
back to home
|