Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Retourne une table avec le produit cartesien entre chaque ligne de table1 et la table qui résulte de l’évaluation table2 dans le contexte de la ligne actuelle de table1.
GENERATE(<table1>, <table2>)
Terme | Définition |
---|---|
table1 |
Toute expression DAX qui retourne une table. |
table2 |
Toute expression DAX qui retourne une table. |
Table avec le produit cartésien entre chaque ligne de table1 et la table qui résulte de l’évaluation table2 dans le contexte de la ligne actuelle de table1
Si l’évaluation de table2 pour la ligne active dans table1 retourne une table vide, la table de résultats ne contient pas la ligne actuelle de table1. Cela est différent de GENERATEALL() où la ligne actuelle de table1 sera incluse dans les résultats et les colonnes correspondant à table2 aura des valeurs Null pour cette ligne.
Tous les noms de colonnes de table1 et table2 doivent être différents ou une erreur est retournée.
Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Dans l’exemple suivant, l’utilisateur souhaite une table récapitulative des ventes par région et catégorie de produit pour le canal Resellers, comme le tableau suivant :
SalesTerritory[SalesTerritoryGroup] | ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|---|
Europe | Accessoires | 142 227,27 $ |
Europe | Vélos | 9 970 200,44 $ |
Europe | Vêtement | 365 847,63 $ |
Europe | Composants | 2 214 440,19 $ |
Amérique du Nord | Accessoires | 379 305,15 $ |
Amérique du Nord | Vélos | 52 403 796,85 $ |
Amérique du Nord | Vêtement | 1 281 193,26 $ |
Amérique du Nord | Composants | 8 882 848,05 $ |
Pacifique | Accessoires | 12 769,57 $ |
Pacifique | Vélos | 710 677,75 $ |
Pacifique | Vêtement | 22 902,38 $ |
Pacifique | Composants | 108 549,71 $ |
La formule suivante produit le tableau ci-dessus :
GENERATE(
SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
,SUMMARIZE(ProductCategory
, [ProductCategoryName]
, "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
)
)
La première instruction SUMMARIZE, SUMMARIZE(SalesTerritory, SalesTerritory[SalesTerritoryGroup])
, produit une table de groupes de territoires, où chaque ligne est un groupe de territoires, comme indiqué ci-dessous :
SalesTerritory[SalesTerritoryGroup] |
---|
Amérique du Nord |
Europe |
Pacifique |
NA |
La deuxième instruction SUMMARIZE, SUMMARIZE(ProductCategory, [ProductCategoryName], "Reseller Sales", SUMX(RELATEDTABLE(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD]))
, produit une table des groupes de catégories de produits avec les ventes reseller pour chaque groupe, comme indiqué ci-dessous :
ProductCategory[ProductCategoryName] | [Reseller Sales] |
---|---|
Vélos | 63 084 675,04 $ |
Composants | 11 205 837,96 $ |
Vêtement | 1 669 943,27 $ |
Accessoires | 534 301,99 $ |
Toutefois, lorsque vous prenez la table ci-dessus et que vous l’évaluez dans le contexte de chaque ligne de la table groupes de territoires, vous obtenez des résultats différents pour chaque territoire.
Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’hui