SUMMARIZE
S’applique à :Colonne calculéeTable calculéeMesureCalcul visuel
Retourne une table récapitulative des totaux demandés sur un ensemble de groupes.
Syntaxe
SUMMARIZE (<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
Paramètres
Terme | Définition |
---|---|
tableau | Toute expression DAX qui retourne une table de données. |
groupBy_ColumnName | (Facultatif) Nom qualifié d’une colonne existante utilisé pour créer des groupes de synthèse en fonction des valeurs qui s’y trouvent. Ce paramètre ne peut pas être une expression. |
name | Nom donné à une colonne de totaux ou de synthèse, placé entre guillemets doubles. |
expression | Toute expression DAX qui retourne une valeur scalaire unique où l’expression doit être évaluée plusieurs fois (pour chaque ligne/contexte). |
Valeur de retour
Table avec les colonnes sélectionnées pour les arguments groupBy_columnName et les colonnes synthétisées désignées par les arguments name.
Remarques
Chaque colonne pour laquelle vous définissez un nom doit avoir une expression correspondante ; dans le cas contraire, une erreur est retournée. Le premier argument, name, définit le nom de la colonne dans les résultats. Le deuxième argument, expression, définit le calcul effectué pour obtenir la valeur de chaque ligne de cette colonne.
groupBy_columnName doit être dans la table ou dans une table associée à la table.
Chaque nom doit être placé entre guillemets doubles.
La fonction regroupe un ensemble sélectionné de lignes en un ensemble de lignes de synthèse selon les valeurs d’une ou plusieurs colonnes groupBy_columnName. Une ligne est retournée pour chaque groupe.
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
L’exemple suivant retourne un résumé des ventes du revendeur, regroupées autour de l’année civile et du nom de la catégorie de produits. Cette table de résultats vous permet d’effectuer une analyse sur les ventes du revendeur par année et par catégorie de produits.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
La table suivante présente un aperçu des données telles qu’elles seraient reçues par toute fonction attendant de recevoir une table :
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Composants | 2008052.706 | 39.9266 |
2005 | Composants | 574256.9865 | 0 |
2006 | Composants | 3428213.05 | 948.7674 |
2007 | Composants | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
Avec ROLLUP
L’ajout de la syntaxe ROLLUP modifie le comportement de la fonction SUMMARIZE en ajoutant des lignes de cumul au résultat sur les colonnes groupBy_columnName. ROLLUP s’utilise uniquement dans une expression SUMMARIZE.
Exemple
L’exemple suivant ajoute des lignes de cumul aux colonnes Group-By de l’appel de fonction SUMMARIZE :
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Retourne la table suivante
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Composants | 2008052.706 | 39.9266 |
2005 | Composants | 574256.9865 | 0 |
2006 | Composants | 3428213.05 | 948.7674 |
2007 | Composants | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
2008 | 15496115.89 | 41224.3038 | |
2005 | 7582953.67 | 4326.4144 | |
2006 | 22871907.85 | 184419.1335 | |
2007 | 30543780.84 | 297538.0745 | |
76494758.25 | 527507.9262 |
Avec ROLLUPGROUP
Toutefois, l’ajout de ROLLUPGROUP dans une syntaxe ROLLUP peut être utilisé pour empêcher les sous-totaux partiels dans les lignes de cumul. ROLLUPGROUP s’utilise uniquement dans une expression ROLLUP, ROLLUPADDISSUBTOTAL ou ROLLUPISSUBTOTAL.
Exemple
L’exemple suivant affiche uniquement le total général de toutes les années et de toutes les catégories sans le sous-total de chaque année avec toutes les catégories :
SUMMARIZE(ResellerSales_USD
, ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Retourne la table suivante
DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|
2008 | Bikes | 12968255.42 | 36167.6592 |
2005 | Bikes | 6958251.043 | 4231.1621 |
2006 | Bikes | 18901351.08 | 178175.8399 |
2007 | Bikes | 24256817.5 | 276065.992 |
2008 | Composants | 2008052.706 | 39.9266 |
2005 | Composants | 574256.9865 | 0 |
2006 | Composants | 3428213.05 | 948.7674 |
2007 | Composants | 5195315.216 | 4226.0444 |
2008 | Clothing | 366507.844 | 4151.1235 |
2005 | Clothing | 31851.1628 | 90.9593 |
2006 | Clothing | 455730.9729 | 4233.039 |
2007 | Clothing | 815853.2868 | 12489.3835 |
2008 | Accessories | 153299.924 | 865.5945 |
2005 | Accessories | 18594.4782 | 4.293 |
2006 | Accessories | 86612.7463 | 1061.4872 |
2007 | Accessories | 275794.8403 | 4756.6546 |
76494758.25 | 527507.9262 |
Avec ISSUBTOTAL
ISSUBTOTAL vous permet de créer une autre colonne dans l’expression SUMMARIZE qui retourne True si la ligne contient des valeurs de sous-total pour la colonne fournie comme argument de ISSUBTOTAL ; sinon, retourne false. ISSUBTOTAL s’utilise uniquement dans une expression SUMMARIZE.
Exemple
L’exemple suivant génère une colonne ISSUBTOTAL pour chacune des colonnes ROLLUP dans l’appel de fonction SUMMARIZE donné :
SUMMARIZE(ResellerSales_USD
, ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
, "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])
, "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])
)
Retourne la table suivante
[Is Sub Total for DateTimeCalendarYear] | [Is Sub Total for ProductCategoryName] | DateTime[CalendarYear] | ProductCategory[ProductCategoryName] | [Sales Amount (USD)] | [Discount Amount (USD)] |
---|---|---|---|---|---|
FALSE | FAUX | ||||
FAUX | FALSE | 2008 | Bikes | 12968255.42 | 36167.6592 |
FALSE | FALSE | 2005 | Bikes | 6958251.043 | 4231.1621 |
FAUX | FALSE | 2006 | Bikes | 18901351.08 | 178175.8399 |
FALSE | FALSE | 2007 | Bikes | 24256817.5 | 276065.992 |
FALSE | FALSE | 2008 | Composants | 2008052.706 | 39.9266 |
FALSE | FALSE | 2005 | Composants | 574256.9865 | 0 |
FALSE | FALSE | 2006 | Composants | 3428213.05 | 948.7674 |
FALSE | FALSE | 2007 | Composants | 5195315.216 | 4226.0444 |
FALSE | FALSE | 2008 | Clothing | 366507.844 | 4151.1235 |
FALSE | FALSE | 2005 | Clothing | 31851.1628 | 90.9593 |
FALSE | FALSE | 2006 | Clothing | 455730.9729 | 4233.039 |
FALSE | FALSE | 2007 | Clothing | 815853.2868 | 12489.3835 |
FALSE | FALSE | 2008 | Accessories | 153299.924 | 865.5945 |
FALSE | FALSE | 2005 | Accessories | 18594.4782 | 4.293 |
FALSE | FALSE | 2006 | Accessories | 86612.7463 | 1061.4872 |
FALSE | FALSE | 2007 | Accessories | 275794.8403 | 4756.6546 |
false | VRAI | ||||
FAUX | true | 2008 | 15496115.89 | 41224.3038 | |
false | true | 2005 | 7582953.67 | 4326.4144 | |
false | true | 2006 | 22871907.85 | 184419.1335 | |
false | true | 2007 | 30543780.84 | 297538.0745 | |
VRAI | TRUE | 76494758.25 | 527507.9262 |