精通 SQL,但对 MDX 不熟悉,我很难理解这一点:
我有一个包含每月帐户余额快照的事实表。我需要将余额汇总为半加法度量 - 显然,对于余额,直接总和不起作用。但是,我确实需要通过将所有帐户的余额相加来分别汇总每个月内的所有余额,因此“lastnonempty”概念也不适用于我。例如,如果事实如下所示:
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.
我有一个帐户维度,将帐户分组为主要类别/次要类别/帐户层次结构,我需要这样的输出来汇总所有帐户每个月的余额:
Month Total
January 09 $400
February 09 $850
并按帐户类型细分:
Month Total
January 09 $400
Type 1 $200
1111 $100
2222 $100
Type 2 $200
February 09 $850
Type 1 $300
Type 2 $550
但是,余额不应该跨月、季度或年相加,因为这没有意义,而且它们会被计算两次。任何更长的时间间隔都应显示周期结束:
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
如果我使用股票“lastnonempty”聚合,我似乎只得到一个月的最后一个账户行,而不是上个月账户余额的总和。就好像当月的总数仅显示从该月存在的一个随机帐户中提取的余额,而不是总数。(我敢肯定它不是真的随机,可能是根据存储顺序或其他东西选择一个)
我确定我只是在做一些简单的错误...