0% ont trouvé ce document utile (0 vote)
248 vues8 pages

Formules Dax

Le document présente DAX (Data Analysis Expressions), un langage utilisé pour manipuler et analyser des données dans Power BI. Il décrit la syntaxe de DAX, les types de données, les opérateurs, ainsi que diverses fonctions pour effectuer des calculs, des filtrages et des analyses temporelles. Enfin, il souligne l'importance de comprendre le contexte des lignes et des filtres pour une utilisation efficace de DAX.

Transféré par

cedy27
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
248 vues8 pages

Formules Dax

Le document présente DAX (Data Analysis Expressions), un langage utilisé pour manipuler et analyser des données dans Power BI. Il décrit la syntaxe de DAX, les types de données, les opérateurs, ainsi que diverses fonctions pour effectuer des calculs, des filtrages et des analyses temporelles. Enfin, il souligne l'importance de comprendre le contexte des lignes et des filtres pour une utilisation efficace de DAX.

Transféré par

cedy27
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Amadou SARR Consultant & Formateur en Power BI Février 2025

Introduction

DAX (Data Analysis Expressions) est un langage puissant conçu pour manipuler et
analyser les données dans Power BI, Excel et Analysis Services. Il permet de créer des
mesures, des colonnes calculées et des tables en s'appuyant sur des formules
avancées.

Grâce à DAX, vous pouvez e ectuer des calculs dynamiques, filtrer des données
e icacement et générer des insights précis pour la prise de décision. En combinant
logique, agrégations et filtres contextuels, DAX transforme des données brutes en
informations exploitables.

Pour maîtriser DAX, vous devez comprendre ses principes fondamentaux, tels que la
syntaxe, les types de données, les opérateurs et la manière de se référer aux colonnes et
aux tables.

Syntaxe DAX

Une formule DAX commence toujours par un opérateur égal(=). Après le signe égal, vous
pouvez fournir toute expression qui s'évalue comme un scalaire ou qui peut être
convertie en scalaire. Comprenons la syntaxe à l'aide d'un exemple en décomposant la
formule de mesure DAX suivante :

Total Sales = SUM (Sales[Sales Amount])

 Total Sales: Le nom de la colonne calculée.

 Opérateur égal : Indique le début de la formule DAX.

 SUM: fonction d'agrégation de DAX

 Parenthèses ( ) : Groupement d'arguments

 Sales: Table à référencer

 Crochets [Sales Amount]: Les crochets contiennent la colonne référencée, qui


est également l'argument. La valeur de cet argument doit être transmise à la
fonction.

Types de données dans DAX

DAX peut e ectuer des calculs sur di érents types de données, dont les suivants :

 Texte (binaire) : "Hello, world".

 Décimal (flottant) : 1.23.

 Nombre entier (Integer) : 123.

 Booléen : VRAI ou FAUX.

1
Amadou SARR Consultant & Formateur en Power BI Février 2025

 Date (Date/Time) : DATE(2023,5,11).

 Devise : Un nombre décimal fixe.

Opérateurs DAX

Les formules DAX s'appuient sur des opérateurs pour e ectuer des calculs
arithmétiques, comparer des valeurs, travailler avec des chaînes de caractères ou tester
des conditions.

Voici un aperçu des opérateurs les plus couramment utilisés dans DAX :

Opérateur Type Symbole Application Exemple

Parenthèse () Groupement d'arguments et ordre de priorité (5+7) * 5

Arithmétique + Addition 5+3=8

- Soustraction 9–5=4

* Multiplication 3 * 9 = 27

/ Division 18/3 = 6

^ Exponentiation 16^4 = 65536

Logique && Condition AND entre deux expressions [Region] = "USA" &&
booléennes
|| [Quantity] > 5
Condition OU entre deux expressions
[Region] = "USA" || [Q
booléennes
>5

Comparaison = Egal à [Region] = "USA"

<> Di érent de Region] <> "USA"

> Supérieur à [Quantity] > 5

>= Supérieur ou égal à [Quantity] >= 10

< Inférieur à [Quantity] < 5

<= Inférieur ou égal à [Quantity] <= 5

Concaténation de & Concaténation de chaînes de caractères [Region] & ", " &
texte
[City]

2
Amadou SARR Consultant & Formateur en Power BI Février 2025

Fonctions DAX

Une fonction est une formule nommée dans une expression. La plupart des fonctions
ont des arguments obligatoires et facultatifs, également appelés paramètres, en entrée.
Lorsque la fonction est exécutée, une valeur est renvoyée.

