
Power Bi-DAX : les fonction de SUMMARIZE: ROLLUP, ROLLUPGROUP & ISSUBTOTAL
Les fonctions qu’on va introduire cette fois sont utilisé à l’intérieur de la fonction DAX "Summarize" de Power Bi.
D'abord on va parler de SUMMARIZE suivie de ROLLUP, ROLLUPGROUP et finalement ISSUBTOTAL.
SUMMARIZE : résumera l’énorme quantité de données dans une table avec des critères fournis.
Syntaxe :
ROLLUP : Indique un sous-ensemble de colonnes spécifiées dans la fonction SUMMARIZE qui devrait être utilisée pour calculer les sous-totaux.
Syntaxe :
ROLLUPGROUP : L’ajout de ROLLUPGROUP à l’intérieur de ROLLUP peut être utilisé pour empêcher les sous-totaux partiels dans les lignes de ROLLUP. ROLLUPGROUP ne peut être utilisé que dans une expression ROLLUP, ROLLUPADDISSUBTOTAL ou ROLLUPISSUBTOTAL.
Syntaxe :
ISSUBTOTAL : Avec ISSUBTOTAL à l’intérieur de SUMMARIZE, on peut créer une colonne qui retourne True si la ligne contient des valeurs de sous-total pour la colonne donnée en argument à ISSUBTOTAL, sinon retourne False. ISSUBTOTAL ne peut être utilisé que dans SUMMARISE.
Syntaxe :
Dans la réalisation, on va créer une nouvelle table avec la fonction "Summarize" pour voir ce qu’elle donne et ajouter les autres fonctions dans chaque exemple :
La dataset utilisée est celle utilisée dans : Power Bi-DAX : Combat de filtres : HASONEFILTER vs HASONEVALUE vs ISFILTERED vs ISCROSSFILTERED.
On va créer une nouvelle table pour calculer le total des ventes pour chaque année à partir de la table "Orders_Details" :
On peut convertir notre colonne en entier pour qu’elle soit plus lisible :
On peut voir qu’on a les ventes pour chaque année, si on veut le total pour toutes les années, on utilise la fonction "ROLLUP" :
On peut grouper par plusieurs colonnes :
On a obtenu le résultat par année et catégories et année et le total pour l’ensemble.
Si on utilise ROLLUPGROUP à la place de ROLLUP, on obtient le même résultat qu’avant:
Mais si on utilise les deux fonctions à la fois :
On remarque qu’on n’a pas eu le total des ventes des années et on a eu seulement celui des deux colonnes :
Seulement le total est "sub total" pour cette fonction, on peut ajouter l’autre colonne pour s’assurer :
Si on enlève le ROLLUPGROUP, le groupent par année est considérée un "sub total" pour la catégorie :