DrilldownMember (многомерные выражения)
Детализирует углублением элементы указанного набора, присутствующие во втором указанном наборе.
Эта функция может также детализировать углублением набор кортежей с использованием первой иерархии кортежей или дополнительно указанной иерархии.
Синтаксис
DrillDownMember(<Set_Expression1>, <Set_Expression2> [,[<Target_Hierarchy>]] [,[RECURSIVE][,INCLUDE_CALC_MEMBERS]])
Аргументы
Set_Expression1
Допустимое многомерное выражение, возвращающее набор.Set_Expression2
Допустимое многомерное выражение, возвращающее набор.Target_Hierarchy
Допустимое многомерное выражение, возвращающее иерархию.Recursive
Ключевое слово, которое обозначает рекурсивное сравнение наборов.Include_Calc_Members
Ключевое слово, позволяющее включать вычисляемые элементы в результаты углубленной детализации.
Замечания
Эта функция возвращает набор дочерних элементов, упорядоченных по иерархии. В результат включаются те элементы из указанных в первом наборе, которые также присутствуют во втором наборе. Детализация углублением для родительских элементов не производится, если в первом наборе содержатся родительский элемент и один или несколько дочерних. Первый набор может иметь любую размерность, но второй набор должен быть одномерным. Порядок следования исходных элементов первого набора сохраняется, однако все дочерние элементы, входящие в результирующий набор функции, следуют непосредственно за своим родительским элементом. Функция создает результирующий набор, извлекая потомков каждого элемента первого набора, присутствующих во втором наборе. Если указано ключевое слово RECURSIVE, функция продолжает рекурсивно сравнивать элементы результирующего набора со вторым набором, извлекая потомков каждого элемента результирующего набора, присутствующих во втором наборе, до тех пор, пока в результирующем наборе больше нельзя будет найти элементы, присутствующие во втором наборе.
Запрос свойства XMLA MdpropMdxDrillFunctions позволяет проверить уровень поддержки, который сервер предоставляет для функций детализации. Подробнее см. в разделе Поддерживаемые свойства XML для аналитики (XMLA).
Первый набор может содержать кортежи вместо элементов. Углубленная детализация кортежей является расширением OLE DB и возвращает набор кортежей вместо набора элементов.
Важно! |
---|
Детализация элемента не производится, если непосредственно за ним следует один из его дочерних элементов. Порядок элементов в наборе значим для обоих семейств функций 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]
См. также
Справочник
Справочник по функциям многомерных выражений (многомерные выражения)