DrilldownMemberTop (многомерные выражения)
Детализирует углублением элементы указанного набора, присутствующие во втором указанном наборе, ограничивая результирующий набор заданным количеством элементов. В качестве альтернативы функция детализирует углублением кортежи из набора кортежей.
Синтаксис
DrilldownMemberTop(Set_Expression1, Set_Expression2, Count [ , [ Numeric_Expression ][ , RECURSIVE ] ] )
Аргументы
Set_Expression1
Допустимое многомерное выражение, возвращающее набор.Set_Expression2
Допустимое многомерное выражение, возвращающее набор.Count
Допустимое числовое выражение, указывающее количество возвращаемых кортежей.Numeric_Expression
Допустимое числовое выражение (обычно многомерное выражение координат ячейки), возвращающее число.
Замечания
Если числовое выражение указано, функция DrilldownMemberTop сортирует в порядке убывания потомки каждого элемента в первом наборе согласно заданному значению, вычисленному на наборе элементов-потомков. Если числовое выражение не указано, функция сортирует в порядке убывания потомки каждого элемента в первом наборе согласно значениям ячеек, представленных набором элементов-потомков, как определено контекстом запроса.
После сортировки функция DrilldownMemberTop возвращает набор, содержащий родительские элементы и столько содержащихся одновременно в обоих наборах дочерних элементов с наибольшими значениями, сколько задано аргументом Count,.
Если задан аргумент RECURSIVE, функция сортирует первый набор, как описано выше, затем рекурсивно сравнивает элементы первого набора, организованные в иерархию, со вторым набором. Функция получает заданное количество самых верхних потомков каждого элемента первого набора, который одновременно входит во второй набор.
Первый набор может содержать кортежи вместо элементов. Углубленная детализация кортежей является расширением OLE DB и возвращает набор кортежей вместо набора элементов.
Функция DrilldownMemberTop похожа на функцию DrilldownMember, но вместо включения всех потомков для каждого элемента первого набора, присутствующего также во втором наборе, функция DrilldownMemberTop возвращает набор самых верхних потомков для каждого элемента.
Пример
В следующем примере детализируется углублением категория Clothing, чтобы вернуть три подкатегории одежды с наибольшим числом доставленных заказов.
SELECT DrilldownMemberTop
({[Product].[Product Categories].[All Products],
[Product].[Product Categories].[Category].Bikes,
[Product].[Product Categories].[Category].Clothing}
,
{[Product].[Product Categories].[Category].Clothing},
3,
[Measures].[Reseller Order Quantity]
)
ON 0
FROM [Adventure Works]
WHERE [Measures].[Reseller Order Quantity]