DAX comprend des fonctions permettant d'e ectuer des calculs à l'aide de dates et
d'heures, de créer des valeurs conditionnelles, de travailler avec des chaînes de
caractères, d'e ectuer des recherches basées sur des relations et d'itérer sur une table
pour e ectuer des calculs récursifs. Vous trouverez ci-dessous quelques-unes des
classes de fonctions DAX les plus utilisées.

Fonctions de texte

Vous pouvez utiliser ces fonctions pour renvoyer une partie d'une chaîne, rechercher du
texte dans une chaîne ou concaténer des valeurs de chaîne pour créer une nouvelle
colonne.

La fonction CONCATENATE vous permet de réunir deux chaînes de texte en une seule.
Par exemple, vous pouvez combiner le prénom et le nom d'un employé dans une
nouvelle colonne en définissant une formule DAX comme suit :

Full Name = CONCATENATE (Employees[FirstName], CONCATENATE ( " ", Employee


s[LastName] ) )

La fonction LEFT renvoie les caractères les plus à gauche d'une valeur de texte. Par
exemple, vous pouvez créer une colonne qui raccourcit les noms des mois pour une
meilleure visualisation. La fonction LEFT vous permet de créer une colonne contenant
uniquement les trois premières lettres de chaque mois, comme suit :

Short Name = LEFT (Date[Month], 3)

Fonctions date/heure

Ces fonctions de DAX sont similaires aux fonctions de date et d'heure de Microsoft
Excel. Toutefois, les fonctions DAX sont basées sur les types de données de type
datetime utilisés par Microsoft SQL Server.

 NOW(): La fonction NOW a iche la date et l'heure actuelles sur une feuille de
calcul ou calcule une valeur basée sur la date et l'heure actuelles. Elle met à jour
la valeur à chaque fois que vous ouvrez la feuille de calcul.

 YEAR(<date>): Renvoie l'année d'une date sous la forme d'un nombre entier à
quatre chi res à partir de la colonne de la date. Vous pouvez ajouter une colonne
pour l'année à partir de votre tableau de dates.

 MONTH(<date>): Renvoie le mois d'une date sous la forme d'un nombre (1 - 12).

3
Amadou SARR Consultant & Formateur en Power BI Février 2025

Fonctions de filtre

Les fonctions de filtre et de valeur dans DAX sont certaines des fonctions les plus
complexes et puissantes, et di èrent considérablement des fonctions Excel. Les
fonctions de recherche fonctionnent à l’aide de tables et de relations, comme une base
de données. Les fonctions de filtrage vous permettent de manipuler le contexte de
données pour créer des calculs dynamiques.

 CALCULATE(<expression> [, <filter1> [, <filter2> [, …]]]) : Évalue une


expression dans un contexte de filtre modifié.

Elle s’applique à :

 Colonne calculée
 Table calculée
 Mesure
 Calcul visuel

Exemple :
Blue Revenue =

