将MEMBER_CAPTION应用于ClosingPeriod的返回值

时间:2013-07-18 09:10:43

标签: ssas mdx

以下没有错误,或者bug,只返回一个空白的结果集。

我意识到我可以使用其他功能,但为了实验,我想坚持使用ClosingPeriod

为什么会留空? 我如何修改它以便昨天返回?

WITH MEMBER [Date].[Date - Calendar Month].[member_caption] AS
    ClosingPeriod(
        [Date].[Date - Calendar Month].[Calendar Day]
        ).MEMBER_CAPTION
SELECT 
    NON EMPTY 
        [Date].[Date - Calendar Month].[member_caption]
    ON COLUMNS
FROM [OurCube] 

修改

ClosingPeriod函数的MSDN文档 is here 并声明:

  

•如果指定了级别表达式,则ClosingPeriod函数使用   包含指定级别的维度并返回最后一个维度   在指定的默认成员的后代之间的兄弟   水平。

     

•如果同时指定了级别表达式和成员表达式,   ClosingPeriod函数返回其中的最后一个兄弟   指定级别的指定成员的后代。

1 个答案:

答案 0 :(得分:2)

我想这是因为[日期]的默认成员。[日期 - 日历月]不在[日历日]级别;所以这相当于:

ClosingPeriod( [Date].[Date - Calendar Month].[Calendar Day], null )

obsviously null没有后代,ClosingPeriod不返回任何内容。也许你想要这样的东西:

ClosingPeriod( 
  [Date].[Date - Calendar Month].[Calendar Day],
  [Date].[Date - Calendar Month].defaultMember 
)