CROSSJOIN, fonction (DAX)
Retourne une table qui contient le produit cartésien de toutes les lignes de toutes les tables des arguments. Les colonnes de la nouvelle table représentent l'ensemble des colonnes de toutes les tables des arguments.
Syntaxe
CROSSJOIN(<table>, <table>[, <table>]…)
Paramètres
- table
Toute expression DAX qui retourne une table de données.
Valeur de retour
Table qui contient le produit cartésien de toutes les lignes de toutes les tables des arguments.
Notes
Les noms de colonnes des arguments de table doivent être tous différents dans l'ensemble des tables ; sinon, une erreur est retournée.
Le nombre total de lignes retourné par CROSSJOIN() est égal au produit du nombre de lignes de toutes les tables des arguments ; en outre, le nombre total de colonnes dans la table de résultats représente la somme du nombre de colonnes dans toutes les tables. Par exemple, si TableA a la ligne rA et la colonne cA, si TableB a la ligne rB et la colonne cB et si TableC a la ligne rC et la colonne cC, la table résultante a les lignes rA × rb × rC et les colonnes cA + cB + cC.
Exemple
L'exemple suivant affiche les résultats de l'application de CROSSJOIN() à deux tables : Colors et Stationery.
La table Colors contient des couleurs et des motifs :
Couleur |
Motif |
---|---|
Rouge |
Horizontal Stripe |
Vert |
Vertical Stripe |
Bleu |
Crosshatch |
Le table Stationery contient des polices et des présentations :
Police |
Présentation |
---|---|
serif |
embossed |
sans-serif |
engraved |
L'expression qui permet de générer la jointure croisée est présentée ci-dessous :
CROSSJOIN( Colors, Stationery)
Lorsque l'expression ci-dessus est utilisée à l'emplacement où une expression de table est attendue, les résultats de l'expression se présentent comme suit :
Rouge |
Horizontal Stripe |
serif |
embossed |
Vert |
Vertical Stripe |
serif |
embossed |
Bleu |
Crosshatch |
serif |
embossed |
Rouge |
Horizontal Stripe |
sans-serif |
engraved |
Vert |
Vertical Stripe |
sans-serif |
engraved |
Bleu |
Crosshatch |
sans-serif |
engraved |