Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает элементы указанного набора, которые не являются потомками элементов второго заданного набора.
Синтаксис
DrillupMember(Set_Expression1, Set_Expression2)
Аргументы
Set_Expression1
Допустимое многомерное выражение, возвращающее набор.Set_Expression2
Допустимое многомерное выражение, возвращающее набор.
Замечания
Функция DrillupMember возвращает набор элементов, основывающихся на элементах, заданных в первом наборе и являющихся потомками элементов второго набора. Первый набор может иметь любую размерность, но второй набор должен быть одномерным. Порядок среди исходных элементов первого набора сохраняется. Функция формирует набор путем включения в него только тех элементов набора, которые являются прямыми потомками элементов набора. Если прямой предок элемента первого набора не представлен во втором наборе, то элемент первого набора включается в набор, возвращаемый этой функцией. Потомки первого набора, предшествующие предку элемента второго набора, также включаются.
Первый набор может содержать кортежи вместо элементов. Углубленная детализация кортежей является расширением OLE DB и возвращает набор кортежей вместо набора элементов.
Важно! |
|---|
Элемент должен быть обобщен, только если за ним непосредственно следует потомок. Порядок элементов в наборе значим для обоих семейств функций Drilldown* и Drillup*. Рассмотрим применение функции Hierarchize для упорядочивания элементов первого набора. |
Пример
Следующие три примера идентичны, за исключением второго набора. В первом примере вторым набором является элемент United States. В результате элемент Colorado исключается из результирующего набора. Это потомок элемента United States.
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. Канада отделяется от ее потомков США и Колорадо. Если изменить порядок элементов таким образом, чтобы элемент Canada располагался непосредственно над элементом Alberta, то элементы Alberta и Brunswick исключаются из этого набора строк.
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]
См. также
Справочник
Справочник по функциям многомерных выражений (многомерные выражения)
Важно!