我是新手,SSAS
更是如此,MDX
我需要您在以下情况下的帮助。
在我的多维数据集中,有一个名为 WIP Hours(Work In Progress Hours)的度量。该度量来自称为 WIP 的度量组,它基于事实表,即 facWIP。
facWIP 表从源表中获取其数据。每次用户向前端系统输入 WIP 条目时,该条目都会存储在此表中。但是,用户并不总是每天都输入一个条目。
例如,有一个条目16 Aug 2013 and the WIP value = 47
。下一个条目是 on26 Aug 2013 of WIP = 42
源表中没有 2013 年 8 月 17 日至 8 月 25 日的条目,因此在事实表中也是如此。
这反映在我构建的立方体中。要求是,如果没有特定日期的条目,则需要使用/显示最后一个可用的数字。所以在这种情况下,在多维数据集中应该有 8 月 17 日至 25 日的条目,WIP = 47,等等。
如果可能的话,我不知道该怎么做。我尝试使用以下 MDX
CREATE MEMBER CURRENTCUBE.[Measures].[WIP Hours_2]
AS
(TAIL(NONEMPTY(DESCENDANTS([Calendar].[Calendar].CURRENTMEMBER,[Calendar].[Calendar].[Calendar Date]), [Measures].[WIP Hours]),1).ITEM(0), [Measures].[WIP Hours]),
//NON_EMPTY_BEHAVIOR = { [Measures].[WIP Hours] },
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'WIP' ;
但它没有做我想要的。
2013 年 9 月 8 日更新:
我也在尝试另一种替代方法,即将表与日历表交叉连接,以便每个任务 WIP 组合每天都有条目。对于实际上没有实际 WIP 值的条目,它将是 WIP = NULL。这种方法的缺点是事实表变得更大和更长的 ETL 过程,从 1.5M 到 ~17M 记录!
我正在考虑这样做,不知何故在使用 MDX 计算的多维数据集度量中,我可以说:“如果当前日期的 WIP 为 NULL,则获取/使用最后一个非 NULL WIP 值”我该怎么写MDX中的这个逻辑,如果它有意义吗?
此外,目前,在多维数据集中,实际 WIP = NULL 的日期条目,其 WIP 显示 = 0..
非常感谢任何帮助。
谢谢!