按参考日期列过滤测量

Filter Measure by reference date column

在我的日期维度中,我有一个名为 CompareToDatekey 的属性,它显示了应用于随时间比较度量的日期。当我过滤特定的主要日期时,如何构建一个计算度量值来给出比较日期的度量值?

我试图做的是制作一个 CompareTime 维度,它通过主要时间维度具有引用关系 ([time dim].[CompareToDatekey] -> [TimeDim CompareDate].[datekey]) 然后使用以下计算成员:

WITH MEMBER [Measures].[CompareAmount]
AS 
(
    Sum(EXISTING [TimeDim CompareDate].[datekey].children
    ,[Measures].[Net Amount])
)  

但结果是按主要日期而不是比较日期筛选的度量。

一些测试数据:

日期键 | ComparedToDatekey

20150109 | 20141219

20150110 | 20141220

日期键 |净额

20141219 | 1716648.85

20150110 | 2266777.12

20141220 | 2378598.98

20150109 | 1588123.89

我想要一个计算成员,当我过滤 20150109:20150110

时,它给出 20141219:20141220 上的净额总和

这个怎么样:

WITH MEMBER [Measures].[CompareAmount]
AS 
(
    SUM(
    EXISTS([TimeDim CompareDate].ComparedToDatekey.children, 
           EXISTING [TimeDim CompareDate].[datekey].children)
    ,[Measures].[Net Amount]
) 

不幸的是,它不是 link 维度的选项,因为过滤其中一个并不意味着过滤另一个。它们的连接仅用于映射,但不用于切片。

我只看到无聊的 StrToMember 解决方案:

这是我的测试号码:

将属性添加到日期维度的最低级别:

将此 属性 显示为度量:

最后,由 StrToMember 报道:

可以,但我个人不喜欢这种动态操作。

没问题,这个解决方案不需要额外的维度,只需要 属性。你的案例脚本是这样的:

with member [Measures].[CompareAmount]
as (StrToMember("[time dim].[datekey].&["
+[time dim].[datekey].Properties("Compare Date")
+"]"),[Measures].[Amount])