Funzione CROSSJOIN (DAX)

Viene restituita una tabella contenente il prodotto cartesiano di tutte le righe da tutte le tabelle negli argomenti. Le colonne nella nuova tabella sono tutte le colonne in tutte le tabelle dell'argomento.

Sintassi

CROSSJOIN(<table>, <table>[, <table>]…)

Parametri

  • table
    Qualsiasi espressione DAX tramite cui viene restituita una tabella di dati.

Valore restituito

Tabella contenente il prodotto cartesiano di tutte le righe da tutte le tabelle negli argomenti.

Osservazioni

  • I nomi di colonna derivanti dagli argomenti table devono essere tutti diversi in tutte le tabelle, altrimenti viene restituito un errore.

  • Il numero complessivo di righe restituite da CROSSJOIN() è uguale al prodotto del numero di righe da tutte le tabelle negli argomenti; inoltre, il numero complessivo di colonne nella tabella dei risultati è la somma del numero di colonne in tutte le tabelle. Ad esempio, se in TableA sono disponibili righe rA e colonne cA, in TableB sono disponibili righe rB e colonne cB e in TableC sono disponibili righe rC e colonne cC, nella tabella risultante sono disponibili righe rA × rb × rC e colonne cA + cB + cC.

Esempio

Nell'esempio seguente vengono mostrati i risultati dell'applicazione di CROSSJOIN() a due tabelle: Colors e Stationery.

Nella tabella Colors sono contenuti colori e motivi:

Color

Pattern

Red

Horizontal Stripe

Green

Vertical Stripe

Blue

Crosshatch

Nella tabella Stationery sono contenuti tipi di carattere e presentazione:

Font

Presentation

serif

embossed

sans-serif

engraved

L'espressione per generare il Cross Join viene presentata di seguito:

CROSSJOIN( Colors, Stationery)

Quando viene utilizzata l'espressione sopra indicata ogni volta che è prevista un'espressione di tabella, i risultati dell'espressione dovrebbero essere come mostrati di seguito:

Red

Horizontal Stripe

serif

embossed

Green

Vertical Stripe

serif

embossed

Blue

Crosshatch

serif

embossed

Red

Horizontal Stripe

sans-serif

engraved

Green

Vertical Stripe

sans-serif

engraved

Blue

Crosshatch

sans-serif

engraved