williamweber.net
  • Home
  • About
Follow

Posts tagged MDX

Named Set Sub-totals in Excel using VisualTotals()

Feb22
2012
Leave a Comment Written by Will

This is just a quick tip for fixing the default Analysis Services (SSAS) named set sub-total behavior in Excel 2010. Normally when you select a named set for the rows or columns of a pivot table you don’t get a sub-total. Which, for me, removes a lot of the usefulness of the named set. Thankfully it’s a relatively easy fix. It just takes a little additional MDX in your named set definition.

Enter: VisualTotals() (msdn function reference)

The VisualTotals() function dynamically totals child members in a set. By adding the “All” member for whatever hierarchy you’re building your set from and wrapping the whole set in the VisualTotals() function you can get Excel to treat the named set just like any other group/hierarchy when it comes to sub-totals.

Typically if you created a set like this one (all examples from Adventure Works):

WITH SET [Amasia] AS
{
	[Geography].[Country].&[United States]
	,[Geography].[Country].&[Canada]
	,[Geography].[Country].&[Australia]
}

You’d see something like this:

no sub-totals

If instead you create your set like so:

WITH SET [Amasia] AS
VisualTotals(
	{
		[Geography].[Country].[All Geographies]
		,[Geography].[Country].&[United States]
		,[Geography].[Country].&[Canada]
		,[Geography].[Country].&[Australia]
	}
)

You’ll get a nice little sub-total at the bottom.

Yey! sub-totals

One thing to note is that you need to put the “All” member at the beginning of your VisualTotals set. Otherwise it won’t be correctly filtered by the children that follow and you’ll end up with a sub-total that is actually the full, unfiltered total of the “All” member.

  • Share this:
Posted in BI - Tagged BI, Scripts, SSAS

MDX: Scope Statement For All Measures in Multiple Measure Groups

Dec06
2011
Leave a Comment Written by Will

This was irritating me today so I thought I would share. If you need to write a scope statement that will include all the measures in multiple measure groups; perhaps you’re implementing some Time Intelligence calculations and you want to have any new measures dynamically included, then the statement looks a little something like this:

SCOPE({MeasureGroupMeasures("Internet Sales"), MeasureGroupMeasures("Reseller Sales")});

I forgot the {} the first time around and was super confused by an error message when I attempted to deploy the MDX calculation to the cube that said that said “The END SCOPE statement does not match the opening SCOPE statement.” Because my SCOPE and END SCOPE statements looked just fine to me.

  • Share this:
Posted in BI, Scripts - Tagged Analysis Services, Scripts, SSAS

Recent Posts

  • Thoughts on Killzone 3 Multiplayer Going Free-to-Play (or is it Free-to-Pay?)
  • A Game Funding Revolution
  • Named Set Sub-totals in Excel using VisualTotals()
  • New Camera Please. – Mirrorless ILC Goodness
  • Formatting Map Legends in SQL Server 2008 R2 Reporting Services

From Twitter:

  • I thought we were past the whole "justify Apple, vilify Microsoft for the same thing" thing these days. http://t.co/u6jG58uB 5 days ago
  • Benjamin Franklin was awesome. Oh and something about Assassin's Creed 3, but who cares. http://t.co/nsEeye01 2 weeks ago
  • Ever spent an hour figuring out how to add a column of data to your warehouse only to find that it was already there? Consistent naming FTW. 2 weeks ago
  • More updates...

Posting tweet...

Powered by Twitter Tools

Categories

  • BI
  • Gaming
  • Opinion
  • Photography
  • Reporting
  • Scripts
  • Social Games
  • SQL Server
  • XNA

Archives

  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • October 2011
  • September 2011
  • April 2011
  • January 2011
  • December 2009
  • July 2009
  • April 2009
  1. We welcome any feedback, questions or comments

EvoLve theme by Theme4Press  •  Powered by WordPress williamweber.net