Hierarchize (MDX)

セットのメンバを階層化します。

構文

Hierarchize(Set_Expression [ , POST ] )

引数

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

説明

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

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

  • POST が指定されている場合、Hierarchize 関数は、レベル内のメンバを自然な順序の逆順で並べ替えます。つまり、子メンバは親メンバの前になります。

次の例では、Canada メンバに対してドリル アップを行っています。指定されたセット メンバを DrillUpMember 関数が必要とする階層に編成するために、Hierarchize 関数を使用しています。

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 キューブの Date ディメンションに含まれている 2003 年の最初の 9 か月に関して集計された、Measures.[Order Quantity] メンバの合計を返しています。PeriodsToDate 関数で、Aggregate 関数の演算対象となるセット内の組を定義しています。Hierarchize 関数で、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])