Microsoft Power BI Langage DAX DAX signifie Data Analysis Expressions. Il s’agi

Microsoft Power BI Langage DAX DAX signifie Data Analysis Expressions. Il s’agit du langage de formule utilisé dans Power BI (il est également utilisé par Power BI en arrière-plan). Le DAX se retrouve également dans d’autres produits Microsoft, Power Pivot, SSAS en modèle tabulaire SSAS (attention dans ce mode les fonctions peuvent diverger légèrement : « les «, » sont remplacés par des « ; » par exemple ou d’autres subtilités dans le genre) Pour ma part lors de mon initiation j’ai dû créer différents modèles et rajouter certaines mesures calculées. Qu’est-ce qu’une mesure calculée ? Une mesure calculée est généralement réalisée sur une table de fait et permet de réaliser des calculs en fonction de différents axes Il faut donc distinguer :  Les dimensions qui sont des référentiels (des tables figées, comportant des données distinctes ex : les produits)  Les tables de fait qui sont des données qui bougent avec le temps sur lesquelles nous allons effectuer nos opérations d’agrégation et donc réaliser nos mesures calculées (ex : les ventes de produits) Pour effectuer cette démarche nous avons réalisé le modèle suivant Disposant des tables suivantes : Microsoft Power BI Langage DAX YearMonth Cette table contient les années 2007, 2008, 2009 Customer Product Sales Microsoft Power BI Langage DAX Suite à ce modèle nous avons voulu réaliser quelques fonctions intéressantes dont voici le détail 1. SUM La fonction SUM additionne les nombres d’une colonne et retourne un nombre décimal. Syntaxe SUM ( < colonne> ) Exemple Nous créons une mesure qui affiche le nombre de produits vendus SUM_Quantity := SUM( Sales[Quantity] ) EXPLICATION Regardons en détail la 2ème ligne du tableau de résultat « 2007 – United Kingdom ». Les données sources filtrées sur UK 2007 sont –> SUM_Quantity UK 2007 = total des produits vendus aux clients UK en 2007. = 4 + 1 +1 + 3 + 2 = 11 Microsoft Power BI Langage DAX 2. SUMX SUMX est un itérateur. Pour chaque ligne de données concernée, la fonction SUMX évalue l’ expression définie, ensuite elle retourne la somme de ces résultats. Syntaxe SUMX ( <table> , <expression> ) Exemple Pour chaque ligne de vente, le montant de vente = la quantité du produit vendu * le prix du produit. Nous souhaitons afficher le montant des ventes de chaque année. Pour cela, nous créons une mesure Montant en utilisant la fonction SUMX Montant = SUMX( Sales; Sales[Quantity] * Sales[Unit Price] ) EXPLICATION Pour l’année 2009, les données sources sont –> Montant 2009 = 1*28 + 4*28 + 6*34 + 1*36 = 380 / !\ La fonction SUM ne peut pas être utilisée dans ce cas, cette fonction n’accepte comme paramètre qu’une colonne. Microsoft Power BI Langage DAX 3. FILTER La fonction FILTER retourne un sous-ensemble d’une table qui satisfait les conditions définies Syntaxe FILTER ( <table>,<filtre(s)> ) Exemple Nous souhaitons créer une mesure qui affiche le nombre de produits vendus qu’aux clients français SUM_QuantityFR = SUMX( FILTER( Sales; RELATED(Customer[Country]) = "France"); Sales[Quantity] ) EXPLICATION Pour l’année 2009,  La ligne « France » : la mesure SUM_QuantityFR affiche la quantité totale des produits vendus aux clients français  La ligne « United Kingdom » : la mesure SUM_QuantityFR n’affiche rien car il n’y a pas de ventes aux clients qui sont en même temps français et anglais 4. CALCULATE La fonction CALCULATE modifie le contexte de filtre et évalue l’expression définie dans le nouveau contexte. CALCULATE et CALCULATETABLE sont les 2 seules fonctions qui peuvent modifier le contexte de filtre. Syntaxe Microsoft Power BI Langage DAX CALCULATE ( <expression>, <filtre 1>, <filtre 2>…) Exemple Nous souhaitons afficher pour chaque année et chaque pays le nombre de produits vendus aux clients français. CALCULATE_QuantityFR = CALCULATE ( SUM(Sales[Quantity]); FILTER( ALL(Customer); Customer[Country] = "France") ) (La fonction ALL sera expliquée dans le point suivant) EXPLICATION Prenons par exemple la 3ème ligne du tableau de résultat ci-dessus  CALCULATE reçoit comme contexte de filtre l’année 2009 et le pays United Kingdom  Ensuite CALCULATE évalue le filtre FILTER( ALL(Customer); Customer[Country] = « France »  Le filtre est évalué sur l’ensemble de la table Customer (grâce à la fonction ALL). Ce filtre retourne tous les clients français  CALCULATE évalue l’expression SUM(Sales[Quantity]) dans le nouveau contexte de filtre, cad l’année 2009 et le pays France  CALCULATE restaure le contexte de filtre initial (2009 – United Kingdom) et affiche le résultat du calcul Les données source pour l’année 2009 sont Microsoft Power BI Langage DAX –> CALCULATE_QuantityFR pour UK 2009 = 4 + 1 = 5 5. ALL La fonction ALL retourne toutes les lignes d’une table ou toutes les valeurs d’une colonne, en supprimant tous les filtres. Syntaxe ALL ( { <table>|<colonne>[, <colonne>[, …]] } ) Exemple Nous souhaitons afficher le nombre total des produits vendus chaque année en ignorant les filtres sur Produit ALL_Quantity = CALCULATE ( SUM(Sales[Quantity]); ALL('Product') ) La colonne ALL_Quantity affiche pour chaque produit vendu de chaque année le nombre total des produits vendus de l’année. EXPLICATION Les données sources de l’année 2009 sont Microsoft Power BI Langage DAX –> Pour chaque produit vendu en 2009, ALL_Quantity = 1 + 4 + 6 + 1 = 12 6. ALLEXCEPT La fonction ALLEXCEPT retourne une table en gardant que les filtres sur les colonnes spécifiées de la table spécifiée dans l’expression, les autres filtres de la même table sont supprimés. Syntaxe ALLEXCEPT ( <table>, <colonne>[, <colonne>[, …]] ) Exemple Créons la mesure suivante pour calculer le montant de vente de tous les pays confondus. ALLEXCEPTCountry_Montant = CALCULATE ( [Montant]; ALLEXCEPT(Customer; Customer[Country]) ) Nous affichons d’abord cette nouvelle mesure par année et par pays. EXPLICATION Les filtres pris en compte par la mesure ALLEXCEPTCountry_Montant sont  Le filtre sur Country de la table Customer  Tous les filtres sur toutes les colonnes des autres tables Microsoft Power BI Langage DAX Les filtres sur les 2 colonnes affichées (année et pays) sont donc pris en compte dans le calcul de ALLEXCEPTCountry_Montant. Cela explique pourquoi les 2 mesures Montant et ALLEXCEPTCountry_Montant affichent les mêmes valeurs qui sont les montants des ventes par année et par pays Ajoutons maintenant dans le tableau la colonne Gender. EXPLICATION La colonne Gender fait partie de la table Customer, les filtres appliqués sur cette colonne ne sont donc pas pris en compte par la mesure ALLEXCEPTCountry_Montant ALLEXCEPTCountry_Montant affiche les montants totaux des ventes par année et par pays, pour tous les genres confondus. Les lignes ayant la même année et le même pays ont la même valeur de ALLEXCEPTCountry_Montant ALLEXCEPTCountry_Montant des lignes France 2009 = 28*4 + 36 = 148 Pour rappel, les données de ventes filtrées sur France – 2009 sont 7. ALLSELECTED La fonction ALLSELECTED retourne toutes les lignes d’une table ou toutes les valeurs d’une colonne en conservant que les filtres définis à l’extérieur de la requête Syntaxe ALLSELECTED ( <table> | <colonne> ) Microsoft Power BI Langage DAX Exemple Pour chaque année, nous souhaitons afficher la quantité totale des produits vendus et affichés dans le rapport. ALLSELECTED_Quantity = CALCULATE ( SUM(Sales[Quantity]); ALLSELECTED('Product'[Product Name]) ) Nous affichons les mesures SUM_Quantity, ALL_QuantityByYear et ALLSELECTED_Quantity en filtrant sur 2 produits « SV 16xDVD M360 Black » et « WWI 1GB Pulse Smart pen E50 Silver » EXPLICATION Pour rappel :  SUM_Quantity : le nombre de produits vendus  ALL_Quantity : le nombre total de tous les produits vendus  ALLSELECTED_Quantity : le nombre total des produits vendus et affichés dans le rapport. Nous constatons que ALL_Quantity affiche le nombre total de tous les produits vendus de l’année concernée, même ceux qui ne sont pas affichés dans le tableau. Alors que ALLSELECTED_Quantity ne prend en compte que les produits affichés. Pour l’année 2007, ALLSELECTED_Quantity = le nombre de « SV 16xDVD M360 Black » vendus en 2007 + le nombre de « WWI 1GB Pulse Smart pen E50 Silver » vendus en 2007 = 7 + 5 = 12 Microsoft Power BI Langage DAX 8. ISFILTERED La fonction ISFILTERED retourne TRUE lorsque la colonne spécifiée est directement filtrée. Syntaxe ISFILTERED ( <colonne> ) Exemple Nous créons la mesure suivante permettant de vérifier s’il y a un filtre sur la colonne Country de la table Customer ISFILTERED_Country = ISFIlTERED(Customer[Country]) Nous affichons cette nouvelle mesure avec la colonne Gender, la valeur est toujours FALSE parce qu’il n’y a pas de filtre sur la colonne Country Maintenant nous allons appliquer un filtre sur Country à la valeur de ISFILTERED_COUNTRY passe à « TRUE » Microsoft Power BI Langage DAX 9. COUNTROWS La fonction COUNTROWS retourne le nombre de lignes de la table spécifiée dans l’expression Syntaxe COUNTROWS ( <table> ) Exemple Pour compter le nombre de lignes de la table Sales COUNTROWS_Sales = COUNTROWS(Sales) Le nombre de lignes de la table Sales par pays 10. VALUES La fonction VALUES retourne les valeurs distinctes de la colonne spécifiée dans l’expression Microsoft Power BI Langage DAX Syntaxe VALUES ( <colonne> ) Exemple Nous souhaitons savoir le nombre de différents produits vendus. Pour cela, nous utilisons la fonction uploads/Marketing/ dax-functions.pdf

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mar 28, 2021
  • Catégorie Marketing
  • Langue French
  • Taille du fichier 0.9809MB