Caching and optimizing performance


I am using the following calculation to calculate a new member called ‘All Manager Groups’. The reason is that there are some other groups that show up if I select the default member such as (none) along with few others.

[Assignee Group].[Group].Members),
[Assignee Group].CurrentMember.Name MATCHES ‘^Group.*’

Is there a way to speed up the calculation as it takes a decent amount of time to expand ‘All Manager Groups’ for the first time? Since it is a calculated member, can this calculation be done and saved so that it is not performed after the report is loaded? Does moving Cache function outside from inside as in current implementation the calculation help? Is there any other way it can become faster?


Hi @dhruvdhingra1,

The Cache() function might not help much here as it caches the result for the particular report context and execution. It depends on how you use the calculated member in the report. Read more about this function here - Cache.

How many groups do you want to include, and how many do you want to exclude? I am asking because the regular expression matching with MATCHES could be the reason for the slow performance. The calculated member would work faster if you addressed the members directly, as shown in the Aggregate() function example here - Aggregate. Another option is excluding specific members with the Except() function. Please see more details here - Except.

You can export and share the definition of the report to the eazyBI support email - Export and import report definitions. Depending on the report, there might be other options to display values for specific groups only.

Roberts //

Hi Roberts,

Thanks for sharing your thoughts. I have sent the report definition on the support email that you have shared. Looking forward to your response.