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


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

Изменения: 17 июля 2006 г.

Детализирует углублением элементы указанного набора, присутствующие во втором указанном наборе.

В качестве альтернативы функция детализирует углублением кортежи из набора кортежей.

Синтаксис

DrilldownMember(Set_Expression1, Set_Expression2 [ , RECURSIVE ] )

Аргументы

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

Замечания

Эта функция возвращает набор дочерних элементов, упорядоченных по иерархии. В результат включаются те элементы из указанных в первом наборе, которые также присутствуют во втором наборе.**Детализация родительских элементов не производится, если в первом наборе содержатся родительский элемент и один или несколько дочерних. Первый набор может иметь любую размерность, но второй набор должен быть одномерным. Порядок следования исходных элементов первого набора сохраняется, однако все дочерние элементы, входящие в результирующий набор функции, следуют непосредственно за своим родительским элементом. Функция создает результирующий набор, извлекая потомков каждого элемента первого набора, присутствующих во втором наборе. Если указано ключевое слово RECURSIVE, функция продолжает рекурсивно сравнивать элементы результирующего набора со вторым набором, извлекая потомков каждого элемента результирующего набора, присутствующих во втором наборе, до тех пор, пока в результирующем наборе больше нельзя будет найти элементы, присутствующие во втором наборе.

Первый набор может содержать кортежи вместо элементов. Углубленная детализация кортежей является расширением OLE DB и возвращает набор кортежей вместо набора элементов.

ms145580.note(ru-ru,SQL.90).gifВажно!
Детализация элемента не производится, если непосредственно за ним следует один из его дочерних элементов. Порядок элементов в наборе значим для обоих семейств функций Drilldown* и Drillup*.

Примеры

В следующем примере выполняется детализация углублением первого элемента Australia, являющегося элементом первого набора, который также присутствует во втором наборе.

SELECT DrilldownMember 
   ( [Geography].[Geography].Children,
      {[Geography].[Geography].[Country].[Australia],
        [Geography].[Geography].[State-Province].[New South Wales]}
   )
   ON 0
   FROM [Adventure Works]

В следующем примере выполняется детализация углублением первого элемента Australia, являющегося элементом первого набора, который также присутствует во втором наборе. Тем не менее, поскольку указан аргумент RECURSIVE, функция продолжает рекурсивно сравнивать элементы результирующего набора (элементы уровня State-Province) со вторым набором, получая потомков каждого элемента результирующего набора (элементы уровня города), присутствующих во втором наборе, до тех пор, пока в результирующем наборе больше нельзя будет найти элементы, присутствующие во втором наборе.

SELECT DrilldownMember 
   ( [Geography].[Geography].Children,
      {[Geography].[Geography].[Country].[Australia],
        [Geography].[Geography].[State-Province].[New South Wales]}
   ,RECURSIVE)
   ON 0
   FROM [Adventure Works]

См. также

Справочник

Справочник по функциям многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.