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.
Bemerkungen
Die Intersect-Funktion gibt den Schnittpunkt von zwei Sätzen 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.
Das optionale ALL-Flag behält Duplikate bei. Wenn ALL angegeben ist, überschneidet die Intersect-Funktion wie gewohnt nichtduplizierte Elemente und schneidet auch jedes Duplikat im ersten Satz, das ein übereinstimmende Duplikat im zweiten Satz aufweist. Die beiden angegebenen Mengen müssen dieselbe Dimensionalität haben.
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]