CALCULATE(

SUM(Sales[Sales Amount]),

'Product'[Color] = "Blue"

 FILTER(<table>,<filter>) : Retourne une table qui représente un sous-ensemble


d’une autre table ou expression.
Exemple :
FILTER('InternetSales_USD',
RELATED('SalesTerritory'[SalesTerritoryCountry])<>"United States")

Fonctions logiques

Ces fonctions évaluent les conditions logiques et renvoient des valeurs vraies ou
fausses.

 IF(<test_logique>, <valeur_si_vrai>, <valeur_si_faux>) : Renvoie une valeur si


une condition est vraie et une autre valeur si elle est fausse.

 AND(<logique1>, <logique2>) : Renvoie VRAI si tous ses arguments sont VRAIS ;


renvoie FAUX si un ou plusieurs de ses arguments sont FAUX.

4
Amadou SARR Consultant & Formateur en Power BI Février 2025

 OR(<logique1>, <logique2>) : Renvoie VRAI si l'un des arguments est VRAI ;


renvoie FAUX si tous les arguments sont FAUX.

 NOT(<logique>) : Inverse la logique de son argument.

Fonctions d'agrégation

Ces fonctions e ectuent des agrégations. En général, ces fonctions créent des sommes
et des moyennes et recherchent les valeurs minimales et maximales. Vous pouvez
également filtrer une colonne dans DAX sur la base de tables connexes, avant de créer
des agrégations. Les fonctions d'agrégation courantes sont les suivantes

 COUNT(<colonne>) : Renvoie le nombre ou le total de toutes les lignes d'une


colonne.

 COUNTROWS([<table>]) : Compte le nombre de lignes de la table spécifiée ou


dans une table définie par une expression.

 DISTINCTCOUNT(<column>) : Compte le nombre de valeurs distinctes dans une


colonne.

 SUM(<colonne>) : Renvoie la somme de toutes les valeurs d'une colonne.

 SUMX(<table>, <expression>) : Retourne la somme d’une expression évaluée


pour chaque ligne d’une table.

 AVERAGE(<colonne>) : Renvoie la moyenne de toutes les valeurs d'une colonne.

 AVERAGEX(<table>,<expression>) : Calcule la moyenne (moyenne


arithmétique) d’un ensemble d’expressions évaluées sur une table.

 MIN(<colonne>) : Renvoie la plus petite valeur d'une colonne.

 MAX(<colonne>) : Renvoie la plus grande valeur d'une colonne.

Fonctions d'intelligence temporelle

Ces fonctions permettent d'e ectuer des calculs à l'aide de la connaissance intégrée
des calendriers et des dates. Vous pouvez établir des comparaisons significatives entre
des périodes comparables pour les ventes, les stocks, etc. en utilisant des plages de
dates et d'heures combinées à des agrégations ou à des calculs.

 SAMEPERIODLASTYEAR(<dates>) : Renvoie une période parallèle calculée par


rapport aux dates fournies.

 DATESYTD(<dates>) : Renvoie les dates depuis le début de l'année jusqu'à la


dernière date de la colonne de dates fournie.

 DATESMTD(<dates>) : Renvoie les dates depuis le début du mois jusqu'à la


dernière date de la colonne de dates fournie.

5
Amadou SARR Consultant & Formateur en Power BI Février 2025

 DATESQTD(<dates>) : Renvoie les dates du début du trimestre jusqu'à la


dernière date de la colonne de dates fournie.

 EDATE(<date_début>, <mois>) : Renvoie la date qui est un nombre spécifié de


mois avant ou après la date de début.

Fonctions statistiques

Ces fonctions calculent des valeurs liées aux distributions statistiques et aux
probabilités, telles que l'écart type et le nombre de permutations. Les fonctions
statistiques courantes sont les suivantes

 STDEV.P(<NomColonne>) : Renvoie l'écart type de l'ensemble de la population.

 MEDIAN(<colonne>) : Renvoie la médiane des nombres d'une colonne.

 RANKX(<tableau>, <expression>[, <valeur>[, <ordre>[, <ties>]]) :) Renvoie le


classement d'un nombre dans une liste de nombres pour chaque ligne du
tableau.

Fonctions relationnelles

Ces fonctions permettent de gérer et d'utiliser les relations entre les tables. Par
exemple, vous pouvez spécifier une relation particulière à utiliser dans un calcul.

 RELATED(<colonne>) : Renvoie une valeur liée d'une autre table.

 RELATEDTABLE : évalue une expression de table dans un contexte modifié par


les filtres donnés.

Fonctions d'information

Ces fonctions examinent une table ou une colonne fournie comme argument à une
autre fonction et déterminent si la valeur correspond au type attendu.

 ISBLANK(<expression>) : Vérifie si une valeur est vide et renvoie VRAI ou FAUX.

 CONTAINS(<tableau>, <colonne>, <valeur>) : Vérifie si les valeurs d'une


colonne existent déjà dans une autre colonne et renvoie une valeur VRAIE ou
FAUX.

6
Amadou SARR Consultant & Formateur en Power BI Février 2025

Points à retenir :

 DAX ne fait pas la distinction entre les majuscules et les minuscules, mais fait la
distinction entre les blancs et les zéros.

 Utilisez des commentaires pour expliquer votre code. Vous pouvez utiliser // pour
un commentaire d'une seule ligne et /* ... * / pour un commentaire sur plusieurs
lignes.

 N'oubliez pas que de nombreuses fonctions DAX nécessitent une relation


existante entre les tables ; assurez-vous donc que votre modèle de données est
correctement configuré.

 Étudiez le contexte des lignes et des filtres, car ils sont essentiels à la
compréhension et à l'utilisation e icace de DAX.

Conclusion

N'oubliez pas que c'est en forgeant qu'on devient forgeron. Passez du temps à
apprendre et à expérimenter les di érentes fonctions et syntaxes DAX à l'aide
d'échantillons de données afin d'améliorer votre compréhension et votre compétence.
Pour plus d'informations, vous pouvez consulter le site Microsoft Learn sur les bases de
DAX.

Vous aimerez peut-être aussi