Hierarchize (MDX)

階層内のセットのメンバーを並べ替えます。

構文

  
Hierarchize(Set_Expression [ , POST ] )  

引数

Set_Expression
セットを返す有効な多次元式 (MDX) 式。

解説

Hierarchyze 関数は、指定したセットのメンバーを階層順に編成します。 この関数は、常に重複部分を保持します。

  • POST が指定されていない場合、関数はメンバーを自然な順序でレベルで並べ替えます。 他の並べ替え条件が指定されていない場合、その自然順序は階層に沿ったメンバーの既定の順序です。 子メンバーは親メンバーの直後になります。

  • POST を指定した場合、Hierarchize 関数は自然な順序でメンバーをレベルで並べ替えます。 言い換えると、子メンバーは親の前にいます。

次の例では、Canada メンバーをドリルアップします。 Hierarchyze 関数は、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]  

次の例では、Adventure Works キューブから、ディメンションにMeasures.[Order Quantity]含まれる 2003 年の最初の 9 か月間にDate集計されたメンバーの合計を返します。 PeriodsToDate 関数は、Aggregate 関数が動作するセット内のタプルを定義します。 Hierarchyze 関数は、Product ディメンションの指定されたメンバー セットのメンバーを階層順に整理します。

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])  

参照

MDX 関数リファレンス (MDX)