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],
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].&) OR ([Ad Unit].[Ad Unit].CurrentMember.PARENT IS [Ad Unit].[Ad Unit].[Ad Unit Type].&),
DIVIDE([Measures].[Gross Revenue], [Measures].[OffersServed])*1000,