## How do you filter a calculation by an existing hierarchy?

 Author Message jason.freier SSC Rookie Group: General Forum Members Points: 36 Visits: 168 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 productdivide x by y only if product.category = 2then roll this up to an aggregateThe 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 sneumersky SSCrazy Group: General Forum Members Points: 2496 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"? jason.freier SSC Rookie Group: General Forum Members Points: 36 Visits: 168 Haha yeah, sorry about that...ugh. The pseudo is not strong in this one. sneumersky SSCrazy Group: General Forum Members Points: 2496 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 :-) jason.freier SSC Rookie Group: General Forum Members Points: 36 Visits: 168 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 jason.freier SSC Rookie Group: General Forum Members Points: 36 Visits: 168 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)`