Démarrer avec DAX dans Power BI



Ce blog Edureka vous aide à démarrer avec les principes de base de Power BI DAX ou les expressions d'analyse de données si vous êtes nouveau dans Power BI avec la syntaxe et les exemples.

Ce blog est essentiellement destiné aux nouveaux utilisateurs et est destiné à vous donner un aperçu rapide et facile d'un langage de formule appelé Expressions d'analyse de données (DAX) .Si vous connaissez les fonctions de MS Excel ou , de nombreuses formules dans ce Principes de base de Power BI DAX l'article vous ressemblera.

Cela dit, voici les concepts, qui font partie intégrante de tout , après avoir appris ce que vous devez avoir une bonne compréhension des concepts les plus fondamentaux de DAX.





Principes de base de Power BI DAX: qu'est-ce que DAX?

Alors, commençons par les bases de Power BI DAX, d'accord?

Il est assez facile de créer des rapports à l’aide de Power BI Desktop, qui afficheront des informations précieuses dès le départ.



Mais que se passe-t-il si vous devez analyser le pourcentage de croissance dans toutes les catégories de produits, pour toutes les différentes plages de dates? Ou vous avez besoin de calculer la croissance annuelle de votre entreprise par rapport aux géants du marché?

L'apprentissage de DAX vous aidera à tirer le meilleur parti de votre et résolvez de vrais problèmes commerciaux.

DAX comprend des fonctions, des opérateurs et des constantes qui peuvent être mis sous forme de formules pour calculer des valeurs à l'aide de données déjà présentes dans votre modèle.



Power BI DAX comprend une bibliothèque de plus de 200 fonctions, opérateurs et constructions. Sa bibliothèque offre une immense flexibilité dans la création de mesures pour calculer les résultats pour à peu près tous les besoins d'analyse de données.

Principes de base de Power BI DAX: comment ça marche?

Tout d'abord, laissez-moi vous expliquer comment cela fonctionne.Nous allons, pour la plupart, encadrer notre compréhension de Power BI DAX autour de trois concepts fondamentaux: Syntaxe , Le contexte , et Les fonctions .

Bien sûr, il y a d'autres concepts importants ici, mais leur compréhension vous fournira la meilleure base sur laquelle vous allez développer vos compétences.

Syntaxe

La Syntaxe comprend divers composants qui composent une formule et comment elle est écrite. LRegardez cette formule DAX simple.

Lorsque vous essayez de comprendre une formule DAX, il est souvent utile de décomposer chacun des éléments dans une langue que vous pensez et parlez tous les jours. Ainsi, cette formule comprend les éléments de syntaxe suivants:

Syntaxe - Power BI DAX - Edureka

JE. Ventes totales est le nom de la mesure.

II. La opérateur de signe égal (=) indique le début de la formule.

III. SOMME additionne tous les nombres de la colonne, Ventes [SalesAmount] .

IV. Il y a ces parenthèses () qui entourent une expression contenant un ou plusieurs arguments. Toutes les fonctions nécessitent au moins un argument.

V. Ventes est la table référencée.

NOUS. Une argument passe une valeur à une fonction. La colonne référencée [Montant des ventes] est un argument avec lequel, la fonction SOMME connaît la colonne sur laquelle elle doit agréger une SOMME.

En termes simples, vous pouvez le lire comme suit: ' Pour la mesure nommée Total Sales, calculez (=) la somme des valeurs de la colonne [SalesAmount] de la table Sales. »

&piquesL'éditeur Power BI DAX comprend une fonctionnalité de suggestions, qui vous aide à créer des formules syntaxiquement correctes en vous suggérant les bons éléments.

Le contexte

Le contexte est l'un des trois concepts DAX les plus importants. Quand on parle de contexte, cela peut renvoyer à l'un des deux types Contexte de ligne et Contexte du filtre .

Utilisé principalement en parlant de Les mesures , la Contexte de ligne est le plus facilement considérée comme la ligne actuelle. Il s'applique chaque fois qu'une formule a une fonction qui applique des filtres pour identifier une seule ligne dans une table.

