Função Intersect (MDX)
Retorna a interseção de dois conjuntos de entrada, mantendo as duplicatas.
Sintaxe
Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )
Argumentos
Set_Expression1
Uma expressão MDX válida que retorna um conjunto.
Set_Expression2
Uma expressão MDX válida que retorna um conjunto.
Comentários
A função Intersect retorna a interseção de dois conjuntos. Por padrão, a função remove as duplicações antes de interseccionar os dois conjuntos. Os dois conjuntos devem ter a mesma dimensionalidade.
O sinalizador ALL opcional retém duplicatas. Se ALL for especificado, a função Intersect cruza elementos não replicados como de costume e também intersecciona cada duplicata no primeiro conjunto que tem uma duplicata correspondente no segundo conjunto. Os dois conjuntos devem ter a mesma dimensionalidade.
Exemplo
A consulta a seguir retorna os anos de 2003 e 2004, os dois membros que aparecem em ambos os conjuntos especificados:
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]
A consulta a seguir falha porque os dois conjuntos especificados contêm membros de hierarquias diferentes:
SELECT
INTERSECT(
{[Date].[Calendar Year].&[2001]}
, {[Customer].[City].&[Abingdon]&[ENG]})
ON 0
FROM
[Adventure Works]