Поделиться через


Hierarchize (многомерные выражения)

Упорядочивает элементы набора в иерархии.

Синтаксис

Hierarchize(Set_Expression [ , POST ] )

Аргументы

  • Set_Expression
    Допустимое многомерное выражение, возвращающее набор.

Замечания

Функция Hierarchize упорядочивает элементы заданного набора в иерархическом порядке. Повторяющиеся элементы всегда сохраняются.

  • Если ключевое слово POST не указано, функция сортирует элементы уровня в естественном порядке. Естественным порядком является порядок следования элементов в иерархии по умолчанию, если не заданы другие условия сортировки. Потомки следуют сразу после своих предков.

  • Если указано ключевое слово POST, функция Hierarchize сортирует элементы уровня в искусственном порядке. Другими словами, дочерние элементы предшествуют своим родителям.

Пример

В следующем примере детализируется обобщением элемент Canada. Функция 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]

В следующем примере возвращается сумма значений Measures.[Order Quantity], собранных за первые девять месяцев 2003 г. и содержащихся в измерении Date куба Adventure Works. Функцией 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])