Ssas 将成员标题应用于ClosingPeriod的返回值
下面的错误或bug不会返回一个空白的结果集 我意识到我还可以使用其他功能,但出于实验的目的,我想继续使用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
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。”这实际上是因为[所有日期]高于级别[日历日]?