DAX Autre - Fonction GROUPBY
La description
Renvoie une table avec un ensemble de colonnes sélectionnées. Permet à la fonction DAX CURRENTGROUP d'être utilisée dans des fonctions d'agrégation dans les colonnes d'extension qu'elle ajoute. GROUPBY tente de réutiliser les données qui ont été regroupées, ce qui les rend très performantes.
La fonction DAX GROUPBY est similaire à la fonction DAX SUMMARIZE. Cependant, GROUPBY n'effectue pas de CALCULATE implicite pour les colonnes d'extension qu'il ajoute.
La fonction DAX GROUPBY est nouvelle dans Excel 2016.
Syntaxe
GROUPBY (<table>, [<groupBy_columnName1>], [<name>, <expression>] …)
Paramètres
N ° Sr. | Terme et définition |
---|---|
1 | table Toute expression DAX qui renvoie une table de données. |
2 | groupBy_columnName1 Le nom d'une colonne existante dans la table (ou dans une table associée), par laquelle les données doivent être regroupées. Ce paramètre ne peut pas être une expression. |
3 | name Nom donné à une nouvelle colonne qui est ajoutée à la liste des colonnes GroupBy, entre guillemets. |
4 | expression Toute expression DAX qui renvoie une valeur scalaire unique, où l'expression doit être évaluée pour chaque ensemble de valeurs GroupBy.
|
Valeur de retour
Une table avec les colonnes sélectionnées pour les paramètres groupBy_columnName et les colonnes groupées par colonnes désignées par les paramètres de nom.
Remarques
La fonction GROUPBY effectue les opérations suivantes -
Commencez par la table spécifiée (et toutes les tables associées dans le sens «à un»).
Créez un regroupement en utilisant toutes les colonnes GroupBy (qui doivent exister dans le tableau de l'étape 1).
Chaque groupe est une ligne dans le résultat, mais représente un ensemble de lignes dans la table d'origine.
Pour chaque groupe, évaluez les colonnes d'extension ajoutées. Contrairement à la fonction SUMMARIZE, un CALCULATE implicite n'est pas effectué et le groupe n'est pas placé dans le contexte de filtre.
Paramètres
Chaque colonne pour laquelle vous définissez un nom doit avoir une expression correspondante. Sinon, une erreur est renvoyée.
Le premier paramètre, nom, définit le nom de la colonne dans les résultats. Le deuxième paramètre, expression, définit le calcul effectué pour obtenir la valeur de chaque ligne de cette colonne.
Chaque nom doit être placé entre guillemets doubles.
groupBy_columnName doit être dans une table ou dans une table associée.
La fonction regroupe un ensemble sélectionné de lignes en un ensemble de lignes récapitulatives par les valeurs d'une ou plusieurs colonnes groupBy_columnName. Une ligne est renvoyée pour chaque groupe.
GROUPE ACTUEL ()
La fonction CURRENTGROUP ne peut être utilisée que dans une expression qui définit une colonne dans la fonction GROUPBY.
CURRENTGROUP renvoie un ensemble de lignes du paramètre de table de GROUPBY qui appartiennent à la ligne actuelle du résultat GROUPBY.
La fonction CURRENTGROUP n'accepte aucun paramètre et n'est prise en charge que comme premier paramètre de l'une des fonctions d'agrégation suivantes: AverageX, CountAX, CountX, GeoMeanX, MaxX, MinX, ProductX, StDevX.S, StDevX.P, SumX, VarX.S, VarX .P.
Exemple
= GROUPBY (
Sales,Sales[Salesperson],Products[Product],"Total Sales",
SUMX (CURRENTGROUP (),[Sales Amount])
)