在我的日期维度中,我有一个名为CompareToDatekey的属性,它显示了应该用于比较度量随时间变化的日期。当我过滤特定主日期时,如何构建一个计算度量来给出比较日期的度量值?
我尝试做的是创建一个CompareTime维度,该维度通过主要时间维度具有引用关系 ([timeDim]。[CompareToDatekey] - > [TimeDim CompareDate]。[datekey]) 然后使用以下计算成员:
WITH MEMBER [Measures].[CompareAmount]
AS
(
Sum(EXISTING [TimeDim CompareDate].[datekey].children
,[Measures].[Net Amount])
)
但结果是按主要日期过滤的度量而不是比较日期。
一些测试数据:
datekey | ComparedToDatekey
20150109 | 20141219
20150110 | 20141220
datekey | NetAmount
20141219 | 1716648.85
20150110 | 2266777.12
20141220 | 2378598.98
20150109 | 1588123.89
我想要一个计算成员,当我过滤20150109:20150110时,会给出20141219:20141220的净额总和
答案 0 :(得分:2)
不幸的是,它不是链接维度的选项,因为过滤其中一个并不意味着过滤另一个维度。它们的连接仅用于映射,但不能用于切片切割。
我只看到无聊的StrToMember解决方案:
这是我的测试号码:
将属性添加到Date维度的最低级别:
将此属性显示为度量:
最后,由StrToMember报道:
它有效,但我个人不喜欢这种动态的操作。
当然,这个解决方案并不需要额外的维度,只需要一个属性。您的案例脚本是这样的:
with member [Measures].[CompareAmount]
as (StrToMember("[time dim].[datekey].&["
+[time dim].[datekey].Properties("Compare Date")
+"]"),[Measures].[Amount])
答案 1 :(得分:0)
这个怎么样:
WITH MEMBER [Measures].[CompareAmount]
AS
(
SUM(
EXISTS([TimeDim CompareDate].ComparedToDatekey.children,
EXISTING [TimeDim CompareDate].[datekey].children)
,[Measures].[Net Amount]
)