階層化(MDX)

集合のメンバーを階層的に順序付けます。

構文

  
Hierarchize(Set_Expression [ , POST ] )  

引数

Set_Expression
集合を返す有効な多次元表現(MDX)式。

Remarks

Hierarchize関数は指定された集合のメンバーを階層的な順序で整理します。 関数は常に重複を保持します。

  • POSTが指定されていない場合、関数はメンバーを自然な順序でレベルごとにソートします。 自然な順序は、他の並べ物条件が指定されていない場合の階層上のメンバーのデフォルトの順序です。 子どもメンバーは親メンバーのすぐ後に続きます。

  • POSTが指定されている場合、Hierarchize関数はポストナチュラル順序でレベル内のメンバーをソートします。 言い換えれば、子のメンバーは親より先に行きます。

以下の例はカナダの会員についてのドリリングです。 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]  

以下の例は、2003年の最初の9か月間に集計されたMeasures.[Order Quantity]メンバーの合計を、Adventure WorksキューブのDate次元に含めて返します。 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])