分层化(MDX)

将集合的成员按层级排列。

Syntax

  
Hierarchize(Set_Expression [ , POST ] )  

Arguments

Set_Expression
一个有效的多维表达式(MDX)表达式,返回集合。

Remarks

层叠功能将指定集合的成员按层级顺序组织。 该函数总是保留重复的。

  • 如果未指定 POST ,函数会按成员的自然顺序在一级中排序。 当没有其他类型条件时,它们的自然顺序是成员在层级结构上的默认顺序。 子成员会紧随父母成员之后。

  • 如果指定了POST,Hierarchize 函数会用后自然顺序对某一层级的成员进行排序。 换句话说,子女成员会先于父母。

Example

以下示例将深入探讨加拿大成员。 Hierarchize 函数用于按层次顺序组织指定的集合成员,这符合 DrillUpMember 函数的要求。

SELECT DrillUpMember   
   (  
      Hierarchize  
         (  
            {[Geography].[Geography].[Country].[Canada]  
            ,[Geography].[Geography].[Country].[United States]  
            ,[Geography].[Geography].[State-Province].[Alberta]  
            ,[Geography].[Geography].[State-Province].[Brunswick]  
            ,[Geography].[Geography].[State-Province].[Colorado]   
            }  
         ), {[Geography].[Geography].[Country].[United States]}  
   )  
ON 0  
FROM [Adventure Works]  

以下示例返回了2003Date年前九个月内该维度成员的总和Measures.[Order Quantity],该成员来自Adventure Works立方体。 PeriodsToDate函数定义了聚合函数所作用的集合中的元组。 层级化函数按层级顺序组织产品维度中指定成员集的成员。

WITH MEMBER Measures.[Declining Reseller Sales] AS Count  
   (Filter  
      (Existing  
         (Reseller.Reseller.Reseller),   
            [Measures].[Reseller Sales Amount] <   
               ([Measures].[Reseller Sales Amount],[Date].Calendar.PrevMember)  
        )  
    )  
MEMBER [Geography].[State-Province].x AS Aggregate   
( {[Geography].[State-Province].&[WA]&[US],   
   [Geography].[State-Province].&[OR]&[US] }   
)  
SELECT NON EMPTY HIERARCHIZE   
   (AddCalculatedMembers   
      ({DrillDownLevel  
         ({[Product].[All Products]})}  
        )  
    ) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS   
FROM [Adventure Works]  
WHERE ([Geography].[State-Province].x,   
   [Date].[Calendar].[Calendar Quarter].&[2003]&[4],  
   [Measures].[Declining Reseller Sales])