我是MDX的新手(我的背景是T-SQL)。我有一个事实表/立方体基本上有2列
[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”是我的日期维度中“未定义”值的外键。这意味着记录尚未完成,因此,它必须在开始日期之后的每个月出现。
我怎样才能做到这一点?我只是找不到任何参考。或者我只是不知道该寻找什么(可能是真的)。
答案 0 :(得分:1)
不要回避回答您的问题,但这不是用于填充多维数据集的事实表的好设计。您想要创建一个星型模式,因此更好的设计将是这样的:
PersonId Month Count
其中PersonId是People表的外键, Month是DateTime,它是Time维表的外键, 计数是1或0,取决于该人是否应该在该月计算。
要从您拥有的表中获得所需的结果,最好使用直接SQL。这不是Cubes和MDX要处理的事情。