Intersect (MDX)
Devuelve la intersección de dos conjuntos de entrada; conservando opcionalmente los duplicados.
Sintaxis
Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )
Argumentos
Set_Expression1
Expresión MDX válida que devuelve un conjunto.Set_Expression2
Expresión MDX válida que devuelve un conjunto.
Comentarios
La función Intersect devuelve la intersección de dos conjuntos. De manera predeterminada, la función quita los duplicados de ambos conjuntos antes de su intersección. Los dos conjuntos especificados deben tener la misma dimensionalidad.
La marca ALL opcional conserva los duplicados. Si se especifica ALL, la función Intersect intersecta elementos no duplicados de la forma habitual y también intersecta cada duplicado del primer conjunto que tenga un duplicado coincidente en el segundo conjunto. Los dos conjuntos especificados deben tener la misma dimensionalidad.
Ejemplo
La consulta siguiente devuelve los años 2003 y 2004, los dos miembros que aparecen en los dos 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]
La consulta siguiente no se realiza correctamente porque los dos conjuntos especificados contienen miembros de jerarquías diferentes:
SELECT
INTERSECT(
{[Date].[Calendar Year].&[2001]}
, {[Customer].[City].&[Abingdon]&[ENG]})
ON 0
FROM
[Adventure Works]