SUMMARIZE
s’applique à :colonne calculéetable calculéeMeasurecalcul 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 |
---|---|
table |
Toute expression DAX qui retourne une table de données. |
groupBy_ColumnName |
(Facultatif) Nom qualifié d’une colonne existante utilisée pour créer des groupes récapitulatives en fonction de la values trouvée dans celle-ci. Ce paramètre ne peut pas être une expression. |
name |
Nom donné à une colonne orsummarize totale, entre guillemets doubles. |
expression |
Toute expression DAX qui retourne un seul valuescalaire, où l’expression doit être évaluée plusieurs fois (pour chaque ligne/contexte). |
Retourner value
Tableau avec les colonnes sélectionnées pour les arguments groupBy_columnName
and les colonnes résumées conçues par les arguments de nom.
Remarques
Chaque colonne pour laquelle vous define un nom doit avoir une expression correspondante ; sinon, une error est retournée. L’argument first, le nom, définit le nom de la colonne dans les résultats. L’argument second, expression, définit le calcul effectué pour obtenir le value de chaque ligne de cette colonne.
groupBy_columnName doit être dans
table
or dans une table related pourtable
.Chaque nom doit être placé entre guillemets doubles.
La fonction regroupe un ensemble de lignes sélectionné dans un ensemble de lignes récapitulatives par le values d’une or plus de colonnes groupBy_columnName. Une ligne est retournée pour chaque groupe.
Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).
Exemple
L’exemple suivant retourne un résumé des ventes des revendeurs regroupés autour du calendaryearand le nom de la catégorie product, ce tableau de résultats vous permet d’effectuer une analyse des ventes des revendeurs par catégorie yearandproduct.
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
Le tableau suivant présente un aperçu des données, car il serait received par n’importe quelle fonction qui s’attend à 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 rollup lignes au résultat sur les colonnes groupBy_columnName. ROLLUP ne peut être utilisé qu’au sein d’une expression SUMMARIZE.
Exemple
L’exemple suivant ajoute rollup lignes 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
L’ajout de ROLLUPGROUP à l’intérieur d’une syntaxe de ROLLUP peut être utilisé pour empêcher les sous-totaux partiels dans rollup lignes. ROLLUPGROUP ne peut être utilisé qu’au sein d’une expression ROLLUP, ROLLUPADDISSUBTOTAL, orROLLUPISSUBTOTAL.
Exemple
L’exemple suivant montre uniquement le total général de all années and catégories sans le sous-total de chaque year avec des catégories all :
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
Avec ISSUBTOTAL, vous pouvez créer une autre colonne dans l’expression SUMMARIZE qui retourne Trueif la ligne containsvalues sous-total pour la colonne donnée en tant qu’argument pour ISSUBTOTAL, sinon retourne False. ISSUBTOTAL ne peut être utilisé qu’au sein d’une expression SUMMARIZE.
Exemple
La sample suivante 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 |
FALSE |
||||
FALSE |
FALSE |
2008 | Bikes | 12968255.42 | 36167.6592 |
FALSE |
FALSE |
2005 | Bikes | 6958251.043 | 4231.1621 |
FALSE |
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 |
TRUE |
||||
FALSE |
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 | |
TRUE |
TRUE |
76494758.25 | 527507.9262 |