仓库结构:如何在MDX查询中将MEDIAN函数用于其他层次结构?
FactSales:...,DateKey,RefernceId,SalesAmount两个,.....
DateKey - 日期维键, ReferenceId - 售标识, SalesAmount - 每次销售的销售金额(不是一天)。
例如在两天里共有6个销售。所以在仓库中,事实表将是6行。
DateKey ReferenceID SalesAmount两个
2015-04-09 - 001 - 9
2015-04-09 - 002 - 10
2015-04-09 - 003 - 11
2015-04-10 - 004 - 12
2015- 04-10 - 005 - 13
2015年4月10日 - 006 - 14
DimDate: DateKey, 年, 季度, 月, 日期, ......
我有SSAS多维立方体,我想查询图表的数据。图表X轴将为Date,Y轴将为SalesAmount。
好吧,我必须显示2天的中位数。如果我们在几天内造粒,这不是问题:
MEMBER [Measures].[2d median] AS
(
MEDIAN(
[Date].[Date].CurrentMember.Lag(2) :
[Date].[Date].CurrentMember.Lag(1),
[Measures].[SalesAmount])
)
在这种情况下,MDX取两个合计值并计算meadian。 但是如何通过RefenceId(每次销售)来粒化数据?
在这种情况下,MDX必须取每个销售值(2015-04-09 - 2015-04-10将为6个值)。
我不知道如何将Date维连接到ReferenceId维。 我应该使用其他属性创建新的层次结构吗?
像这样:ReferenceId - > Date - > Month - > Quarter - > Year。
您是否有参考ID的维度?另外,为了确认我的理解,您需要为每个ReferenceID独立地查找两天的中位数? – BICube
是的,我有ReferenceID维度。而且,是的,我需要为每个参考ID找到两天的中位数。 – Oblomingo