Ssas 将成员标题应用于ClosingPeriod的返回值

Ssas 将成员标题应用于ClosingPeriod的返回值,ssas,mdx,Ssas,Mdx,下面的错误或bug不会返回一个空白的结果集 我意识到我还可以使用其他功能,但出于实验的目的,我想继续使用ClosingPeriod 为什么返回空白? 我如何修改它,使它昨天返回 WITH MEMBER [Date].[Date - Calendar Month].[member_caption] AS ClosingPeriod( [Date].[Date - Calendar Month].[Calendar Day] ).MEMBER_CAPTION

下面的错误或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文档说明如下:

•如果指定了级别表达式,则ClosingPeriod函数使用 包含指定级别并返回最后一个级别的维度 指定位置的默认成员的后代中的同级成员 水平

•如果同时指定了级别表达式和成员表达式, ClosingPeriod函数返回 指定级别的指定成员的后代


我猜这是因为[Date].[Date-Calendar Month]的默认成员不在[Calendar Day]级别;这相当于:

ClosingPeriod( [Date].[Date - Calendar Month].[Calendar Day], null )
obsviously null没有子代,ClosingPeriod不返回任何内容。也许你想要这样的东西:

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

+1谢谢Marc-很高兴看到你对我的MDX问题做出贡献!层次结构的
defaultMember
[所有日期]
,因此它不存在于[日历日]级别是有意义的。我将为OP添加更多的信息,因为
MSDN
文档使我的头有点扭曲!。。。尽管MSDN中的第一点说
ClosingPeriod函数使用包含指定级别的维度,并返回指定级别默认成员后代中的最后一个同级成员。
这听起来像是我的尝试应该奏效了?是的,文档不是很清楚,但它说“默认成员在指定级别”“指定级别”,如果您检查MS给出的示例,您将看到使用了包含单个级别的层次结构,这意味着层次结构的默认成员位于指定级别。确定-如果您展开示例
ClosingPeriod(级别,成员)-级别为祖先
“如果级别的深度低于成员,则返回NULL。”这实际上是因为[所有日期]高于级别[日历日]?