Partager via


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