Condividi tramite


Intersect (MDX)

Restituisce l'intersezione di due set di input, mantenendo facoltativamente i duplicati.

Sintassi

Intersect(Set_Expression1 , Set_Expression2 [ , ALL ] )

Argomenti

  • Set_Expression1
    Espressione MDX (Multidimensional Expression) valida che restituisce un set.

  • Set_Expression2
    Espressione MDX (Multidimensional Expression) valida che restituisce un set.

Osservazioni

La funzione Intersect restituisce l'intersezione di due set. Per impostazione predefinita la funzione rimuove i duplicati da entrambi i set prima di eseguire l'intersezione. I due set specificati devono disporre della stessa dimensionalità.

Il flag ALL facoltativo consente di mantenere i duplicati. Se si specifica il flag ALL, la funzione Intersect eseguirà come di consueto l'intersezione degli elementi non duplicati, oltre che di ogni elemento duplicato del primo set a cui corrisponde un elemento duplicato nel secondo set.

Esempio

Per la seguente query vengono restituiti gli anni 2003 e 2004, i due membri visualizzati in entrambi i set specificati:

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 query seguente non viene eseguita correttamente perché i due set specificati contengono membri da gerarchie diverse:

SELECT

INTERSECT(

{[Date].[Calendar Year].&[2001]}

, {[Customer].[City].&[Abingdon]&[ENG]})

ON 0

FROM

[Adventure Works]