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 |