Proficient with SQL but new to MDX, I am having trouble getting my head around this:
I have a fact table that contains snapshots of account balances monthly. I need to roll up the balances as a semi-additive measure - straight sum doesn't work, obviously, for balances. However, I DO need to sum all the balances within EACH month, separately, by adding together the balances for all accounts, and so the "lastnonempty" notion isn't working for me either. Example, if the facts look like this:
Date AccountNo Balance
2009-01-31 1111 $100
2009-01-31 2222 $100
2009-01-31 4444 $100
2009-01-31 5555 $100
2009-02-28 1111 $100
2009-02-28 2222 $200
2009-02-28 3333 $500
2009-02-28 5555 $50
etc.
And I have an account dimension that groups accounts into a major category / minor category / account hierarchy, I need output like this that sums the balances for each month across all accounts:
Month Total
January 09 $400
February 09 $850
And by broken out by account type:
Month Total
January 09 $400
Type 1 $200
1111 $100
2222 $100
Type 2 $200
February 09 $850
Type 1 $300
Type 2 $550
BUT, the balances should NOT sum across months, quarters or years, because it makes no sense, and they'd be counted twice. Any longer time interval should show the close of period:
Quarter WRONG Correct
Q1 $1250 $850 // should be the sum of balances for the *last* month in Q1
Type 1 $500 $300
Type 2 $759 $550
If I use the stock "lastnonempty" aggregation, I seem to get only the one, literal last account row for a month, not the sum of the account balances for the last month. It's as if the total for the month is showing just the balance taken from one random account present in that month, and not the total. (I'm sure it's not really random, probably is picking one based on storage order or something)
I'm sure I am just doing something simple, wrong...