Filtre-Contexte est un peu plus difficile à comprendre que le Row-Context. Vous pouvez le plus facilement considérer le contexte de filtre comme un ou plusieurs filtres appliqués dans un calcul. LaLe contexte de filtre n’existe pas à la place du contexte de ligne. Il s’applique plutôt en plus du premier. Regardez la formule DAX suivante.

Cette formule comprend les éléments de syntaxe suivants:

JE. Le nom de la mesure Ventes en magasin .

II. La opérateur de signe égal (=) indique le début de la formule.

III. La CALCULER function évalue une expression, en tant qu'argument.

IV. Parenthèse () entoure une expression contenant un ou plusieurs arguments.

V. Une mesure [Ventes totales] dans le même tableau qu'une expression.

NOUS. À virgule (,) sépare le premier argument d'expression de l'argument de filtre.

VIENS-TU. La colonne référencée entièrement qualifiée, Chaîne [ChannelName] est notre Row-Context. Chaque ligne de cette colonne spécifie un canal, un magasin, en ligne, etc.

VIII. La valeur particulière, Boutique est utilisé comme filtre. Ceci est notre contexte de filtre.

Cette formule assure cette la mesure des ventes totales est calculée uniquement pour les lignes de la colonne Channel [ChannelName] avec la valeur «Store», comme filtre.

Les fonctions

Les fonctions sont des formules prédéfinies, structurées et ordonnées. Ils effectuent des calculs en utilisant arguments transmis à eux. Ces arguments peuvent être des nombres, du texte, des valeurs logiques ou d'autres fonctions.

Principes de base de Power BI DAX: Colonnes et mesures calculées

Dans ce blog, nous allons nous concentrer sur les formules Power BI DAX utilisées dans les calculs, dans Les mesures et Colonnes calculées .

Colonnes calculées

Lorsque vous créez un modèle de données sur le bureau Power BI, vous pouvez étendre une table en créant de nouvelles colonnes. Le contenu des colonnes est défini par une expression DAX, évaluée ligne par ligne ou dans le contexte de la ligne actuelle dans cette table.

Dans les modèles de données pour DAX, cependant, toutes les colonnes calculées occupent de l'espace en mémoire et sont calculées pendant le traitement de la table.

Ce comportement est utile pour améliorer l'expérience utilisateur, mais il utilise une mémoire RAM précieuse et constitue donc une mauvaise habitude en production car chaque calcul intermédiaire est stocké dans la RAM et gaspille un espace précieux.

Les mesures

Il existe une autre façon de définir des calculs dans un modèle DAX, utile si vous devez opérer sur des valeurs d'agrégation plutôt que sur une base ligne par ligne. Ces calculs sont des mesures. L'une des exigences de DAX est qu'une mesure doit être définie dans un tableau. Cependant, la mesure n'appartient pas vraiment au tableau. Ainsi, vous pouvez déplacer une mesure d'une table à une autre sans perdre sa fonctionnalité.

Colonnes calculées vs mesures

Les mesures et les colonnes calculées utilisent toutes deux des expressions DAX. La différence réside dans le contexte de l'évaluation. Une mesure est évaluée dans le contexte de la cellule évaluée dans un rapport ou dans une requête DAX, tandis qu'une colonne calculée est calculée au niveau de la ligne dans la table à laquelle elle appartient.

Même si elles se ressemblent, il existe une grande différence entre les colonnes calculées et les mesures. La valeur d'une colonne calculée est calculée lors d'une actualisation des données et utilise la ligne actuelle comme contexte, elle ne dépend pas de l'interaction de l'utilisateur dans le rapport.

Par conséquent, vous devez définir une colonne calculée chaque fois que vous souhaitez effectuer les opérations suivantes

  • Placez les résultats calculés dans un segment, ou affichez les résultats dans des lignes ou des colonnes dans un tableau croisé dynamique (par opposition à la zone de valeurs), ou dans les axes d'un graphique, ou utilisez le résultat comme condition de filtre dans une requête DAX.
  • Définissez une expression strictement liée à la ligne actuelle. Par exemple, Prix * Quantité ne peut pas fonctionner sur une moyenne ou sur une somme des deux colonnes.
  • Catégorisez le texte ou les nombres. Par exemple, une plage de valeurs pour une mesure.

