SSAS期初余额

时间:2012-01-06 16:14:54

标签: ssas mdx

我正在SSAS中构建一个使用库存移动数据来显示商品活动的多维数据集。这里可以看到这些数据的样本(希望这是可读的)。

日期=客户=项目=接收数量=发货数量=运动

1/1/2000 = Cust123 = Item123 = 100 = 0 = 100

11/5/2011 = Cust123 = Item123 = 10 = 0 = 10

11/6/2011 = Cust123 = Item123 = 0 = -5 = -5

11/7/2011 = Cust123 = Item123 = 1 = 0 = 1

目标是在多维数据集中包含期初余额。给定日期的期初余额定义为当前日期之前所有日期的给定客户和项目(我的事实表包含许多不同的客户和项目)的所有移动(来自移动字段)的总和。

因此,在样本数据中,11/6/2011日期的期初余额将是客户和项目匹配的所有运动(来自运动字段)的总和,且日期小于11 / 6/2011。在我的样本数据中,这将一直回到1/1/2000。

MDX有没有办法帮助我在我的立方体中实现这一目标?我对SSAS比较陌生,但我相信我应该有一种方法可以在计算选项卡中包含一些MDX吗?任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:4)

快速肮脏的方式是:

sum({null:[Date].[Date Hierarchy].CurrentMember.Lag(1)}, [Measures].[Movement])

这假设了一些事情:

  1. CurrentMember的{​​{1}}将处于日期级别。
  2. 您的数据集并不是很大,以至于可以很快地完成这笔款项。
  3. 如果你有一个更大的数据集并且这对你来说很慢,那么你要做的就是首先总结前几个月(或几年,取决于你的分区级别),然后做本月的几天在它之上。

答案 1 :(得分:1)

我会考虑捕获基础表中的运行值。计算现有的一切不应该太多,新数据将是轻而易举的。

然后您可以使用LastNonEmpty措施(如果您有企业版),它应该是任何地方任何余额的即时响应。