【发布时间】:2014-01-10 12:37:33
【问题描述】:
我们有一个user hierarchy 有 3 个级别(Level1 是上层 - Level3 是下层)
使用FILTER 函数我声明一个字符串,该字符串可以在任何(或多个)级别的任何成员的member_name 内。这会返回一个集合。
然后,我希望层次结构中与集合中的每个项目相关的所有成员;上下两层。
我还尝试(未成功)在结果中包含一个始终为 Level2 的列作为参考以及一个排序列。
WITH
MEMBER [Measures].[LevelName] AS
[DimensionX].[HierX].Level.Name
MEMBER [Measures].[LevelNumber] AS
[DimensionX].[HierX].Level.Ordinal
MEMBER [Measures].[MemName] AS //<<<<<not working as I want level 2 in the result set
[DimensionX].[HierX].currentmember.membervalue
SET [Set_Target] AS
{
FILTER(
[DimensionX].[HierX].AllMembers,
(
InStr(
1,
[DimensionX].[HierX].currentmember.name,
"jesus") <> 0
)
)
}
SELECT
// ORDER(
// Exists(
// [AttributeHierX].members,
// [Set_Target]
// ),
// [AttributeHierX].[AttributeHierX].MEMBERVALUE
// )
//*
ORDER(
DESCENDANTS(
[Set_Target],
[DimensionX].[HierX].[Level1],
SELF_BEFORE_AFTER
),
[Measures].[LevelNumber],
BASC
) as X
ON 1,
{
[Measures].[MemName],
[Measures].[LevelName],
[Measures].[LevelNumber]
} ON 0
FROM [CubeX]
【问题讨论】: