As an old-timer of CPM solutions and the OutlookSoft Product Manager for releases 2 thru 5, I have a strong opinion about the advantages of dynamic reporting. In this blog I will attempt to explain the importance of using dynamic templates in a clear and concise manner (no promises on clarity).
For those of you with no exposure to the SAP BPC 5.x solution I would like to define what I mean by dynamic reporting. Dynamic reporting goes beyond live reporting, most products can do live reporting. Dynamic reports allow the user to change their current view and update the data presented; again this is not uncommon with other products. What is not common is BPC’s ability to dynamically update the meta data (dimensions, application, application set) and master data (members and properties). This means zero maintenance of a report or query and the ability to use the same reports for different applications (cubes) within an application set or even in a different application set.
You may be wondering how this is achieved. The design of BPC allows each report to return the appropriate dimensionality (meta data) for the application (cube). In addition, all page, row and column master data are refreshed based on the user’s view. If the report is designed correctly, the row and column will expand based on the user’s view. Of course, the expansion returns only the master data authorized for the user.
So how do you design the report appropriately? The first tip is to avoid any hard coding of meta data or master data. Use the appropriate cell based formula to retrieve the current session data. Examples are:
evAST – retrieve the current application set ID note: evASD will retrieve the description
evAPP – retrieve the current application ID note: evAPD will retrieve the description
evDIM – retrieve the current dimension ID based on type, for example evDIM(“application ID”,”A’) will return the account type dimension for the current application
evCVW – retrieve the current member ID based on the dimension, for example evCVW(“application ID”,”Dimension ID”) note: evDES will retrieve the description
evPRO – retrieve the current property for the associated member ID (used for non-hierarchical expansion)
Confusing, well the good news is you have examples of dynamic reports (and input schedules) with your pre-defined application set available on install or provided by your service representative. If you open “Reporting & Analysis” from the action pane and select “Build a reporting using a dynamic template” you will find an assortment of dynamic reports to learn and use. As a side note, these reports and their icons can be customized for your application set. This customization provides you with the ability to have standard formats for your company.
There is one more component of creating a dynamic report. When should you use evDRE (dynamic range expansion) vs. an expansion with evGET/evGTS (cell level data)? What are the best practices? Well these questions are addressed in a document available at:
In another blog I will continue to discuss the reasons to partially or fully control the behavior of a dynamic report. Sounds like a contradiction to having a dynamic report but you will understand more after reading the next blog (which I haven’t written yet).
Here are some of the questions I will answer:
What if you want to control the navigation for a report?
How can you ensure the appropriate master data is always present?
What if you simply want to hardcode a dimension’s master data?