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