Partilhar via


Interseção (MDX)

Retorna a interseção de dois conjuntos de entrada, opcionalmente mantendo duplicatas.

Sintaxe

  
Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )  

Argumentos

Set_Expression1
Uma expressão MDX (Multidimensional Expressions) válida que retorna um conjunto.

Set_Expression2
Uma expressão MDX (Multidimensional Expressions) válida que retorna um conjunto.

Observações

A função Intersect retorna a interseção de dois conjuntos. Por padrão, a função remove duplicatas de ambos os conjuntos antes de cruzar os conjuntos. Os dois conjuntos especificados devem ter a mesma dimensionalidade.

O sinalizador ALL opcional retém duplicatas. Se ALL for especificado, a função Intersect intersecta elementos não duplicados como de costume e também intersecta cada duplicado no primeiro conjunto que tem uma duplicata correspondente no segundo conjunto. Os dois conjuntos especificados devem ter a mesma dimensionalidade.

Exemplo

A consulta a seguir retorna os anos 2002 e 2003, 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]  

Ver também

de referência de função MDX (MDX)