累计金额(累进总额)

时间:2011-12-04 10:51:12

标签: sql-server ssas olap

我有一个维度为CreatedOn(时间类型)且度量为IssueOpened的多维数据集。我需要获得IssueOpened的累计金额。

例如:

2009  IssueOpened=7   OpenedOnTheEndOfPeriod=7
2010  IssueOpened=12  OpenedOnTheEndOfPeriod=19
2011  IssueOpened=2   OpenedOnTheEndOfPeriod=21

所以,我创建了计算成员:

sum([CreatedOn].[Y-Q-M].currentmember.level.members(0):[CreatedOn].[Y-Q-M].currentmember.prevmember, Measures.[IssueOpened])

enter image description here

但它看起来不像我想要的那样工作。维度开始:

enter image description here

在维度的最后看起来像是一个真相:

enter image description here

可能是Time维度第一个成员的错误?我需要修复什么来获得所需的结果?

1 个答案:

答案 0 :(得分:1)

你有没有看过http://www.ssas-info.com/analysis-services-articles/62-design/367-inventory-management-calculations-in-sql-server-analysis-services-2005-by-richard-tkachuk。如果你想尝试像你一样的事情,这是必读的。

要计算一个总计,你应该使用这样一个成员:

set Q as Nonempty( Order( [CreatedOn].[Y-Q-M].Members,[Measures].[IssueOpened], ASC ) 
                         ,[Measures].[IssueOpened] )

Member [Measures].[RunningTotal] as Sum(
    Head( Q, ( [Measures].[Level], [CreatedOn].[Y-Q-M].CurrentMember ) )
   ,[Measures].[IssueOpened] )