Ssas 基于同一维度的第二个属性对层次结构的部分求和

Ssas 基于同一维度的第二个属性对层次结构的部分求和,ssas,mdx,hierarchy,olap,Ssas,Mdx,Hierarchy,Olap,所以我有这个维度,它有一个参差不齐的层次结构。层次结构很好导航,但搜索起来很麻烦(Excel是前端,因此您必须在所有12个左右的级别中手动搜索) 我们创建了一个单独的“搜索”属性,其中包含要搜索的层次结构的所有成员-但是,在这个平面列表中,叶子将包含适当的数据,但是中间节点当然不会被卷起(缺少层次结构信息) 我的想法是将一个公式放在平面列表中,以便在层次结构中查找其等效成员并从中获取其值。 以下是我所拥有的-不幸的是,这两种方法都不起作用: With ------ APPROACH 1: DE

所以我有这个维度,它有一个参差不齐的层次结构。层次结构很好导航,但搜索起来很麻烦(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—如果我直接查询层次结构,它会工作—但如果我使用平面列表,则不会
有什么想法吗?

我自己想出来了-今晚灵感迸发:-D

答案很简单:

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

也许这对其他人也有帮助