我正在尝试从时间维度上的当前成员返回两个句点,但我只需要包含符合特定条件的句点(Is_Business_Day = true)
我目前有:
(
[Date].[Calendar].CURRENTMEMBER.NEXTMEMBER.NEXTMEMBER,
[Measures].[SOME MEASURE]
)
在未来准确地返回度量两个成员的值,但现在我需要另外应用过滤器,但不能完全弄清楚如何这样做。
修改
我的想法是我必须做类似以下的事情
(
Head(
exists(
[Date].[Calendar].CurrentMember.NextMember:[Date].[Calendar].CurrentMember.Lead(6),
[Date].[Is Business Day].&[True]
),
2
).item(1),
[Measures].[SOME MEASURE]
)
答案 0 :(得分:1)
由于这两个层次结构[Date].[Calendar]
和[Date].[Is Business Day]
都属于同一维度,因此您可以依赖SSAS“自动存在”,这通常比Exists
更快。因此,
((([Date].[Calendar].[Date].&[20050718].nextmember : null )
*
{ [Date]..Item(0) }
).Item(0)
,[Measures].[SOME MEASURE]
)
: null
构造将一个集合构建到Date
级别的末尾,i。即到属性中包含的最后一天。
与[Date].[Is Business Day].&[True]
的交叉加入会自动将集合限制为维度中共存的成员(自动存在的魔力)。
.Item(0)
提取第一个元组。如果您需要的元组不是日期,.Item(0)
和度量成员,而只是上下文中的日期和度量,请在第一个之后应用另一个Item(0)
。这将从元组中提取第一个成员。