Skip to Content
Author's profile photo Former Member

Conversation regarding the importance of Dynamic Reporting (Part I)

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?

Stay tuned

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      This looks to be a great feature within BPC, and brings home the point that BPC product is a business(finance) user owned and managed product. Welcome to the world of blogging at sdn
      Author's profile photo Former Member
      Former Member
      I like this blog, well done...
      Author's profile photo Maggie Liu
      Maggie Liu
      It's a good blogs.

      But I still have a question:
      you said can mix different functions to create custom expands(Evexp, evnxp, and evdre). Can you give me a detailed example how to archieve it?

      F.g, I want to use EVDRE to retrieve data, but use EVEXP as the filter for expansion. Because EVEXP can use Data as filter, I need this function to filter the data accouring the inputing criteria.

      Thanks a lot

      Author's profile photo Former Member
      Former Member
      You cannot embed an evEXP function within an evDRE.  My reference in this blog is related to having different functions in the same report.  The expansion filters in evDRE are similar to evEXP.
      I assume when you state that evEXP can use data, that you are referring to the properties of a dimension member.  This can be achieved by using the filter builder in evDRE.
      When you place your cursor in the Expansion member set cell, right click to activate the menu and select evDRE: build a filter.  Here you can define one or more filters to expand your row/column members.
      I hope this answers your question.