Discrepancy in datasets derived from Dimension and Cube

Posted on 2009-07-14
Last Modified: 2013-11-26
I am using Visual Studio 2008 Analysis Services and processing the AdventureWorks database to create and process a cube.   When I click on the dropdown menu for the field, I see all the fields listed, and if I choose "Show Empty Cells", I see all of the members showing up.  The peculiar thing is that every customer has at least one purchase, but many are showing up as "empty" for the given member, i.e., has no Internet Sales figure attached to that name.  These so-called "empty" members do show sales values when I independently verify the results by running a view against the table.  The members for which I do show values are almost always correct, which means that the application is selectively excluding customers from showing up as having purchases, but accurately returning calculations for the customers it finds.  

I find the entire situation quite mysterious, and your help in this matter is greatly appreciated.

Thank you, ~Peter Ferber

Question by:PeterFrb
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
LVL 15

Accepted Solution

rob_farley earned 500 total points
ID: 24855462
It seems to me that you may be finding records that don't have any measures in any of the measure groups - so as far as the cube is concerned, they are records that will always be empty.

If you run Profiler to see what MDX query BIDS is running, you'll probably see a NON_EMPTY in there.


Author Comment

ID: 24856482
Many thanks, Rob.  The Profiler sounds like the tool that I need but have never used, although I did run an instance of it.  Perhaps the best thing would be a video demonstration of its use.  Does anyone know of such a thing?  

Best, ~Peter
LVL 15

Expert Comment

ID: 24856772
Hmm... try a bing search for it.

But it's quite easy really.

Run Profiler, make a new trace. Connection to Analysis Services, and look at the events. There should stuff about Queries in there. Click All Columns and quickly look to see what's in there.

Then hit Run, and see what comes up. Run your query in the Cube Browser, and see what appears in Profiler.

Then grab the queries and run them in Management Studio (connected to Analysis Services again).

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.


Author Comment

ID: 24860888
Well, this is just fascinating.  I see the MDX query that I created when I populated the crosstab.  I then ran the SQL Server Management Studio for Analysis Services and, for the first time, saw the cubes I've been developing in Visual Studio.  You've really helped me to put a number of pieces together were mysterious, and I thank you for this.  I have one final question: can you actually run a query from the Analysis Services side of Management Studio (I didn't see a way to do this), or can the query be run from the Database Engine?  
Thank you for expanding my horizons.  ~Peter

Author Closing Comment

ID: 31603427
Thanks for the great info!  I still have a lot to learn, but you've clearly pointed in the right direction.  ~Peter

Author Comment

ID: 24861006
I just figured out how to create an MDX query.  Well done, and thanks.
LVL 15

Expert Comment

ID: 24865738
:) You've already answered your own question I see. Terrific!

Now go and buy MDX Solutions by George Spofford (and others), to learn how to write better MDX.


Author Comment

ID: 24866386
Good stuff!  A friend actually loaned me that very book, and I've started reviewing it.  

Best, ~Peter Ferber

Featured Post

MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
In this brief tutorial Pawel from AdRem Software explains how you can quickly find out which services are running on your network, or what are the IP addresses of servers responsible for each service. Software used is freeware NetCrunch Tools (https…

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question