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 :