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

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

Синтаксис

DrillupMember(Set_Expression1, Set_Expression2) 

Аргументы

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

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

Замечания

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

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

Важное примечаниеВажно!

Элемент должен быть обобщен, только если за ним непосредственно следует потомок. Порядок элементов в наборе значим для обоих семейств функций Drilldown* и Drillup*. Рассмотрим применение функции Hierarchize для упорядочивания элементов первого набора.

Пример

В следующем примере выполняется детализация обобщением элемента United States, т. е. элемент Colorado не отображается в строках:

SELECT DrillUpMember

(

{[Geography].[Geography].[Country].[Canada]

,[Geography].[Geography].[Country].[United States]

,[Geography].[Geography].[State-Province].[Colorado]

,[Geography].[Geography].[State-Province].[Alberta]

,[Geography].[Geography].[State-Province].[Brunswick]

}

, {[Geography].[Geography].[Country].[United States]}

)

ON 0

FROM [Adventure Works]

Однако, поскольку элемент DrillupMember выполняет детализацию обобщением только для элементов, имеющих прямых потомков в первом наборе, он не выполняет детализацию обобщением для элемента Canada в следующем примере:

SELECT DrillUpMember

(

{[Geography].[Geography].[Country].[Canada]

,[Geography].[Geography].[Country].[United States]

,[Geography].[Geography].[State-Province].[Colorado]

,[Geography].[Geography].[State-Province].[Alberta]

,[Geography].[Geography].[State-Province].[Brunswick]

}

, {[Geography].[Geography].[Country].[Canada]}

)

ON 0

FROM [Adventure Works]

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

SELECT DrillUpMember

(

Hierarchize

(

{[Geography].[Geography].[Country].[Canada]

,[Geography].[Geography].[Country].[United States]

,[Geography].[Geography].[State-Province].[Colorado]

,[Geography].[Geography].[State-Province].[Alberta]

,[Geography].[Geography].[State-Province].[Brunswick]

}

), {[Geography].[Geography].[Country].[Canada]}

)

ON 0

FROM [Adventure Works]