Intersect (MDX)
Gibt die Schnittmenge zweier Eingabesets zurück. Optional werden doppelte Werte beibehalten.
Syntax
Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )
Argumente
Set_Expression1
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.Set_Expression2
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.
Hinweise
Die Intersect-Funktion gibt die Schnittmenge zweier Mengen zurück. Doppelte Werte werden von der Funktion standardmäßig aus den beiden Mengen entfernt, bevor die Schnittmenge gebildet wird. Die beiden angegebenen Mengen müssen dieselbe Dimensionalität haben.
Durch das optionale ALL-Flag werden doppelte Werte beibehalten. Wenn ALL angegeben wird, bildet die Intersect-Funktion für nicht doppelte Elemente die Schnittmenge wie üblich. Außerdem wird jeder doppelte Wert in der ersten Menge, für den es einen übereinstimmenden doppelten Wert in der zweiten Menge gibt, in der Schnittmenge beibehalten.
Beispiel
Die folgende Abfrage gibt die Jahre 2003 und 2004 zurück, die beiden Elemente, die in beiden angegebenen Mengen vorhanden sind:
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]
Die folgende Abfrage schlägt fehl, da die beiden angegebenen Mengen Elemente aus verschiedenen Hierarchien enthalten:
SELECT
INTERSECT(
{[Date].[Calendar Year].&[2001]}
, {[Customer].[City].&[Abingdon]&[ENG]})
ON 0
FROM
[Adventure Works]