Ssas 使用2个日期维度统计MDX中的记录

Ssas 使用2个日期维度统计MDX中的记录,ssas,mdx,Ssas,Mdx,我对MDX一无所知(我的背景是T-SQL)。我有一个事实表/多维数据集,基本上有两列 [Start Date], [Finish Date] 20140101, -1 20140101, 20140401 20140301, 20140501 ... 我有一个简单的方法,根据这些列计算记录 计算某个日期开始(或完成)的人数是一项简单的任务,但我想知道一段时间内的累计总数 看看上面的例子: Month/Year, Started, Finished, CumulativeTotal 0

我对MDX一无所知(我的背景是T-SQL)。我有一个事实表/多维数据集,基本上有两列

[Start Date], [Finish Date]

20140101, -1

20140101, 20140401

20140301, 20140501

...
我有一个简单的方法,根据这些列计算记录

计算某个日期开始(或完成)的人数是一项简单的任务,但我想知道一段时间内的累计总数

看看上面的例子:

Month/Year, Started, Finished, CumulativeTotal

01/2014, 2, 0, 2

02/2014, 0, 0, 2

03/2014, 1, 0, 3

04/2014, 0, 1, 2

05/2014, 0, 1, 1
“-1”是“我的日期”维度中“未定义”值的外键。这意味着记录尚未完成,因此,它必须在开始日期后的每个月出现


我怎样才能做到这一点?我就是找不到它的任何参考资料。或者我只是不知道该寻找什么(可能是真的)。

不是为了避免回答您的问题,但对于用于填充多维数据集的事实表来说,这不是一个好的设计。您希望创建一个星型架构,因此更好的设计应该是这样的:

PersonId  Month  Count
其中PersonId是人员表的外键, Month是一个DateTime,它是时间维度表的外键, 计数为1或0,取决于该人员是否应在该月计数

要从现有的表中获得所需的结果,最好使用直接SQL。这不是Cubes和MDX要处理的事情