GENERATEALL
S’applique à :Colonne calculée
Table calculée
Mesure
Calcul de visuel
Retourne une table avec le produit cartésien entre chaque ligne de table1 et la table résultant de l’évaluation de table2 dans le contexte de la ligne actuelle de table1.
Syntaxe
GENERATEALL(<table1>, <table2>)
Paramètres
Terme | Définition |
---|---|
table1 | Toute expression DAX qui retourne une table. |
table2 | Toute expression DAX qui retourne une table. |
Valeur de retour
Table avec le produit cartésien entre chaque ligne de table1 et table résultant de l’évaluation de table2 dans le contexte de la ligne actuelle de table1
Remarques
Si l’évaluation de table2 pour la ligne actuelle de table1 retourne une table vide, alors la ligne actuelle de table1 sera incluse dans les résultats et les colonnes correspondant à table2 auront des valeurs Null pour cette ligne. Ceci diffère de la fonction GENERATE() qui n’inclut pas la ligne actuelle de table1 dans les résultats.
Tous les noms de colonne de table1 et table2 doivent être différents. Sinon, une erreur est retournée.
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery quand elle est utilisée dans des colonnes calculées ou des règles de sécurité au niveau des lignes (RLS).
Exemple
Dans l’exemple suivant, l’utilisateur souhaite obtenir une table de synthèse des ventes par région et par catégorie de produit pour le réseau de revendeurs comme la table suivante :
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|---|
Europe | Accessories | $ 142,227.27 |
Europe | Bikes | $ 9,970,200.44 |
Europe | Clothing | $ 365,847.63 |
Europe | Components | $ 2,214,440.19 |
N/A | Accessories | |
N/A | Bikes | |
N/A | Clothing | |
N/A | Components | |
Amérique du Nord | Accessories | $ 379,305.15 |
Amérique du Nord | Bikes | $ 52,403,796.85 |
Amérique du Nord | Clothing | $ 1,281,193.26 |
Amérique du Nord | Components | $ 8,882,848.05 |
Pacifique | Accessories | $ 12,769.57 |
Pacifique | Bikes | $ 710,677.75 |
Pacifique | Clothing | $ 22,902.38 |
Pacifique | Composants | $ 108,549.71 |
La formule suivante génère la table ci-dessus :
GENERATEALL(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
La première instruction SUMMARIZE génère une table des groupes de secteurs, où chaque ligne est un groupe de secteurs comme ceux indiqués ci-dessous :
SalesTerritory[SalesTerritoryGroup] Amérique du Nord Europe Pacifique N/A La deuxième instruction SUMMARIZE génère une table de groupes de catégories de produit avec les ventes des revendeurs pour chaque groupe comme indiqué ci-dessous :
ProductCategory[ProductCategoryName] [Reseller Sales] Bikes $ 63,084,675.04 Composants $ 11,205,837.96 Clothing $ 1,669,943.27 Accessories $ 534,301.99 Toutefois, si vous évaluez la table ci-dessus dans le contexte de chaque ligne de la table des groupes de secteurs, vous obtenez des résultats différents pour chaque secteur.
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour