Ssas 按引用日期列筛选度量值

Ssas 按引用日期列筛选度量值,ssas,mdx,Ssas,Mdx,在我的日期维度中,我有一个名为CompareToDatekey的属性,它显示了应该用于比较度量值的日期。当我筛选特定的主要日期时,如何构建一个计算出的度量值,该度量值将给出比较日期的度量值 我试图做的是创建一个CompareTime维度,它通过主时间维度具有引用关系 ([time dim].[CompareToDatekey]->[TimeDim CompareDate].[datekey]) 然后使用以下计算成员: WITH MEMBER [Measures].[CompareAmount]

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

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

WITH MEMBER [Measures].[CompareAmount]
AS 
(
    Sum(EXISTING [TimeDim CompareDate].[datekey].children
    ,[Measures].[Net Amount])
)  
但结果是由主要日期过滤的度量值,而不是比较日期

一些测试数据:

日期键|与日期键比较

20150109 | 20141219

20150110 | 20141220

datekey | NetAmount

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]
) 

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

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

这是我的测试号码:

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

将此属性显示为度量值:

最后,由StrToMember提供:

这是可行的,但我个人不喜欢这种动态操作

当然,这个解决方案不需要额外的维度,只需要一个属性。您的案例脚本如下所示:

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

你能给Date维度提供一些样本数据,包括两个属性(primary Date和compare to Date)和事实表,包括净额和primary Date键的值吗?我也尝试过实现它,但它也给我空值。我发现我在多维数据集中的日期维度之间建立了错误的关系(在维度使用中)。你会怎么做?你能定义“错误的关系”吗?它到底出了什么问题?您是否尝试过故障排除?逻辑中存在问题,因为我希望引用维度由中间维度过滤,这与可以执行的操作相反:(如果你必须实现我在问题中解释的要求,你会建立一些关系吗?如果你这样做了,那会是什么?你的意思是
ComparedToDatekey
Datekey
没有正确的映射?在
TimeDim CompareDate
后面是否有一个源表或一个命名查询?ComparedToDatekey和Datekey是col一个表的umns,我已经从这个表中创建了维度。没有命名查询。要添加属性,我添加了一个刚性属性关系,或者有什么不同?是的,如果没有计划更改此属性,则为刚性属性。但是如果由于某些业务逻辑而计划更改,则最好使用柔性属性。性能降级没有必要高完全重新处理维度和多维数据集(-s)的可能性。我在多个日期成员中求和此成员,遇到本文中描述的问题。是否有方法在计算成员的定义上指定范围?我不希望在行上显示日期,以便正确计算范围。