MDX将财务PriorMTD日期作为值返回

时间:2014-10-01 11:47:17

标签: attributes mdx dimension

我正在尝试创建MDX计算成员,该成员返回先前的mtd日期。

这是我创建的计算成员:

CREATE MEMBER CURRENTCUBE.[Measures].PriorMTDDate
 AS cousin(
            [Date].[Fiscal].CurrentMember,
            [Date].[Fiscal].CurrentMember.parent.parent.lag(1)
        ), 
VISIBLE = 1  ;   

这是查询,但它只返回null:

select {[Measures].[PriorMTDDate]} on 0
from [WH_Cube]
WHERE ( [Date].[Fiscal].[Date].&[2014-09-12T00:00:00] )

知道我做错了什么吗?

编辑:另一个返回null的示例:

WITH MEMBER Measures.x AS  
    [Date].[Fiscal].CurrentMember 
SELECT Measures.x ON 0
FROM [WH_Cube]
WHERE ( [Date].[Fiscal].[Date].&[2014-09-30T00:00:00] )

2 个答案:

答案 0 :(得分:1)

度量是否需要是数值?:

CREATE MEMBER CURRENTCUBE.[Measures].PriorMTDDate
 AS cousin(
            [Date].[Fiscal].CurrentMember,
            [Date].[Fiscal].CurrentMember.parent.parent.lag(1)
        ).MemberValue , 
VISIBLE = 1  ;  

答案 1 :(得分:0)

.CurrentMember在行级别进行评估,不会查看切片器。切片器是多维数据集的全局限制,为查询提供子多维数据集域。

在您的查询中,[日期]。[财政] .CurrentMember未定义,因为Rows子句中没有任何内容。

尝试

select {[Measures].[PriorMTDDate]} on 0,
[Date].[Fiscal].[Date].&[2014-09-12T00:00:00] on 1
from [WH_Cube]