WEBI: A Boon for Users
Web Intelligence (WEBI) is a popular SAP BusinessObjects self-service reporting tool that makes it easy for end users—even non-technical ones—to create ad hoc reports. With a visual interface and drag-and-drop capabilities, WEBI allows users to pose queries, select data elements, add filters, and format information. In other words, WEBI makes it possible to access and analyze data, and turn insight into action.
WEBI: A Boondoggle for Administrators
WEBI is an asset for end users, but it can be a liability for Business Objects administrators. That’s because WEBI reports can return a lot of data and consume too many resources on a server. There are several reasons for overly large WEBI reports:
- Some users want it all; the larger the data sets, the better!
- Some users are still learning how to create efficient, well-performing WEBI reports and avoid pitfalls like run-away queries.
- Some users are relying on WEBI reports for data dumping–extracting data from new systems to populate old systems.
Underperforming WEBI reports can bring a Business Objects environment to its knees when systems run slowly, users can’t log in, and reports are left hanging. To avoid getting stuck in reactive mode, BOBJ Administrators would be wise to switch gears into proactive mode, and teach users how to design WEBI reports for optimal performance.
New WEBIs: Best Practices
The following top 10 best practices represent ways to create WEBI reports that display the desired information without getting too large and causing unintended consequences. (Note: These steps assume that the underlying database has been well designed, aggregated, and optimized.)
1. Put restrictions on Universes by setting row limits with the SAP BusinessObjects Universe Designer or Information Design Tool.
2. Adjust the “Array Fetch Size” for each Universe, which defines the number of records to be extracted from the database at each fetch. Find SAP suggestions here and test to see what works.
3. Require prompts—at least one prompt per report—to force users to filter data.
4. Filter queries before filtering reports. Query filters reduce the amount of data returned to reports. Report filters further reduce the size of data sets.
5. Limit the number of data providers to no more than five and the number of report tabs to no more than ten.
6. Create smaller reports and link them together with OpenDocument. Include a summary data report and give users the option to click on OpenDocument links to access additional reports.
7. Remove unused variables from reports.
8. Remove unused objects from queries.
9. Avoid merged dimensions.
10. Avoid “ForEach” and “ForAll” formula statements, except when necessary. Use the “In” formula statement instead.
Old WEBIs: Find and Fix
Best practices aren’t just relevant to new WEBI reports. They can also be applied to existing WEBIs to improve performance. The first step is to locate reports with the greatest potential for improvement. 360Eyes is a 360Suite solution that makes it possible to identify problem WEBI reports by exposing Business Objects metadata. It does this by accessing the CMS, Auditor, and FileStore, combining the data into a queryable data mart, and displaying essential metadata in 40+ prebuilt WEBI reports.
Here are some ways to identify problem WEBI reports with 360Eyes:
- Decide how many rows is a reasonable number, and use 360Eyes to determine what reports contain too many rows.
- Decide how many data providers is a reasonable number, and use 360Eyes identify reports with too many data providers.
- Decide how many report tabs is a reasonable number, and use 360Eyes to identify reports with too many report tabs.
- Use 360Eyes to locate unused objects and report variables, so they can be removed.
- Use 360Eyes to search for reports using “ForEach” and “ForAll” formula statements in report variables.
These are just a few examples of how 360Eyes metadata can be used to identify WEBI reports that fail to incorporate best practices. Improving the performance of Web Intelligence reports, old and new, lessons the burden on Business Objects administrators and enhances the experience for Business Objects end users by improving the performance of the Business Intelligence platform overall.