THE SQL Server Blog Spot on the Web
Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | Join | Help
in Search

SQLBI - Marco Russo

SQLBI is a blog dedicated to building Business Intelligence solutions with SQL Server

Excel 2007 PivotTable with calculated members

Today I had a big trouble with one customer.

We migrated an AS2000 solution to SSAS2005, making a lifting to dimensions just to consolidate into attributes what were indipendent dimensions in the old cube.

One of the old dimensions contained only one "dummy" member, and a series of calculated members. With Excel 2003, you had no troubles in selecting only the calculated members you wanted from those available. With Excel 2007, the user experience is bad.

First of all, you need to change PivotTable options to enable the display of calculated members (check PivotTable Tools / Options / Options / Display / Show calculated members from OLAP server). When you do that, you choose to get all calculated members available from a dimension/attribute. Now, if you have 100 calculated members into an attribute, chances are that you want to select only one or two of those members. Unfortunately, Excel 2007 shows you a list of disabled checkbox that cannot be used to select only the members you want.

I found only one workaround to this: use the "Convert to formulas" command into OLAP Tools menu and then delete all unwanted members.

I understand the reason for this behavior: Excel 2007 generates a MDX query using the AddCalculatedMembers function, that returns all calculated members.

However, I hope that this will be fixed in a future release and possibly with a Service Pack, because it's a breaking change (at least from the user point of view) from the previous version.


Published Wednesday, January 31, 2007 7:52 PM by Marco Russo (SQLBI)

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Reed Jacobson said:

Hi Marco,

Interesting post. It's particularly interesting that you can slice by a single calculated member, and that the Options "Show Calculated Members" applies only to non-Measure calculated members (calculated measures always appear). So I think you're correct that they would rather use AddCalculatedMembers than end up doing except filtering on calculated members tha may be ephemeral.

There is another workaround you may want to consider. You can create the "calculated" members explicitly in a dimension table. (Only one of the members in the table will "join" to the fact table.) Then in the MDX script you use a script assignment to put a calculation into the existing member rather than creating a calculated member dynamically. As far as Excel is concerned, it will be a real member. If you do this, you might want to make the dummy dimension a true separate dimension (rather than a separate hierarchy) to avoid Auto Exists behavior issues with the Time dimension key.

February 7, 2007 5:43 PM
 

Marco Russo (SQLBI) said:

Hi Reed,

this is exactly the solution I have thinked as a workaround, I hadn't time to implement it (other assignments in the middle) but I thought to create a real dimension "without relationship" to the fact table. This avoid the autoexists but still evaluates the MDX scripts. The only caveat is that you have to rebuild the cube if you change that dimension (not necessary if you only redeploy the MDX Script). It's not a problem in my actual case, but...

Thank you to confirm me this is going to be a working solution.

Marco

February 7, 2007 7:02 PM
 

SQLBI - Marco Russo said:

After many tries, today I came to the conclusion that Analysis Services 2005 SP2 breaks the Excel 2007

March 7, 2007 3:26 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Marco Russo (SQLBI)

Marco Russo is a consultant, writer and trainer specialized in Business Intelligence with Microsoft technologies. He runs the SQLBI.EU website, which is dedicated to distribute resources useful for BI developers, like Integration Services components, Analysis Services models, tools, technical information and so on. Marco is certified as MCT, MCDBA, MCSD.NET, MCSA, MCSE+I.

This Blog

Syndication

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement