我正在尝试创建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] )
答案 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]