Cet article explique comment utiliser la fonction ALL en langage DAX et fait suite aux articles :
- Power Pivot: Leçon de DAX no.1 (fonctions X)
- Power Pivot: Leçon de DAX no.2 (RELATED)
- Power Pivot: Leçon de DAX no.3 (COUNTROWS)
- Power Pivot: Leçon de DAX no.4 (FILTER/DISCTINCT)
- Power Pivot: Leçon de DAX no.5 (CALCULATE)
Il vise à démontrer comment utiliser la fonction ALL en langage DAX (Data Analysis Expression), soit le langage utilisé par Power Pivot et par Power BI Desktop.
DĂ©finition de la fonction CALCULATE
All(Table) et All(Column1, Column2, …)
La fonction ALL est une fonction qui force à ignorer le contexte de filtres pour les colonnes concernées. Cette fonction est surtout utilisée comme argument dans la fonction CALCULATE.
All(Table)
Par exemple, ALL(DimProduct) retourne une table comprenant toutes les lignes de la table DimProduct, ignorant les filtres du contexte de filtres sous-jacent. Ăvidemment, les doublons sont retirĂ©s.
All(Column1)
Par exemple, ALL(Sales[StoreID]) retourne une table comprenant toutes les lignes de la colonne StoreID de la table Sales (sans doublons), en ignorant les filtres du contexte de filtres sous-jacent.
All(Column1, Column2, …)
Quand la fonction ALL est utilisĂ©e sur plusieurs colonnes, celles-ci doivent appartenir Ă la mĂȘme table. Par exemple, All(Column1, Column2) retourne une table avec 2 colonnes, Ă partir d’une table source, comprenant toutes les combinaisons de Column1 et Column2 possibles prĂ©sentes dans la table mais elle ignore le contexte de filtres.
Quelques applications de la fonction ALL
Dans notre exemple, nous utilisons le modÚle de données suivant:
Voici un tableau croisé dynamique basé sur ce modÚle et montrant les ventes par catégorie de produits par année:
Exemple de la fonction ALL(Table)
Dans l’exemple ci-dessous, nous calculons le ratio de ventes sur l’ensemble des ventes de toutes les catĂ©gories de produits.
Ce faisant, lorsque nous insĂ©rons ce ratio dans notre tableau croisĂ© dynamique, nous remarquons qu’il prĂ©sente 100% des ventes par catĂ©gorie de produits, pour chacune des annĂ©es.
Et lorsque nous apposons un filtre Ă ce tableau croisĂ© dynamique, dans ce cas, le filtre Partenaires (un des 3 canaux de vente de notre modĂšle), nous observons que le ratio par catĂ©gorie de produits totalise toujours 100% par annĂ©e mais qu’il reprĂ©sente maintenant le ratio de ventes par catĂ©gorie de produits, chez les partenaires seulement.
Cliquez sur l’image pour l’agrandir
Si nous avions plutÎt utilisé la fonction suivante:
Nous aurions plutĂŽt obtenu les ratios de ventes par catĂ©gorie de produits mais pour l’ensemble des ventes, donc pour les annĂ©es 2013 et 2014. Remarquez qu’en additionnant le ratio de 2013 Ă celui de 2014, on obtient 100%.
Dans ce mĂȘme exemple, si nous avions appliquĂ© un fIltre sur le canal Partenaires, nous aurions vu les ratios s’ajuster aux ventes des partenaires. On peut aussi en dĂ©duire que les ventes totales pour 2013 et 2014 des partenaires, reprĂ©sentent 11.75% des ventes totales de 2013 et 2014.
Power Pivot: Leçons de DAX: Suite
Power Pivot: Leçon de DAX no.7 (ALLEXCEPT)
Power Pivot: Leçon de DAX no.8 (ALLSELECTED)
Fichier d’accompagnement VIP Ă tĂ©lĂ©charger
Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
Formation complémentaire
Pour une introduction au langage DAX, utilisé par Power Pivot et par Power BI Desktop, qui permet de créer des tableaux de bord flexibles et faciles à mettre à jour en plus de créer des visualisations de données évoluées et pertinentes, suivez la formation Introduction au langage DAX (Power BI et Power Pivot).
Voici quelques commentaires d’apprenants ayant suivi cette formationâŻ:
La mission du CFO masquĂ© est de dĂ©velopper les compĂ©tences techniques des analystes et des contrĂŽleurs de gestion en informatique dĂ©cisionnelle avec Excel et Power BI et favoriser lâatteinte de leur plein potentiel, en stimulant leur autonomie, leur curiositĂ©, leur raisonnement logique, leur esprit critique et leur crĂ©ativitĂ©.
Merci pour ce site et les exemples.
Dans le dernier exemple ci-dessus avec l’utilisation du ALL comment faire si on veut calculer le pourcentage des ventes mais en tenant compte de l’annĂ©e?
Bonjour Didier,
Il faudrait alors utiliser une formule du genre CALCULATE(Ventes,ALLEXCEPT(DimDates,DimDates[Années]) au dénominateur.
Sophie