Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает пересечение двух входных наборов, при необходимости сохраняя дубликаты.
Синтаксис
Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )
Аргументы
Set_Expression1
Допустимое многомерное выражение, возвращающее набор.
Set_Expression2
Допустимое многомерное выражение, возвращающее набор.
Замечания
Функция Intersect возвращает пересечение двух наборов. По умолчанию функция удаляет дубликаты из обоих наборов до пересечения наборов. Указанные два набора должны иметь одинаковую размерность.
Необязательный флаг ALL сохраняет дубликаты. Если заданО значение ALL , функция Intersect пересекается неуплицированных элементов как обычно, а также пересекает каждую повторяющуюся в первом наборе, которая имеет соответствующий дубликат во втором наборе. Указанные два набора должны иметь одинаковую размерность.
Пример
Следующий запрос возвращает год 2002 и 2003, два элемента, которые отображаются в обоих наборах:
SELECT
INTERSECT(
{[Date].[Calendar Year].&[2001], [Date].[Calendar Year].&[2002],[Date].[Calendar Year].&[2003]}
, {[Date].[Calendar Year].&[2002],[Date].[Calendar Year].&[2003], [Date].[Calendar Year].&[2004]})
ON 0
FROM
[Adventure Works]
Следующий запрос завершается ошибкой, так как два указанных набора содержат элементы из разных иерархий:
SELECT
INTERSECT(
{[Date].[Calendar Year].&[2001]}
, {[Customer].[City].&[Abingdon]&[ENG]})
ON 0
FROM
[Adventure Works]
См. также
Справочник по функции многомерных выражений (многомерные выражения)