Ssas 半累加度量每个月的问题和快照,但不跨月

Ssas 半累加度量每个月的问题和快照,但不跨月,ssas,mdx,Ssas,Mdx,精通SQL,但不熟悉MDX,我很难理解这一点: 我有一个事实表,其中包含每月帐户余额的快照。我需要把余额作为一个半累加的度量进行汇总——显然,对于余额来说,直和是不起作用的。然而,我确实需要对每个月内的所有余额分别求和,将所有账户的余额相加,因此“lastnonempty”的概念对我也不起作用。例如,如果事实是这样的: Date AccountNo Balance 2009-01-31 1111 $100 2009-01-31 2222

精通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
如果我使用股票“LastNoneEmpty”聚合,我似乎只得到一个月的最后一个账户行,而不是上个月账户余额的总和。就好像这个月的总数只显示了该月一个随机账户的余额,而不是总数。(我确信这不是随机的,可能是根据存储订单或其他原因挑选的)


我确信我只是做了一些简单的、错误的事情…

我想我解决了这个问题:我的源数据中的余额非常稀疏-只有一行用于非零余额,当余额为零时,没有一行用于账户。这使得一切都变得一团糟(想象一下库存,你有零件计数,这些计数通常为零,但当它们为0时,事实表中的行就消失了)


我能够在数据源上创建一个视图,该视图将“添加回”所有额外的行,余额为零,然后ClosingPeriod()函数开始按预期工作。

我知道你在2年前发布了答案,但是,如果你能提供解决问题的实际源代码,而不仅仅是提供方法,那就太好了。我现在真的可以用它了,我相信你不知道你现在是怎么做到的。。。。