以下没有错误,或者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函数返回其中的最后一个兄弟 指定级别的指定成员的后代。
答案 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
)