所以我的这个维度有一个粗糙的层次结构。层次结构非常适合导航,但是要搜索一个皇家的痛苦(Excel是前端,所以你必须手动搜索所有12个左右的级别)。
我们创建了一个单独的“搜索”属性,其中包含要搜索的层次结构的所有成员 - 但是,在此平面列表中,树叶将包含正确的数据,但中间节点当然不会被卷起(缺少分层信息)
我的想法是在平面列表中放置一个公式,以便在层次结构中查找其等效成员并从中获取其值。 这就是我所拥有的 - 不幸的是,这两种方法都不起作用:
With
------ APPROACH 1: DESCENDANTS
Member [m1] As
Sum(
Descendants(
Filter(
[Dimension].[Hierarchy].Members
, [Dimension].[Hierarchy].Properties("Key") =
[Dimension].[Flat List].CurrentMember.Properties("Key")
),, LEAVES), ([Measure].[MeasureHierarchy].CurrentMember, [Measures].[Amount]))
------- APPROACH 2: StrToMember + CHILDREN
Member [m2] As
Sum(
StrToMember("[Dimension].[Hierarchy].&["+
[Dimension].[Flat List].CurrentMember.Properties("Key")+
"]").Children,
([Measure].[MeasureHierarchy].CurrentMember, [Measures].[Amount])
)
Select
{ [m1], [m2] }
On 0,
[Dimension].[Flat List].&[838]
dimension properties member_key
On 1
From [Cube]
Where [Measure].[MeasureHierarchy].[SomeMeasure]
两者都将始终返回null - 如果我直接查询Hierarchy,它可以工作 - 如果我使用平面列表则不行 有什么想法吗?
答案 0 :(得分:0)
自己想出来 - 今晚有灵感的火花:-D
答案很简单:
with member
[m1] as
(
StrToMember("[Dimension].[Hierarchy].&["+
[Dimension].[Flat List].CurrentMember.Properties("Key")+
"]")
, [Dimension].[Flat List].[All]
)
...
也许这对其他人也有帮助