Ssas 半累加度量每个月的问题和快照,但不跨月
精通SQL,但不熟悉MDX,我很难理解这一点: 我有一个事实表,其中包含每月帐户余额的快照。我需要把余额作为一个半累加的度量进行汇总——显然,对于余额来说,直和是不起作用的。然而,我确实需要对每个月内的所有余额分别求和,将所有账户的余额相加,因此“lastnonempty”的概念对我也不起作用。例如,如果事实是这样的:Ssas 半累加度量每个月的问题和快照,但不跨月,ssas,mdx,Ssas,Mdx,精通SQL,但不熟悉MDX,我很难理解这一点: 我有一个事实表,其中包含每月帐户余额的快照。我需要把余额作为一个半累加的度量进行汇总——显然,对于余额来说,直和是不起作用的。然而,我确实需要对每个月内的所有余额分别求和,将所有账户的余额相加,因此“lastnonempty”的概念对我也不起作用。例如,如果事实是这样的: Date AccountNo Balance 2009-01-31 1111 $100 2009-01-31 2222
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
如果我使用股票“LastNoneEmpty”聚合,我似乎只得到一个月的最后一个账户行,而不是上个月账户余额的总和。就好像这个月的总数只显示了该月一个随机账户的余额,而不是总数。(我确信这不是随机的,可能是根据存储订单或其他原因挑选的)
我确信我只是做了一些简单的、错误的事情…我想我解决了这个问题:我的源数据中的余额非常稀疏-只有一行用于非零余额,当余额为零时,没有一行用于账户。这使得一切都变得一团糟(想象一下库存,你有零件计数,这些计数通常为零,但当它们为0时,事实表中的行就消失了)
我能够在数据源上创建一个视图,该视图将“添加回”所有额外的行,余额为零,然后ClosingPeriod()函数开始按预期工作。我知道你在2年前发布了答案,但是,如果你能提供解决问题的实际源代码,而不仅仅是提供方法,那就太好了。我现在真的可以用它了,我相信你不知道你现在是怎么做到的。。。。