2017-06-01 7 views
0

このような次元には不揃いの階層があります。階層はナビゲートするのがいいですが、検索する王宮の痛みです(Excelはフロントエンドなので、すべてのレベルで手動で検索する必要があります)。同じ次元の2番目の属性に基づいて階層の部分を合計します。

階層内のすべてのメンバーを検索する別の「検索」属性を作成しましたが、このフラットリストでは適切なデータが含まれますが、中間ノードはロールアップされません

私の考えは、階層内の同等のメンバーを調べてそこからその値を得るために、フラットリストに数式を入れることでした。 は、ここで私が持っているものだ - 両方のアプローチは、残念ながら動作しません:

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を返します - 私は直接、階層を照会する場合、それは動作します - 私はフラットリスト 任意のアイデアを使用するだけではありませんか?

答えて

0

は自分自身をそれを考え出した - 答えは同じくらい簡単です今夜:-D

インスピレーションの火花を持っていた:

with member 
[m1] as 
(
    StrToMember("[Dimension].[Hierarchy].&["+ 
    [Dimension].[Flat List].CurrentMember.Properties("Key")+ 
    "]") 
    , [Dimension].[Flat List].[All] 
) 

...

をたぶんあまりにも他の誰かを助けること

関連する問題