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.
Notas
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 las mismas dimensiones.
El marcador ALL opcional conserva los duplicados. Si se especifica ALL, la función Intersect intersecará los elementos no duplicados de la forma habitual, así como cada duplicado del primer conjunto que tenga un duplicado coincidente en el segundo conjunto.
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]