Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12

How do you filter a calculation by an existing hierarchy? Expand / Collapse
Author
Message
Posted Friday, March 21, 2014 10:10 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, November 10, 2014 11:11 AM
Points: 16, Visits: 146
Yeah, not quite there yet. A large part of it is that I am pretty new to MDX.

Pseudo code would be:

for every member of product
divide x by y
only if product.category = 2
then roll this up to an aggregate

The aggregate needs to be able to be sliced from the top of the dimension down to the different hierarchies in the dimension.
I know it's not much, but that's the best way I can describe it
Post #1553733
Posted Monday, March 24, 2014 7:54 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Monday, July 28, 2014 7:12 PM
Points: 2,148, Visits: 487
RE: sliced from the top of the dimension down to the different hierarchies

Do you mean "only roll up (x/y) from the leaf level of product if its ancestor is Product Category 2"?
Post #1554031
Posted Monday, March 24, 2014 7:59 AM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, November 10, 2014 11:11 AM
Points: 16, Visits: 146
Haha yeah, sorry about that...ugh. The pseudo is not strong in this one.
Post #1554032
Posted Monday, March 24, 2014 8:07 AM
SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Monday, July 28, 2014 7:12 PM
Points: 2,148, Visits: 487
NP.....

Does this calculated measure, after applying the division, rollup up along all other "non-product dimensions" in your cube by summing (x/y)?

If you don't hear from me the rest of the day, it is because my wife is going into labor with our first child
Post #1554037
Posted Tuesday, March 25, 2014 9:19 AM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, November 10, 2014 11:11 AM
Points: 16, Visits: 146
Hmm I don't think so. The division is there to properly calculate our forecast actuals and needs to be applied across the board. I had attempted to do this by doing that calculation at the leaf level, and then doing the sum at the top to aggregate it.
The filter portion is so that we are only performing this calculation when it is of a specific type.

And congratulations! I hope all is well :)
Post #1554537
Posted Monday, August 11, 2014 1:41 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Monday, November 10, 2014 11:11 AM
Points: 16, Visits: 146
Unfortunately I still have not gotten this entirely figured out...
I have a little more understanding of how MDX is working, but obviously still not even an intermediate in it.

The problem is only calculating if the member is part of a specific hierarchy.
I have it so that it does that portion at the member level, and at when it subtotals, but run into issues with the following:

1. If a member exists with no value for both of the items being calculated, it works fine if the dimension is added to the pivot table itself.
If it is moved up to the report filter, it then does not show the subtotal value.

2. I cannot get the Grand Total to add up correctly as it just performs the division with the totals from the grand total row or the All member of the hierarchy.

The dimension in question is basically just a category, with a hierarchy built into it with similar naming that consists of two branches, legacy and rich.
I'm trying to only do the calculations when the member being calculated is in the rich category, and have the appropriate subtotal and grand total.
When putting the unit category into the report filter, it stops working if there are any values that have both measures as null.

I'm thinking I need to use nonempty() to resolve this, but am really struggling with this.

The current MDX that I have on one of the calculated measures looks as follows (and it does work when this dimension is in the pivot table body - I set the All member to null because it was frustrating LOL):

WITH Member [Measures].[TestCase2] as 
IIF([Ad Unit].[Ad Unit].CurrentMember IS [Ad Unit].[Ad Unit].[All],
null,
DIVIDE([Measures].[Gross Revenue], [Measures].[OffersServed])*1000
)

This current version doesn't even have the filter in, because the other unit type currently never displays offers served. Eventually that will change, so I had previously been doing a check to see if:

IIF( ([Ad Unit].[Ad Unit].CurrentMember IS [Ad Unit].[Ad Unit].[Ad Unit Type].&[2]) OR ([Ad Unit].[Ad Unit].CurrentMember.PARENT IS [Ad Unit].[Ad Unit].[Ad Unit Type].&[2]),
DIVIDE([Measures].[Gross Revenue], [Measures].[OffersServed])*1000,
null
)


Post #1602038
« Prev Topic | Next Topic »

Add to briefcase ««12

Permissions Expand / Collapse