Une mesure fonctionne sur des agrégations de données définies par le contexte actuel, qui dépend du filtre appliqué dans le rapport, comme la sélection de segments, de lignes et de colonnes dans un tableau croisé dynamique, ou d'axes et de filtres appliqués à un graphique.

Par conséquent, vous devez définir une mesure chaque fois que vous souhaitez afficher les valeurs de calcul résultantes qui reflètent les sélections de l'utilisateur, telles que

  • Lorsque vous calculez le pourcentage de profit sur une certaine sélection de données.
  • Lorsque vous calculez les ratios d'un produit par rapport à tous les produits, mais en conservant le filtre à la fois par année et par région.

Principes de base de Power BI DAX: Types de fonctions dans DAX

1. Fonctions d'agrégation

MIN

Cette fonction DAX ret renvoie la valeur numérique minimale dans une colonne ou entre deux expressions scalaires.

Syntaxe

MIN()

Exemple

=MIN([ResellerMargin])

MINA

Cette fonction DAX ret renvoie la valeur minimale dans une colonne, y compris les valeurs logiques et les nombres représentés sous forme de texte.

Syntaxe

MINA()

Exemple

=MINA(([Code postal])

FRIPONNE

Cette fonction DAX renvoiela valeur numérique minimale qui résulte de l'évaluation d'une expression pour chaque ligne d'une table.

Syntaxe

FRIPONNE(

,)

Exemple

=FRIPONNE(FILTRE(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Fret] + InternetSales [TaxAmt])

MAX

Cette fonction DAX ret renvoie la valeur maximale dans une colonne, y compris les valeurs logiques et les nombres représentés sous forme de texte.

Syntaxe

MAX()

Exemple

=MAX([ResellerMargin])

MAX

Cette fonction DAX ret renvoie la valeur maximale dans une colonne, y compris les valeurs logiques et les nombres représentés sous forme de texte.

Syntaxe

MAX()

Exemple

=MAX(([Code postal])

MAXX

Cette fonction DAX renvoiela valeur numérique maximale qui résulte de l'évaluation d'une expression pour chaque ligne d'une table.

Syntaxe

MAXX(

,)

Exemple

=MAXX(FILTRE(InternetSales, InternetSales [SalesTerritoryKey] =5), InternetSales [Fret] + InternetSales [TaxAmt])

SOMME

Cette fonction DAX adds tous les nombres d'une colonne.

Syntaxe

SOMME()

Exemple

=SOMME(Bureau de vente])

MOYENNE

Cette fonction DAX ret renvoie la moyenne arithmétique des valeurs d'une colonne.

Syntaxe

MOYENNE()

Exemple

=MOYENNE(InternetSales [ExtendedSalesAmount])

sumx

Cette fonction DAX ret renvoie la somme d'une expression évaluée pour chaque ligne d'une table.

Syntaxe

sumx(

,)

Exemple

=sumx(FILTRE(InternetSales, InternetSales [SalesTerritoryID] =5),[Cargaison])

MOYENNEX

Cette fonction DAX ccalcule la moyenne arithmétique d'un ensemble d'expressions évalué sur une table.

Syntaxe

MOYENNEX(

,)

Exemple

=MOYENNEX(InternetSales, InternetSales [Fret] + InternetSales [TaxAmt])

2. Fonctions de comptage

DISTINCTCOUNT

Il s'agit d'une fonction DAX utilisée pour renvoyer le nombre distinct d'éléments dans une colonne. Donc, s'il y a plusieurs numéros du même élément, cette fonction le comptera comme un seul élément.

Syntaxe

DISTINCTCOUNT()

Exemple

=DISTINCTCOUNT(ResellerSales_USD [SalesOrderNumber])

COMPTER

Il s'agit d'une fonction DAX utilisée pour renvoyer le nombre d'éléments dans une colonne. Donc, s'il y a plusieurs numéros du même élément, cette fonction le comptera comme des éléments séparés et non comme un seul élément.

Syntaxe

COMPTER()

Exemples

=COMPTER([ShipDate])

COUNTA

Il s'agit d'une fonction DAX utilisée pour renvoyer le nombre d'éléments, dans une colonne, qui n'est pas vide.

Syntaxe

COUNTA()

implémentation simple de hashmap en java

Exemple

=COUNTA('Revendeur' [Téléphone])

COUNTROWS

Il s'agit d'une fonction DAX quicompte le nombre de lignes dans la table spécifiée ou dans une table définie par une expression.

Syntaxe

COUNTROWS(

)

Exemple

=COUNTROWS('Ordres')

COUNTBLANK

Il s'agit d'une fonction DAX quicompte le nombre de cellules vides dans une colonne.

Syntaxe

COUNTBLANK()

Exemple

=COUNTBLANK(Revendeur [BankName])

3. Fonctions date-heure

DATE

Cette fonction DAX ret renvoie la date spécifiée au format Date-Heure.

Syntaxe

DATE(<an>,<mois>,<journée>)

Exemple

=DATE(2019,12, 17)

HEURE

Cette fonction DAX ret renvoie l'heure spécifiée sous la forme d'un nombre compris entre 0 et 23 (12h00 à 23h00).

Syntaxe

HEURE()

Exemple

=HEURE('Commandes' [TransactionTime])

AUJOURD'HUI

Cette fonction DAX ret renvoie la date actuelle.

Syntaxe

AUJOURD'HUI()

MAINTENANT

Cette fonction DAX ret renvoie la date et l'heure actuelles au format Date-Heure.

Syntaxe

MAINTENANT()

EOMONTH

Cette fonction DAX ret renvoie la date au format Date-Heure du dernier jour du mois, avant ou après un nombre de mois spécifié.

Syntaxe

EOMONTH(,)

Exemple

=EOMONTH(«3 mars 2008»,1,5)

4. Fonctions mathématiques

SECTION

Cette fonction DAX ret renvoie la valeur absolue du nombre donné.

Syntaxe

SECTION()

Exemple

=ABS ([DealerPrice] - [ListPrice])

EXP

Cette fonction DAX ret renvoie la valeur de e élevée à la puissance du nombre donné.

Syntaxe

EXP()

Exemple

= EXP ([Puissance])

FAIT

Cette fonction DAX ret renvoie la factorielle d'un nombre.

Syntaxe

FAIT()

Exemple

= FAIT ([Valeurs])

LN

Cette fonction DAX ret renvoie le logarithme naturel du nombre donné.

Syntaxe

LN()

Exemple

= LN ([Valeurs])

JOURNAL

Cette fonction DAX ret renvoie le journal avec la base du nombre donné.

Syntaxe

JOURNAL(,)

Exemple

Tous les éléments suivants renvoient le même résultat, 2.

= JOURNAL (100,dix)

= JOURNAL (100)

= LOG10 (100)

PI

Cette fonction DAX ret renvoie la valeur de Pi.

Syntaxe

PI()

PUISSANCE

Cette fonction DAX ret renvoie la valeur du premier argument élevé à la puissance du second argument.

Syntaxe

PUISSANCE(,<Puissance>)

Exemple

= PUISSANCE (5,2)

QUOTIENT

Cette fonction DAX effectue la division ret renvoie la partie entière du quotient.

Syntaxe

QUOTIENT(,)

Exemple

= QUOTIENT (5,2)

SIGNE

Cette fonction DAX renvoie le signe d'un nombre donné.

Syntaxe

SIGNE()

Exemple

= SIGN (([Prix de vente] - [Prix de revient]))

SQRT

Cette fonction DAX ret renvoie la racine carrée du nombre donné.

Syntaxe

SQRT()

Exemple

= SQRT (25)

5. Fonctions logiques

ET

Cette fonction DAX effectue un ET logique (conjonction) sur deux expressions. Pour que AND renvoie true, les deux conditions spécifiées doivent être remplies.

Syntaxe

ET(,)

Exemple

= SI (ET (dix>9, -dix <-un),'Tout est vrai','Un ou plusieurs faux'

Étant donné que les deux conditions, passées en arguments, à la fonction AND sont vraies, la formule renvoie «All True».

OU

Cette fonction DAX effectue un OU logique (disjonction) sur deux expressions. Pour que OR renvoie vrai, l'une des deux conditions spécifiées doit être remplie.

Syntaxe

OU(,)

Exemple

= SI (OU (dix>9, -dix> -un),'Vrai','Faux'

Étant donné que l'une des conditions, passées en arguments, à la fonction OR est vraie, la formule renvoie «True».

NE PAS

Cette fonction DAX effectue un NON logique (négation) sur une expression donnée.

Syntaxe

NE PAS()

Exemple

= NOT ([CalculatedColumn1])

Pour chaque ligne dans Calculated Column1, la fonction NOT renvoie l'opposé logique de la valeur donnée.

SI

Cette fonction DAX teste une série d'entrées pour celle qui remplit la condition spécifiée dans l'argument.

Syntaxe

SI(test_logique> ,, valeur_si_faux)

Exemple

= IF ([Appels]<200,'faible', IF ([Appels]<300,'moyen','haute'))

IFERREUR

Cette fonction DAX evalorise une expression et renvoie une valeur spécifiée si l'expression renvoie une erreur.

Syntaxe

IFERREUR(valeur, value_if_error)

Exemple

= IFERREUR (25/0,9999)

6. Fonctions d'information

ISBLANK

Cette fonction DAXrenvoie TRUE ou FALSE aprèscvérifier si une valeur est vide.

Syntaxe

ISBLANK(<valeur>)

Exemple

= IF (ISBLANK ('CalculatedMeasures' [PreviousYearTotalSales]), BLANK (), ('CalculatedMeasures' [Total Sales] - 'CalculatedMeasures' [PreviousYearTotalSales]) / 'CalculatedMeasures' [PreviousYearTotalSales])

NOMBRE

Cette fonction DAXrenvoie TRUE ou FALSE aprèscvérifier si une valeur est numérique.

Syntaxe

NOMBRE(<valeur>)

Exemple

= SI (ISNOMBRE (0),'Est un numéro','N'est pas un numéro')

ISTEXTE

Cette fonction DAXrenvoie TRUE ou FALSE aprèscvérifier si une valeur est un texte.

Syntaxe

ISTEXTE(<valeur>)

Exemple

= SI (ISTEXTE ('texte'),'Est un texte','Est sans texte')

ISNONTEXT

Cette fonction DAXrenvoie TRUE ou FALSE aprèscvérifier si une valeur n'est pas du texte.

Syntaxe

ISNONTEXT(<valeur>)

Exemple

= SI (ISNONTEXTE ('texte'),'Est sans texte','Est un texte')

ISERREUR

Cette fonction DAXrenvoie TRUE ou FALSE aprèscvérifier si une valeur est une erreur.

Syntaxe

ISERROE(<valeur>)

Exemple

= IF (ISERROR (SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD])), BLANK (), SUM ('ResellerSales_USD' [SalesAmount_USD]) / SUM ('InternetSales_USD' [SalesAmount_USD]))

7. Fonctions de texte

ENCHAÎNER

Cette fonction DAX joins deux chaînes de texte en une seule.

Syntaxe

ENCHAÎNER(,)

Exemple

= CONCATENER ('Bonjour', 'Monde')

CONCATENATEX

Cette fonction DAXle résultat d'une expression évaluée pour chaque ligne d'une table.

Syntaxe

CONCATENATEX(

,, [délimiteur])

Exemple

= CONCATENATEX (Employés, [FirstName] & ““ & [LastName], “,”)

FIXÉ

Cette fonction DAX rrésonne un nombre au nombre de décimales spécifié et renvoie le résultat sous forme de texte.

Syntaxe

FIXÉ(,,)

Exemple

= FIXE ([PctCost],3,un)

REMPLACER

Cette fonction DAXremplace une partie d'une chaîne de texte, en fonction du nombre de caractères que vous spécifiez, par une chaîne de texte différente.

Syntaxe

REMPLACER(,,,)

Exemple

= REPLACE ('Nouveaux produits' [Code produit],un,2,«OB»)

CHERCHER

Cette fonction DAX ret renvoie le nombre de caractères auquel une chaîne de texte spécifique est trouvée pour la première fois.

Syntaxe

CHERCHER(, [, [] [,]])

Exemple

= RECHERCHE ('n','imprimante')

La formule renvoie 4 car «n» est le quatrième caractère du mot «imprimante».

PLUS HAUT

Cette fonction DAX renvoieune chaîne de texte dans toutes les lettres majuscules.

Syntaxe

PLUS HAUT()

Exemple

= UPPER (['Nouveaux produits' [Code produit])

Principes de base de Power BI DAX: création de votre première mesure

Prérequis: Vous devrez ouvrir ce fichier Power BI Desktop donné .

Puisque je suppose que ce sera votre premier, je vais écrire ce peu en détail pour que vous puissiez suivre.

  1. Dans la liste des champs du Vue du rapport , faites un clic droit sur le Ventes tableau, suivi du Nouvelle mesure .

  2. Remplacer Mesure en tapant un nouveau nom de mesure Ventes du trimestre précédent, dans le Barre de formule .

  3. Dans cette formule, vous souhaitez utiliser le CALCULER fonction. Donc, après le signe égal, tapez les premières lettres CAL , puis double-cliquez sur la fonction que vous souhaitez utiliser.

  4. La fonction CALCULATE a au moins deux arguments. Le premier est l'expression à évaluer et le second est un Filtre .

  5. Après l'ouverture parenthèse ( pour le CALCULER fonction, type SOMME suivi d'une autre parenthèse ouvrante ( pour passer un argument au SOMME fonction.

  6. Commencez à taper Sel , puis sélectionnez Ventes [SalesAmount] , suivi d'une parenthèse fermante ) . C'est le premier argument d'expression pour notre CALCULER fonction.

  7. Type A virgule (,) suivi d'un espace pour spécifier le premier filtre, puis tapez QUARTIER PRÉCÉDENT . Ce sera notre filtre.

  8. Vous utiliserez le QUARTIER PRÉCÉDENT fonction d'intelligence temporelle pour filtrer SOMME résultats du trimestre précédent.

  9. Après la parenthèse ouvrante ( pour la fonction PREVIOUSQUARTER, tapez Calendrier [DateKey] .

  10. La QUARTIER PRÉCÉDENT function a un argument, une colonne contenant une plage de dates contiguë. Dans notre cas, c'est le DateKey colonne dans le tableau Calendrier.

  11. Assurez-vous que les arguments passés au PREVIOUSQUARTER et à la fonction CALCULATE sont fermés en tapant deux parenthèses fermées )) .

    que signifie ajouter en java
  12. Votre formule devrait maintenant ressembler à ceci
    Ventes du trimestre précédent = CALCULATE (SUM (Sales [SalesAmount]), PREVIOUSQUARTER (Calendar [DateKey]))

  13. Cliquez sur la coche dans la barre de formule ou appuyez sur Entrée pour valider la formule.

Une fois que vous l'avez ajouté à votre modèle, le tour est joué! Vous venez de créer une mesure à l'aide de DAX, et ce n'est pas facile.

Ce que fait cette formule est calculer le total des ventes du trimestre précédent, en fonction des filtres appliqués dans un rapport.

Alors, si nous devions mettre Montant des ventes et notre nouveau Ventes du trimestre précédent mesurer dans un graphique, puis ajouté An et QuarterOfYear comme Trancheuses, nous obtiendrions quelque chose comme ce qui suit

Maintenant que vous avez une compréhension de base des concepts dans Power BI DAX, vous pouvez commencer à créer vous-même des formules DAX pour les mesures. En effet, cela peut être un peu difficile à apprendre, maisDAX existe depuis plusieurs années etil existe de nombreuses ressources disponibles sur le Web. Après avoir lu ce blog et un peu d'expérimentation, vous pouvez apprendre à trouver des solutions métier via Power BI DAX.