Vous êtes sur la page 1sur 33

Ceci est la version HTML du fichier https://minervaconcept.fr/wp-content/uploads/2021/03/DAX_cheat_sheet.pdf.

Lorsque Google explore le


Web, il crée automatiquement une version HTML des documents récupérés.
Astuce : Pour trouver rapidement votre terme de recherche sur cette page, appuyez sur Ctrl+F ou sur ⌘+F (Mac), puis utilisez la barre de
recherche.

Page 1

DOCUMENTATION DAX MICROSOFT

https://docs.microsoft.com/fr-fr/dax/

DAX
THE CHEAT SHEET

DAX est un acronyme anglais qui veut dire Data Analysis Expressions. Le
langage DAX est utilisé pour la manipulation de données notamment dans
Power BI, mais on peut aussi le retrouver dans Power Pivot ou encore
SSAS.

Avant de commencer à construire les visuels d’un rapport sous Power BI,
il convient de bien réfléchir à ce que l’on veut montrer et comment le
montrer. De ce fait, la préparation des données à utiliser est très
importantes. Les possibilités natives dans Power BI sont nombreuses mais
le langage DAX vient décupler ces possibilités.

DAX est composé de fonctions simples à utiliser, toutefois l’imbrication de


ces fonctions peut rendre la compréhension du code assez fastidieuse.

Cette cheat sheet contient toutes les fonctions recensées dans DAX
accompagnées d’une description en français, de leur syntaxe et du lien
direct vers la documentation de Microsoft.
Par Julien Di Giulio Mis à jour le 24/02/2021

Page 2

TABLE DES MATIERES

I. FONCTIONS D’INTELLIGENCE TEMPORELLE................................................................................................................. 3

II. FONCTIONS DE DATE ET HEURE......................................................................................................................................... 6

III. FONCTIONS DE FILTRAGE.................................................................................................................................................. 8

IV. FONCTIONS FINANCIERES ............................................................................................................................................. 10

V. FONCTIONS D’INFORMATION ......................................................................................................................................... 15

VI. FONCTIONS LOGIQUES.................................................................................................................................................... 18

VII. FONCTIONS MATHEMATIQUES ET TRIGONOMETRIQUES............................................................................ 19

VIII. AUTRES FONCTIONS......................................................................................................................................................... 22

IX. FONCTIONS PARENTS ET ENFANTS.......................................................................................................................... 23

X. FONCTIONS DE RELATION.................................................................................................................................................. 24

XI. FONCTIONS STATISTIQUES........................................................................................................................................... 25

XII. FONCTIONS DE MANIPULATION DE TABLES....................................................................................................... 29

XIII. FONCTIONS DE TEXTE...................................................................................................................................................... 32


2

Page 3

I. FONCTIONS D’INTELLIGENCE TEMPORELLE

DAX (Data Analysis Expressions) comprend également des fonctions d’intelligence temporelle qui vous
permettent de manipuler des données en utilisant des périodes de temps (jours, mois, trimestres et années,
entre autres), puis de générer et comparer des calculs sur ces périodes.

Fonction Description Syntaxe

Évalue l’expression à la dernière date du CLOSINGBALANCEMONTH(<expres


CLOSINGBALANCEMONTH
mois dans le contexte actuel. sion>,<dates>[,<filter>])

Évalue l’expression à la dernière date du CLOSINGBALANCEQUARTER(<expr


CLOSINGBALANCEQUARTER
trimestre dans le contexte actuel. ession>,<dates>[,<filter>])

CLOSINGBALANCEYEAR(<expressio
Évalue l’expression à la dernière date de
CLOSINGBALANCEYEAR n>,<dates>[,<filter>][,<year_end_d
l’année dans le contexte actuel.
ate>])

Retourne une table qui contient une


colonne de dates déplacées en avançant ou
DATEADD(<dates>,<number_of_int
DATEADD en remontant dans le temps en fonction du
ervals>,<interval>)
nombre d’intervalles spécifié à partir des
dates dans le contexte actuel.

Retourne une table contenant une colonne


de dates qui commence à une date de DATESBETWEEN(<dates>,
DATESBETWEEN
début spécifiée et se poursuit jusqu’à une <start_date>, <end_date>)
date de fin spécifiée.

Retourne une table contenant une colonne


de dates qui commence à une date de DATESINPERIOD(<dates>,
DATESINPERIOD début spécifiée et se poursuit pendant le <start_date>,
nombre et le type d’intervalles de dates <number_of_intervals>, <interval>)
spécifiés.

Retourne une table qui contient une


DATESMTD colonne des dates du mois jusqu’à ce jour, DATESMTD(<dates>)
dans le contexte actuel.

Retourne une table qui contient une


DATESQTD colonne des dates du trimestre jusqu’à ce DATESQTD(<dates>)
jour, dans le contexte actuel.
Retourne une table qui contient une
DATESYTD(<dates>
DATESYTD colonne des dates de l’année jusqu’à ce
[,<year_end_date>])
jour, dans le contexte actuel.

Retourne la dernière date du mois dans le


ENDOFMONTH contexte actuel pour la colonne de dates ENDOFMONTH(<dates>)
spécifiée.

Page 4

Retourne la dernière date du trimestre dans


ENDOFQUARTER le contexte actuel pour la colonne de dates ENDOFQUARTER(<dates>)
spécifiée.

Retourne la dernière date de l’année dans le


ENDOFYEAR(<dates>
ENDOFYEAR contexte actuel pour la colonne de dates
[,<year_end_date>])
spécifiée.

Retourne la première date dans le contexte


FIRSTDATE FIRSTDATE(<dates>)
actuel pour la colonne de dates spécifiée.

Retourne la première valeur de la colonne,


FIRSTNONBLANK(<column>,<expr
FIRSTNONBLANK column, filtrée par le contexte actuel, où
ession>)
l’expression n’est pas vide

Retourne la dernière date dans le contexte


LASTDATE LASTDATE(<dates>)
actuel pour la colonne de dates spécifiée.

Retourne la dernière valeur de la colonne,


LASTNONBLANK(<column>,<expre
LASTNONBLANK column, filtrée par le contexte actuel, où
ssion>)
l’expression n’est pas vide.

Retourne une table qui contient une


colonne de toutes les dates du jour suivant,
NEXTDAY NEXTDAY(<dates>)
selon la première date spécifiée dans la
colonne dates du contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates du mois suivant,
NEXTMONTH NEXTMONTH(<dates>)
selon la première date dans la colonne
dates du contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates du trimestre
NEXTQUARTER NEXTQUARTER(<dates>)
suivant, selon la première date spécifiée
dans la colonne dates du contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates de l’année NEXTYEAR(<dates>[,<year_end_dat
NEXTYEAR
suivante, selon la première date dans la e>])
colonne dates du contexte actuel.

Évalue l’expression à la première date du OPENINGBALANCEMONTH(<expre


OPENINGBALANCEMONTH
mois dans le contexte actuel. ssion>,<dates>[,<filter>])

Évalue l’expression à la première date du OPENINGBALANCEQUARTER(<expr


OPENINGBALANCEQUARTER
trimestre dans le contexte actuel. ession>,<dates>[,<filter>])
OPENINGBALANCEYEAR(<expressi
Évalue l’expression à la première date de
OPENINGBALANCEYEAR on>,<dates>[,<filter>][,<year_end_
l’année dans le contexte actuel.
date>])

Retourne une table qui contient une


colonne de dates qui représente une
PARALLELPERIOD(<dates>,<numb
PARALLELPERIOD période parallèle aux dates de la colonne
er_of_intervals>,<interval>)
dates spécifiée, dans le contexte actuel, avec
les dates décalées d’un certain nombre

Page 5

d’intervalles en avançant ou en remontant


dans le temps.

Retourne une table qui contient une


colonne de toutes les dates représentant le
PREVIOUSDAY PREVIOUSDAY(<dates>)
jour qui précède la première date de la
colonne dates, dans le contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates du mois
PREVIOUSMONTH PREVIOUSMONTH(<dates>)
précédent, selon la première date de la
colonne dates, dans le contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates du trimestre
PREVIOUSQUARTER PREVIOUSQUARTER(<dates>)
précédent, selon la première date de la
colonne dates, dans le contexte actuel.

Retourne une table qui contient une


colonne de toutes les dates de l’année PREVIOUSYEAR(<dates>[,<year_en
PREVIOUSYEAR
précédente, selon la dernière date de la d_date>])
colonne dates, dans le contexte actuel.

Retourne une table qui contient une


colonne de dates déplacées d’une année en
SAMEPERIODLASTYEAR remontant dans le temps à partir des dates SAMEPERIODLASTYEAR(<dates>)
de la colonne dates spécifiée dans le
contexte actuel.

Retourne la première date du mois dans le


STARTOFMONTH contexte actuel pour la colonne de dates STARTOFMONTH(<dates>)
spécifiée.

Retourne la première date du trimestre dans


STARTOFQUARTER le contexte actuel pour la colonne de dates STARTOFQUARTER(<dates>)
spécifiée.

Retourne la première date de l’année dans


STARTOFYEAR le contexte actuel pour la colonne de dates STARTOFYEAR(<dates>)
spécifiée.

Évalue la valeur de l’expression pour le mois TOTALMTD(<expression>,<dates>[


TOTALMTD
jusqu’à ce jour, dans le contexte actuel. ,<filter>])

Évalue la valeur de l’expression pour les


TOTALQTD(<expression>,<dates>[,
TOTALQTD dates du trimestre jusqu’à ce jour, dans le
<filter>])
contexte actuel.

Évalue la valeur de cumul annuel jusqu’à ce TOTALYTD(<expression>,<dates>[,


TOTALYTD
jour de l’expression dans le contexte actuel. <filter>][,<year_end_date>])

Page 6

II. FONCTIONS DE DATE ET HEURE

Ces fonctions vous aident à créer des calculs basés sur les dates et l’heure. La plupart des fonctions de DAX
sont similaires aux fonctions de date et d’heure d’Excel. Toutefois, les fonctions DAX utilisent un type de
données datetime et peuvent prendre des valeurs d’une colonne en tant qu’argument.

Fonction Description Syntaxe

Retourne une table avec une seule colonne


CALENDAR(<start_date>,
CALENDAR nommée « Date » qui contient un ensemble
<end_date>)
de dates contigu.

Retourne une table avec une seule colonne


CALENDARAUTO([fiscal_year_end_
CALENDARAUTO nommée « Date » qui contient un ensemble
month])
de dates contigu.

Retourne la date spécifiée au format


DATE DATE(<year>, <month>, <day>)
datetime.

Retourne le nombre de limites d’intervalle DATEDIFF(<start_date>,


DATEDIFF
franchies entre deux dates. <end_date>, <interval>)

Convertit une date au format texte en une


DATEVALUE DATEVALUE(date_text)
date au format datetime.

Retourne le jour du mois, un nombre


DAY DAY(<date>)
compris entre 1 et 31.

Retourne la date qui correspond au nombre


EDATE de mois indiqué avant ou après la date de EDATE(<start_date>, <months>)
début.

Retourne la date au format datetime du


EOMONTH(<start_date>,
EOMONTH dernier jour du mois avant ou après un
<months>)
nombre de mois spécifié.

Retourne l’heure sous la forme d’un nombre


HOUR HOUR(<datetime>)
compris entre 0 (00:00) et 23 (23:00).

Retourne la minute sous la forme d’un


MINUTE nombre compris entre 0 et 59, à partir d’une MINUTE(<datetime>)
valeur de date et d’heure.
Retourne le mois sous la forme d’un
MONTH nombre compris entre 1 (janvier) et 12 MONTH(<datetime>)
(décembre).

Retourne la date et l’heure actuelles au


NOW NOW()
format DateHeure.

Retourne le trimestre sous forme de


QUARTER QUARTER(<date>)
nombre compris entre 1 et 4.

Page 7

Retourne les secondes d’une valeur d’heure,


SECOND sous la forme d’un nombre compris entre 0 SECOND(<time>)
et 59.

Convertit les heures, minutes et secondes


TIME données sous forme de nombres en heure TIME(hour, minute, second)
au format datetime.

Convertit une heure au format texte en une


TIMEVALUE TIMEVALUE(time_text)
heure au format datetime.

TODAY Retourne la date du jour. TODAY()

UTCNOW Retourne la date et l’heure UTC actuelles. UTCNOW()

UTCTODAY Retourne la date UTC actuelle. UTCTODAY()

Retourne un nombre compris entre 1 et


WEEKDAY 7 identifiant le jour de la semaine d’une WEEKDAY(<date>, <return_type>)
date.

Retourne le numéro de semaine pour la


WEEKNUM date et l’année données en fonction de la WEEKNUM(<date>, <return_type>)
valeur return_type.

Retourne l’année d’une date sous forme


YEAR d’un entier à quatre chiffres compris dans la YEAR(<date>)
plage 1900-9999.

Calcule la fraction de l’année représentée


YEARFRAC(<start_date>,
YEARFRAC par le nombre de jours entiers entre deux
<end_date>, <basis>)
dates.
7

Page 8

III. FONCTIONS DE FILTRAGE

Les fonctions de filtre et de valeur de DAX comptent parmi les plus complexes et les plus puissantes. Elles
présentent des différences notables avec les fonctions Excel. Les fonctions de recherche utilisent des tables
et des relations, comme une base de données. Avec les fonctions de filtre, vous pouvez manipuler le
contexte des données pour créer des calculs dynamiques.

Fonction Description Syntaxe

Retourne toutes les lignes d’une table, ou


toutes les valeurs d’une colonne, en ALL( [<table> | <column>[,
ALL
ignorant les filtres qui ont été <column>[, <column>[,…]]]] )
éventuellement appliqués.

Efface tous les filtres qui sont appliqués à ALLCROSSFILTERED(<table>)


ALLCROSSFILTERED
une table.

Supprime tous les filtres de contexte de la


ALLEXCEPT(<table>,<column>[,<c
ALLEXCEPT table, à l’exception de ceux qui ont été
olumn>[,…]])
appliqués aux colonnes spécifiées.

Retourne, à partir de la table parente d’une


relation, toutes les lignes sauf la ligne vide ALLNOBLANKROW( {<table> |
ALLNOBLANKROW ou toutes les valeurs distinctes d’une <column>[, <column>[,
colonne sauf la ligne vide, et ignore tous les <column>[,…]]]} )
filtres de contexte qui peuvent exister.

Supprime les filtres de contexte des ALLSELECTED([<tableName> |


colonnes et des lignes dans la requête <columnName>[,
ALLSELECTED
actuelle, tout en conservant tous les autres <columnName>[,
filtres de contexte ou filtres explicites. <columnName>[,…]]]] )

Évalue une expression dans un contexte de CALCULATE(<expression>[,


CALCULATE
filtre modifié. <filter1> [, <filter2> [, …]]])

Évalue une expression de table dans un CALCULATETABLE(<expression>[,


CALCULATETABLE
contexte de filtre modifié. <filter1> [, <filter2> [, …]]])

Retourne la valeur actuelle de la colonne


EARLIER spécifiée dans un test d’évaluation externe EARLIER(<column>, <number>)
de la colonne mentionnée.

Retourne la valeur actuelle de la colonne


EARLIEST spécifiée dans un test d’évaluation externe EARLIEST(<column>)
de la colonne mentionnée.

Retourne une table qui représente un sous-


FILTER FILTER(<table>,<filter>)
ensemble d’une autre table ou expression.

Modifie la façon dont les filtres sont


KEEPFILTERS appliqués quand une fonction CALCULATE KEEPFILTERS(<expression>)
ou CALCULATETABLE est évaluée.

Page 9

LOOKUPVALUE(
<result_columnName>,
Retourne la valeur pour la ligne qui remplit <search_columnName>,
tous les critères spécifiés par les conditions <search_value>
LOOKUPVALUE
de recherche. La fonction peut appliquer [, <search2_columnName>,
une ou plusieurs conditions de recherche. <search2_value>]…
[, <alternateResult>]
)

REMOVEFILTERS([<table> |
Efface les filtres des tables ou colonnes
REMOVEFILTERS <column>[, <column>[,
spécifiées.
<column>[,…]]]])

Retourne la valeur quand le contexte pour


columnName a été réduit par filtrage à une SELECTEDVALUE(<columnName>[,
SELECTEDVALUE
seule valeur distincte. Sinon, retourne <alternateResult>])
alternateResult.
9

Page 10

IV. FONCTIONS FINANCIERES

Les fonctions financières dans DAX s’utilisent dans des formules qui effectuent des calculs financiers, par
exemple, pour connaître la valeur actuelle nette et le taux de rendement. Ces fonctions sont similaires aux
fonctions financières utilisées dans Microsoft Excel.

Fonction Description Syntaxe

ACCRINT(<issue>, <first_interest>,
Retourne les intérêts courus pour un titre <settlement>, <rate>, <par>,
ACCRINT
qui rapporte des intérêts périodiquement. <frequency>[, <basis>[,
<calc_method>]])

Retourne les intérêts courus pour un titre ACCRINTM(<issue>, <maturity>,


ACCRINTM
qui rapporte des intérêts à l’échéance. <rate>, <par>[, <basis>])

Retourne l’amortissement pour chaque


AMORDEGRC(<cost>,
période comptable. Fonction similaire à
<date_purchased>, <first_period>,
AMORDEGRC AMORLINC, à ceci près qu’un coefficient
<salvage>, <period>, <rate>[,
d’amortissement est appliqué en fonction
<basis>])
de la durée de vie des actifs.

AMORLINC(<cost>,
Retourne l’amortissement pour chaque <date_purchased>, <first_period>,
AMORLINC
période comptable. <salvage>, <period>, <rate>[,
<basis>])

Retourne le nombre de jours entre le début COUPDAYBS(<settlement>,


COUPDAYBS de la période d’un coupon et sa date de <maturity>, <frequency>[,
règlement. <basis>])

Retourne le nombre de jours dans la COUPDAYS(<settlement>,


COUPDAYS période de coupon qui contient la date de <maturity>, <frequency>[,
règlement. <basis>])

Retourne le nombre de jours entre la date COUPDAYSNC(<settlement>,


COUPDAYSNC de règlement et la date du prochain <maturity>, <frequency>[,
coupon. <basis>])

COUPNCD(<settlement>,
Retourne la date du prochain coupon après
COUPNCD <maturity>, <frequency>[,
la date du règlement.
<basis>])
Retourne le nombre de coupons dus entre
COUPNUM(<settlement>,
la date de règlement et la date d’échéance,
COUPNUM <maturity>, <frequency>[,
arrondi au nombre entier de coupons le
<basis>])
plus proche.

COUPPCD(<settlement>,
Retourne la date du coupon précédent
COUPPCD <maturity>, <frequency>[,
avant la date de règlement.
<basis>])

10

Page 11

CUMIPMT(<rate>, <nper>, <pv>,


Retourne les intérêts cumulés payés sur un
CUMIPMT <start_period>, <end_period>,
prêt entre start_period et end_period.
<type>)

CUMPRINC(<rate>, <nper>, <pv>,


Retourne le capital cumulé payé sur un prêt
CUMPRINC <start_period>, <end_period>,
entre start_period et end_period.
<type>)

Retourne l’amortissement d’un actif pour


une période spécifiée, calculé avec la DB(<cost>, <salvage>, <life>,
BdD
méthode de l’amortissement dégressif à <period>[, <month>])
taux fixe.

Retourne l’amortissement d’un actif pour


une période spécifiée, calculé selon la
DDB(<cost>, <salvage>, <life>,
DDB méthode de l’amortissement dégressif à
<period>[, <factor>])
taux double ou une autre méthode que
vous spécifiez.

DISC(<settlement>, <maturity>,
DISC Retourne le taux d’escompte pour un titre.
<pr>, <redemption>[, <basis>])

Convertit un prix en dollars exprimé sous la


forme d’une partie entière et d’une partie
DOLLARDE(<fractional_dollar>,
DOLLARDE fractionnaire, comme 1,02, en prix en dollars
<fraction>)
exprimé sous la forme d’un nombre
décimal.

Convertit un prix en dollars exprimé sous la


forme d’une partie entière et d’une partie
DOLLARFR(<decimal_dollar>,
DOLLARFR fractionnaire, comme 1,02, en prix en dollars
<fraction>)
exprimé sous la forme d’un nombre
décimal.

DURATION(<settlement>,
Retourne la durée de Macaulay pour une
DURATION <maturity>, <coupon>, <yld>,
valeur nominale supposée de 100 $.
<frequency>[, <basis>])

Retourne le taux d’intérêt annuel effectif,


compte tenu du taux d’intérêt annuel
EFFECT EFFECT(<nominal_rate>, <npery>)
nominal et du nombre de périodes de calcul
de l’intérêt par an.

Calcule la valeur future d’un investissement FV(<rate>, <nper>, <pmt>[, <pv>[,


VC
sur la base d’un taux d’intérêt constant. <type>]])
Retourne le taux d’intérêt d’un titre INTRATE(<settlement>,
INTRATE <maturity>, <investment>,
totalement investi.
<redemption>[, <basis>])

Retourne les intérêts payés sur une période


donnée pour un investissement avec des IPMT(<rate>, <per>, <nper>,
IPMT
paiements périodiques constants et un taux <pv>[, <fv>[, <type>]])
d’intérêt constant.

Calcule les intérêts payés (ou reçus) pour la ISPMT(<rate>, <per>, <nper>,
ISPMT
période spécifiée d’un prêt (ou d’un <pv>)

11

Page 12

investissement) avec des paiements de


principal identiques.

Retourne la durée de Macauley modifiée MDURATION(<settlement>,


MDURATION pour un titre ayant une valeur nominale <maturity>, <coupon>, <yld>,
hypothétique de 100 $. <frequency>[, <basis>])

Retourne le taux d’intérêt annuel nominal


NOMINAL compte tenu du taux effectif et du nombre NOMINAL(<effect_rate>, <npery>)
de périodes de calcul de l’intérêt par an.

Retourne le nombre de périodes pour un


investissement avec des paiements NPER(<rate>, <pmt>, <pv>[,
NPER
périodiques constants et un taux d’intérêt <fv>[, <type>]])
constant.

ODDFPRICE(<settlement>,
Retourne le prix par valeur nominale de <maturity>, <issue>,
ODDFPRICE 100 $ d’un titre dont la première période est <first_coupon>, <rate>, <yld>,
inhabituelle (courte ou longue). <redemption>, <frequency>[,
<basis>])

ODDFYIELD(<settlement>,
Retourne le rendement d’un titre dont la <maturity>, <issue>,
ODDFYIELD première période est inhabituelle (courte ou <first_coupon>, <rate>, <pr>,
longue). <redemption>, <frequency>[,
<basis>])

ODDLPRICE(<settlement>,
Retourne le prix par valeur nominale de
<maturity>, <last_interest>,
ODDLPRICE 100 $ d’un titre dont la période du dernier
<rate>, <yld>, <redemption>,
coupon est inhabituelle (courte ou longue).
<frequency>[, <basis>])

ODDLYIELD(<settlement>,
Retourne le rendement d’un titre dont la
<maturity>, <last_interest>,
ODDLYIELD dernière période est inhabituelle (courte ou
<rate>, <pr>, <redemption>,
longue).
<frequency>[, <basis>])

Retourne le nombre de périodes requises


PDURATION pour qu’un investissement atteigne une PDURATION(<rate>, <pv>, <fv>)
valeur spécifiée.

Calcule le remboursement d’un emprunt sur


PMT(<rate>, <nper>, <pv>[, <fv>[,
PMT la base de paiements constants et d’un taux
<type>]])
d’intérêt constant.
Retourne, pour une période donnée, la part
du paiement du principal d’un
PPMT(<rate>, <per>, <nper>,
PPMT investissement avec des paiements
<pv>[, <fv>[, <type>]])
périodiques constants et un taux d’intérêt
constant.

Retourne le prix par valeur nominale de PRICE(<settlement>, <maturity>,


PRICE 100 $ d’un titre rapportant des intérêts <rate>, <yld>, <redemption>,
périodiques. <frequency>[, <basis>])

12

Page 13

PRICEDISC(<settlement>,
Retourne le prix par valeur nominale de
PRICEDISC <maturity>, <discount>,
100 $ d’un titre escompté.
<redemption>[, <basis>])

Retourne le prix par valeur nominale de PRICEMAT(<settlement>,


PRICEMAT 100 $ d’un titre rapportant des intérêts à <maturity>, <issue>, <rate>,
l’échéance. <yld>[, <basis>])

Calcule la valeur actuelle d’un prêt ou d’un


PV(<rate>, <nper>, <pmt>[, <fv>[,
PV investissement sur la base d’un taux
<type>]])
d’intérêt constant.

Retourne le taux d’intérêt par période d’une RATE(<nper>, <pmt>, <pv>[,


RATE
annuité. <fv>[, <type>[, <guess>]]])

RECEIVED(<settlement>,
Retourne le montant reçu à l’échéance d’un
RECEIVED <maturity>, <investment>,
titre totalement investi.
<discount>[, <basis>])

Retourne un taux d’intérêt équivalent pour


RRI RRI(<nper>, <pv>, <fv>)
la croissance d’un investissement.

Retourne l’amortissement linéaire d’un actif


AmorLin SLN(<cost>, <salvage>, <life>)
pour une période.

Retourne l’amortissement d’un actif pour


une période spécifiée, calculé selon la SYD(<cost>, <salvage>, <life>,
SYD
méthode de l’amortissement proportionnel <per>)
à l’ordre numérique inversé des années.

Retourne le rendement équivalent TBILLEQ(<settlement>, <maturity>,


TBILLEQ
obligataire d’un bon du Trésor. <discount>)

Retourne le prix d’un bon du Trésor par TBILLPRICE(<settlement>,


TBILLPRICE
valeur nominale de 100 $. <maturity>, <discount>)

TBILLYIELD(<settlement>,
TBILLYIELD Retourne le rendement d’un bon du Trésor.
<maturity>, <pr>)

Retourne l’amortissement d’un actif pour


une période spécifiée (périodes partielles VDB(<cost>, <salvage>, <life>,
VDB incluses), calculé selon la méthode de <start_period>, <end_period>[,
l’amortissement dégressif à taux double ou <factor>[, <no_switch>]])
une autre méthode que vous spécifiez.

Retourne le taux de retour interne pour une


XIRR(<table>, <values>, <dates>,
XIRR planification de flux de trésorerie qui n’est
pas nécessairement périodique. [guess])

Retourne la valeur actualisée pour une


XNPV(<table>, <values>, <dates>,
XNPV planification de flux de trésorerie qui n’est
<rate>)
pas nécessairement périodique.

YIELD(<settlement>, <maturity>,
Retourne le rendement d’un titre qui
YIELD <rate>, <pr>, <redemption>,
rapporte des intérêts périodiquement.
<frequency>[, <basis>])

13

Page 14

YIELDDISC(<settlement>,
Retourne le rendement annuel d’un titre
YIELDDISC <maturity>, <pr>, <redemption>[,
escompté.
<basis>])

YIELDMAT(<settlement>,
Retourne le rendement annuel d’un titre qui
YIELDMAT <maturity>, <issue>, <rate>,
rapporte des intérêts à l’échéance.
<pr>[, <basis>])
14

Page 15

V. FONCTIONS D’INFORMATION

Les fonctions d’information DAX examinent la cellule ou la ligne qui est fournie comme argument, puis
indique si la valeur correspond au type attendu. Par exemple, la fonction ISERROR retourne TRUE si la valeur
que vous référencez contient une erreur.

Fonction Description Syntaxe

Retourne la valeur true si les valeurs de


toutes les colonnes référencées existent ou CONTAINS(<table>,
CONTAINS sont contenues dans ces colonnes ; dans le <columnName>, <value>[,
cas contraire, la fonction retourne la valeur <columnName>, <value>]…)
false.

Retourne TRUE si une ligne de valeurs existe


CONTAINSROW(<tableExpr>,
CONTAINSROW ou est contenue dans une table, sinon
<scalarExpr>[, <scalarExpr>, …])
retourne FALSE.

Retourne TRUE ou FALSE indiquant si une CONTAINSSTRING(<within_text>,


CONTAINSSTRING
chaîne contient une autre chaîne. <find_text>)

Retourne TRUE ou FALSE indiquant si une CONTAINSSTRINGEXACT(<within_t


CONTAINSSTRINGEXACT
chaîne contient une autre chaîne. ext>, <find_text>)

Retourne le contenu de la propriété


CUSTOMDATA CUSTOMDATA()
CustomData dans la chaîne de connexion.

Retourne TRUE quand le nombre de valeurs


HASONEFILTER filtrées directement sur columnName est HASONEFILTER(<columnName>)
égal à un ; sinon, retourne FALSE.

Retourne TRUE quand il ne reste qu’une


HASONEVALUE valeur distincte après filtrage du contexte HASONEVALUE(<columnName>)
pour columnName. Sinon, FALSE.

Vérifie si une valeur est vide et retourne


ISBLANK ISBLANK(<value>)
TRUE ou FALSE.

Retourne TRUE quand columnName ou une


ISCROSSFILTERED(<columnName>
ISCROSSFILTERED autre colonne dans la même table ou une
)
table associée est filtrée.

ISEMPTY Vérifie si une table est vide. ISEMPTY(<table_expression>)


Vérifie si une valeur est erronée et retourne
ISERROR ISERROR(<value>)
TRUE ou FALSE.

Retourne TRUE si le nombre est pair ou


ISEVEN ISEVEN(number)
FALSE si le nombre est impair.

Retourne TRUE quand un filtre est appliqué


ISFILTERED ISFILTERED(<columnName>)
directement à columnName.

15

Page 16

Retourne la valeur true quand la colonne


ISINSCOPE spécifiée est le niveau dans une hiérarchie ISINSCOPE(<columnName>)
de niveaux.

Vérifie si une valeur est une valeur logique


ISLOGICAL ISLOGICAL(<value>)
(TRUE ou FALSE) et retourne TRUE ou FALSE.

Vérifie si une valeur n’est pas du texte (les


ISNONTEXT cellules vides ne sont pas du texte), puis ISNONTEXT(<value>)
retourne TRUE ou FALSE.

Vérifie si une valeur est un nombre et


ISNUMBER ISNUMBER(<value>)
retourne TRUE ou FALSE.

Retourne TRUE si le nombre est impair ou


ISODD ISODD(number)
FALSE si le nombre est pair.

ISONORAFTER(<scalar_expression>
Fonction booléenne qui émule le
, <scalar_expression>[, sort_order [,
comportement d’une clause Start At et
ISONORAFTER <scalar_expression>,
retourne la valeur true pour une ligne qui
<scalar_expression>[,
remplit tous les paramètres de condition.
sort_order]]…)

Utilisée par les expressions d’éléments de


calcul pour déterminer si la mesure dans le
ISSELECTEDMEASURE ISSELECTEDMEASURE( M1, M2, ... )
contexte est l’une des mesures spécifiées
dans une liste de mesures.

Crée une autre colonne dans une expression


SUMMARIZE qui retourne True si la ligne
ISSUBTOTAL contient des valeurs de sous-total pour la ISSUBTOTAL(<columnName>)
colonne fournie comme argument et False
dans l’autre cas.

Vérifie si une valeur est du texte et retourne


ISTEXT ISTEXT(<value>)
TRUE ou FALSE.

Marque un filtre de valeur dans une


NONVISUAL expression SUMMARIZECOLUMNS comme NONVISUAL(<expression>)
non visuel.

Fonction utilisée par les expressions


SELECTEDMEASURE d’éléments de calcul pour référencer la SELECTEDMEASURE()
mesure qui est dans le contexte.

Utilisé par les expressions d’éléments de


SELECTEDMEASUREFORMAT SELECTEDMEASUREFORMATSTRIN
STRING calcul pour récupérer la chaîne de format de G()
la mesure qui est dans le contexte.

Utilisée par les expressions d’éléments de


SELECTEDMEASURENAME calcul pour déterminer la mesure qui est SELECTEDMEASURENAME()
dans le contexte par nom.

Retourne le nom de domaine et le nom


d’utilisateur à partir des informations
USERNAME USERNAME()
d’identification fournies au système au
moment de la connexion.

16

Page 17

Retourne l’ID d’objet ou le SID de


USEROBJECTID USEROBJECTID()
l’utilisateur actuel.

USERPRINCIPALNAME Retourne le nom principal de l'utilisateur. USERPRINCIPALNAME()


17

Page 18

VI. FONCTIONS LOGIQUES

Les fonctions logiques agissent sur une expression pour retourner des informations sur les valeurs ou les
jeux de l’expression. Par exemple, vous pouvez utiliser la fonction IF pour vérifier le résultat d’une
expression et créer des résultats conditionnels.

Fonction Description Syntaxe

Vérifie si les deux arguments ont la


AND valeur TRUE, puis retourne TRUE si tel est AND(<logical1>,<logical2>)
le cas.

Retourne la première expression qui ne COALESCE(<expression>, <expression>[,


COALESCE
donne pas la valeur BLANK (vide). <expression>]…)

FALSE Retourne la valeur logique FALSE. FALSE()

Vérifie une condition et retourne une


IF(<logical_test>, <value_if_true>[,
IF valeur quand sa valeur est TRUE ; sinon,
<value_if_false>])
retourne une deuxième valeur.

Évalue une expression et retourne une


IFERROR valeur spécifiée si l’expression retourne IFERROR(value, value_if_error)
une erreur

Change FALSE en TRUE, ou TRUE en


NOT NOT(<logical>)
FALSE.

Vérifie si l’un des arguments a la valeur


OR OR(<logical1>,<logical2>)
TRUE pour retourner TRUE.

Évalue une expression par rapport à une


liste de valeurs et retourne l’une des SWITCH(<expression>, <value>,
SWITCH
différentes expressions de résultat <result>[, <value>, <result>]…[, <else>])
possibles.

TRUE Retourne la valeur logique TRUE. TRUE()


18

Page 19

VII. FONCTIONS MATHEMATIQUES ET TRIGONOMETRIQUES

Les fonctions mathématiques dans DAX (Data Analysis Expressions) ressemblent beaucoup aux fonctions
mathématiques et trigonométriques dans Excel. Cette section liste les fonctions mathématiques fournies par
DAX.

Fonction Description Syntaxe

ABS Retourne la valeur absolue d’un nombre. ABS(<number>)

Retourne l’arc cosinus, ou le cosinus inverse,


ACOS ACOS(number)
d’un nombre.

Retourne le cosinus hyperbolique inverse


ACOSH ACOSH(number)
d’un nombre.

Retourne l’arccotangente ou la cotangente


ACOT ACOT(number)
inverse d’un nombre.

Retourne la cotangente hyperbolique


ACOTH ACOTH(number)
inverse d'un nombre.

Retourne l’arc sinus, ou le sinus inverse, d’un


ASIN ASIN(number)
nombre.

Retourne le sinus hyperbolique inverse d’un


ASINH ASINH(number)
nombre.

Retourne l’arc tangente, ou la tangente


ATAN ATAN(number)
inverse, d’un nombre.

Retourne la tangente hyperbolique inverse


ATANH ATANH(number)
d’un nombre.

Arrondit un nombre à l’entier


immédiatement supérieur ou au multiple de CEILING(<number>,
CEILING
l’argument de précision immédiatement <significance>)
supérieur.

Retourne le nombre de combinaisons pour


COMBIN COMBIN(number, number_chosen)
un nombre d’éléments donné.

Retourne le nombre de combinaisons (avec


COMBINA(number,
COMBINA les répétitions) pour un nombre d’éléments number_chosen)
donné.

Convertit une expression d'un type de CONVERT(<Expression>,


CONVERT
données à un autre. <Datatype>)

COS Retourne le cosinus de l’angle donné. COS(number)

Retourne le cosinus hyperbolique d’un


COSH COSH(number)
nombre.

19

Page 20

Évalue l’argument et retourne le résultat en


CURRENCY CURRENCY(<value>)
utilisant un type de données monétaire.

DEGREES Convertit les radians en degrés. DEGREES(angle)

Effectue une division et retourne un autre DIVIDE(<numerator>,


DIVIDE résultat ou BLANK() lors d'une division par <denominator>
0. [,<alternateresult>])

Retourne le nombre arrondi à l’entier pair


EVEN EVEN(number)
immédiatement supérieur.

Retourne e élevé à la puissance d’un


EXP EXP(<number>)
nombre donné.

Retourne la factorielle d’un nombre, égale à


FACT la série 1*2*3*...*, se terminant par le FACT(<number>)
nombre donné.

Arrondit vers le bas, en direction de zéro, un


FLOOR nombre à l’entier ou au multiple le plus FLOOR(<number>, <significance>)
proche de l’unité de précision.

Retourne le plus grand commun diviseur


GCD GCD(number1, [number2], ...)
(PGCD) de deux entiers ou plus.

Arrondit un nombre à l’entier


INT INT(<number>)
immédiatement inférieur.

Arrondit un nombre à l’entier ou au multiple ISO.CEILING(<number>[,


ISO.CEILING
de précision le plus proche. <significance>])

Retourne le plus petit commun multiple des


LCM LCM(number1, [number2], ...)
entiers.

Retourne le logarithme naturel d’un


LN LN(<number>)
nombre.

Retourne le logarithme d’un nombre dans la


LOG LOG(<number>,<base>)
base que vous spécifiez.

Retourne le logarithme de base 10 d’un


LOG10 LOG10(<number>)
nombre.

Retourne un nombre arrondi au multiple


MROUND MROUND(<number>, <multiple>)
souhaité.
Retourne le nombre arrondi à l’entier impair
ODD ODD(number)
supérieur le plus proche.

Retourne la valeur de Pi, 3,14159265358979,


PI PI()
avec une précision de 15 chiffres.

Retourne le résultat d’un nombre élevé à


POWER POWER(<number>, <power>)
une puissance.

20

Page 21

Retourne le produit des nombres d’une


PRODUCT PRODUCT(<column>)
colonne.

Retourne le produit d’une expression


PRODUCTX PRODUCTX(<table>, <expression>)
évaluée pour chaque ligne d’une table.

Effectue une division et retourne QUOTIENT(<numerator>,


QUOTIENT
uniquement la partie entière du résultat. <denominator>)

RADIANS Convertit les degrés en radians. RADIANS(angle)

Retourne un nombre aléatoire supérieur ou


RAND égal à 0 et inférieur à 1, distribué RAND()
équitablement.

Retourne un nombre aléatoire compris


RANDBETWEEN RANDBETWEEN(<bottom>,<top>)
entre les nombres que vous spécifiez.

Arrondit un nombre au nombre de chiffres


ROUND ROUND(<number>, <num_digits>)
spécifié.

ROUNDDOWN(<number>,
ROUNDDOWN Arrondit un nombre vers le bas, vers zéro.
<num_digits>)

Arrondit un nombre vers le haut, en ROUNDUP(<number>,


ROUNDUP
s’éloignant de 0 (zéro). <num_digits>)

Détermine le signe d’un nombre, le résultat


SIGN SIGN(<number>)
d’un calcul ou une valeur dans une colonne.

SQRT Retourne la racine carrée d’un nombre. SQRT(<number>)

SUM Additionne tous les nombres d’une colonne. SUM(<column>)

Retourne la somme d’une expression


SUMX SUMX(<table>, <expression>)
évaluée pour chaque ligne d’une table.

Tronque un nombre en entier en


TRUNC supprimant la partie décimale, ou TRUNC(<number>,<num_digits>)
fractionnaire, du nombre.
21

Page 22

VIII. AUTRES FONCTIONS

Ces fonctions effectuent des actions uniques qui n’entrent dans aucune des catégories.

Fonction Description Syntaxe

BLANK Retourne un espace. BLANK()

Génère une erreur avec un message ERROR(<text>)


ERROR
d’erreur.
22

Page 23

IX. FONCTIONS PARENTS ET ENFANTS

Ces fonctions gèrent les données présentées sous forme de hiérarchies parent/enfant. Pour en savoir plus,
consultez Présentation des fonctions pour les hiérarchies parent-enfant dans DAX.

Fonction Description Syntaxe

Retourne une chaîne de texte délimitée avec


PATH(<ID_columnName>,
PATH les identificateurs de tous les parents de
<parent_columnName>)
l’identificateur actuel.

Retourne la valeur TRUE si l’élément spécifié


PATHCONTAINS PATHCONTAINS(<path>, <item>)
existe dans le chemin spécifié.

Retourne l’élément à la position spécifiée à


PATHITEM(<path>, <position>[,
PATHITEM partir d’une chaîne résultant de l’évaluation
<type>])
d’une fonction PATH.

Retourne l’élément à la position spécifiée à


PATHITEMREVERSE(<path>,
PATHITEMREVERSE partir d’une chaîne résultant de l’évaluation
<position>[, <type>])
d’une fonction PATH.

Retourne le nombre de parents à l’élément


PATHLENGTH spécifié dans un résultat PATH donné, y PATHLENGTH(<path>)
compris self.
23

Page 24

X. FONCTIONS DE RELATION

Les fonctions de cette catégorie permettent de gérer et d’utiliser les relations entre les tables.

Fonction Description Syntaxe

Spécifie la direction du filtrage croisé à


CROSSFILTER(<columnName1>,
CROSSFILTER utiliser dans un calcul pour une relation
<columnName2>, <direction>)
existant entre deux colonnes.

Retourne une valeur associée provenant


RELATED RELATED(<column>)
d’une autre table.

Évalue une expression de table dans un


RELATEDTABLE RELATEDTABLE(<tableName>)
contexte modifié par les filtres spécifiés.

Spécifie la relation à utiliser dans un calcul


USERELATIONSHIP(<columnName1
USERELATIONSHIP spécifique, comme celle qui existe entre
>,<columnName2>)
columnName1 et columnName2.
24

Page 25

XI. FONCTIONS STATISTIQUES

DAX (Data Analysis Expressions) fournit de nombreuses fonctions pour la création d’agrégations telles que
des sommes, des nombres et des moyennes. Ces fonctions sont très similaires aux fonctions d’agrégation
utilisées par Microsoft Excel. Cette section liste les fonctions statistiques et d’agrégation fournies dans DAX.

Fonction Description Syntaxe

Retourne le nombre approximatif de lignes


APPROXIMATEDISTINCTCO APPROXIMATEDISTINCTCOUNT(<c
qui contiennent des valeurs distinctes dans
UNT olumnName>)
une colonne.

Retourne la moyenne (arithmétique) de tous


AVERAGE AVERAGE(<column>)
les nombres d’une colonne.

Retourne la moyenne (arithmétique) des


AVERAGEA AVERAGEA(<column>)
valeurs d’une colonne.

Calcule la moyenne (arithmétique) d’un


AVERAGEX ensemble d’expressions évaluées sur une AVERAGEX(<table>,<expression>)
table.

BETA.DIST(x,alpha,beta,cumulative,[
BETA.DIST Retourne la distribution Bêta.
A],[B])

Retourne l’inverse de la fonction de densité BETA.INV(probability,alpha,beta,[A],


BETA.INV
de probabilité cumulative Bêta (BETA.DIST). [B])

CHISQ.DIST(<x>, <deg_freedom>,
CHISQ.DIST Retourne la distribution du Khi-deux.
<cumulative>)

Retourne la probabilité unilatérale à droite CHISQ.DIST.RT(<x>,


CHISQ.DIST.RT
de la distribution du Khi-deux. <deg_freedom>)

Retourne l’inverse de la probabilité


CHISQ.INV(probability,deg_freedo
CHISQ.INV unilatérale à gauche de la distribution du
m)
Khi-deux.

Retourne l’inverse de la probabilité


CHISQ.INV.RT(probability,deg_freed
CHISQ.INV.RT unilatérale à droite de la distribution du Khi-
om)
deux.
CONFIDENCE.NORM L’intervalle de confiance est une plage de CONFIDENCE.NORM(alpha,standar
valeurs. d_dev,size)

Retourne l’intervalle de confiance pour la


CONFIDENCE.T(alpha,standard_dev,
CONFIDENCE.T moyenne d’une population en utilisant une
size)
distribution T de Student.

Retourne la cotangente d’un angle calculé


COT COT (<number>)
en radians.

25

Page 26

Retourne la cotangente hyperbolique d’un


COTH COTH (<number>)
angle hyperbolique.

Compte le nombre de cellules d’une


COUNT COUNT(<column>)
colonne qui contiennent des nombres.

Compte le nombre de cellules d’une


COUNTA COUNTA(<column>)
colonne qui ne sont pas vides.

Compte les résultats non vides lors de


COUNTAX l’évaluation du résultat d’une expression sur COUNTAX(<table>,<expression>)
une table.

Compte le nombre de cellules vides dans


COUNTBLANK COUNTBLANK(<column>)
une colonne.

Compte le nombre de lignes dans la table


COUNTROWS spécifiée ou dans une table définie par une COUNTROWS(<table>)
expression.

Compte le nombre de lignes qui


contiennent un nombre ou une expression
COUNTX COUNTX(<table>,<expression>)
qui prend la valeur d’un nombre lors de
l’évaluation d’une expression sur une table.

DATATABLE (ColumnName1,
Fournit un mécanisme permettant de
DataType1, ColumnName2,
DATATABLE déclarer un ensemble inline de valeurs de
DataType2..., {{Value1, Value2...},
données.
{ValueN, ValueN+1...}...})

Compte le nombre de valeurs distinctes


DISTINCTCOUNT DISTINCTCOUNT(<column>)
dans une colonne.

Compte le nombre de valeurs distinctes DISTINCTCOUNTNOBLANK


DISTINCTCOUNTNOBLANK
dans une colonne. (<column>)

EXPON.DIST Retourne la distribution exponentielle. EXPON.DIST(x,lambda,cumulative)

Retourne la moyenne géométrique des


GEOMEAN GEOMEAN(<column>)
nombres dans une colonne.

Retourne la moyenne géométrique d’une


GEOMEANX(<table>,
GEOMEANX expression évaluée pour chaque ligne d’une
<expression>)
table.

MAX(<column>)
Retourne la plus grande valeur numérique
Ou
MAX d’une colonne ou entre deux expressions MAX(<expression1>,
scalaires.
<expression2>)

Retourne la plus grande valeur d’une


MAXA MAXA(<column>)
colonne.

Évalue une expression pour chaque ligne


MAXX d’une table et retourne la plus grande valeur MAXX(<table>,<expression>)
numérique.

26

Page 27

Retourne la valeur médiane des nombres


MEDIAN MEDIAN(<column>)
d’une colonne.

Retourne le nombre médian d’une


MEDIANX expression évaluée pour chaque ligne d’une MEDIANX(<table>, <expression>)
table.

MIN(<column>)
Retourne la plus petite valeur numérique
Ou
MIN d’une colonne ou entre deux expressions
MIN(<expression1>,
scalaires.
<expression2>)

Retourne la plus petite valeur d’une


colonne, notamment les valeurs logiques et
MINA MINA(<column>)
les nombres représentés sous forme de
texte.

Retourne la plus petite valeur numérique


MINX qui résulte de l’évaluation d’une expression MINX(<table>, < expression>)
pour chaque ligne d’une table.

Retourne la distribution normale pour la NORM.DIST(X, Mean,


NORM.DIST
moyenne et l’écart type spécifiés. Standard_dev, Cumulative)

Inverse de la distribution cumulative


NORM.INV(Probability, Mean,
NORM.INV normale pour la moyenne et l’écart type
Standard_dev)
spécifiés.

Retourne la distribution normale standard


NORM.S.DIST (avec une moyenne égale à zéro et un écart NORM.S.DIST(Z, Cumulative)
type égal à un).

Retourne l’inverse de la distribution


NORM.S.INV NORM.S.INV(Probability)
cumulative normale standard.

Retourne le énième centile k des valeurs


PERCENTILE.EXC d’une plage, où k se trouve dans la plage PERCENTILE.EXC(<column>, <k>)
de 0 à 1, non compris.

Retourne le énième centile k des valeurs


PERCENTILE.INC d’une plage, où k se trouve dans la plage PERCENTILE.INC(<column>, <k>)
de 0 à 1, inclus.

Retourne le centile d’une expression évaluée PERCENTILEX.EXC(<table>,


PERCENTILEX.EXC
pour chaque ligne d’une table. <expression>, k)

Retourne le centile d’une expression évaluée PERCENTILEX.INC(<table>,


PERCENTILEX.INC pour chaque ligne d’une table. <expression>;, k)

POISSON.DIST Retourne la distribution de Poisson. POISSON.DIST(x,mean,cumulative)

Retourne le classement d’un nombre dans RANK.EQ(<value>,


RANK.EQ
une liste de nombres. <columnName>[, <order>])

Retourne le classement d’un nombre dans


RANKX(<table>, <expression>[,
RANKX une liste de nombres pour chaque ligne de
<value>[, <order>[, <ties>]]])
l’argument table.

27

Page 28

SAMPLE(<n_value>, <table>,
Retourne un échantillon de N lignes de la <orderBy_expression>, [<order>[,
SAMPLE
table spécifiée. <orderBy_expression>,
[<order>]]…])

SIN Retourne le sinus de l’angle donné. SIN(number)

Retourne le sinus hyperbolique d’un


SINH SINH(number)
nombre.

Retourne l’écart type de l’ensemble de la


STDEV.P STDEV.P(<ColumnName>)
population.

Retourne l’écart type d’un échantillon de


STDEV.S STDEV.S(<ColumnName>)
population.

Retourne l’écart type de l’ensemble de la


STDEVX.P STDEVX.P(<table>, <expression>)
population.

Retourne l’écart type d’un échantillon de la


STDEVX.S STDEVX.S(<table>, <expression>)
population.

SQRTPI Retourne la racine carrée de (number * pi). SQRTPI(number)

Retourne la distribution T unilatérale à


T.DIST T.DIST(X,Deg_freedom,Cumulative)
gauche de Student.

Retourne la distribution T bilatérale de


T.DIST.2T T.DIST.2T(X,Deg_freedom)
Student.

Retourne la distribution T de Student


T.DIST.RT T.DIST.RT(X,Deg_freedom)
unilatérale à droite.

Retourne l’inverse unilatéral à gauche de la


T.INV T.INV(Probability,Deg_freedom)
distribution T de Student.

Retourne l’inverse bilatéral de la


T.INV.2t T.INV.2T(Probability,Deg_freedom)
distribution T de Student.

TAN Retourne la tangente de l’angle donné. TAN(number)

Retourne la tangente hyperbolique d’un


TANH TANH(number)
nombre.

Retourne la variance de l’ensemble de la


VAR.P VAR.P(<columnName>)
population.
VAR.S Retourne la variance d’un échantillon de la VAR.S(<columnName>)
population.

Retourne la variance de l’ensemble de la


VARX.P VARX.P(<table>, <expression>)
population.

Retourne la variance d’un échantillon de


VARX.S VARX.S(<table>, <expression>)
population.

28

Page 29

XII. FONCTIONS DE MANIPULATION DE TABLES

Ces fonctions retournent une table ou manipulent des tables existantes.

Fonction Description Syntaxe

ADDCOLUMNS(<table>, <name>,
Ajoute des colonnes calculées à la table ou
ADDCOLUMNS <expression>[, <name>,
à l’expression de table donnée.
<expression>]…)

ADDMISSINGITEMS (
[<showAll_columnName> [,
<showAll_columnName> [, … ] ] ],
Ajoute à une table les combinaisons
<table> [,
ADDMISSINGITEMS d’éléments de plusieurs colonnes si ces
<groupBy_columnName> [,
éléments n’existent pas déjà.
[<filterTable>] [,
<groupBy_columnName> [,
[<filterTable>] [, … ] ] ] ] ] ]

Retourne une table contenant le produit


CROSSJOIN(<table>, <table>[,
CROSSJOIN cartésien de toutes les lignes de toutes les
<table>]…)
tables figurant dans les arguments.

Retourne un ensemble de lignes à partir de


CURRENTGROUP l’argument table d’une expression CURRENTGROUP ( )
GROUPBY.

DATATABLE (ColumnName1,
Fournit un mécanisme permettant de
DataType1, ColumnName2,
DATATABLE déclarer un ensemble inline de valeurs de
DataType2..., {{Value1, Value2...},
données.
{ValueN, ValueN+1...}...})

Évalue une expression de lignes de détails


DETAILROWS définie pour une mesure et retourne les DETAILROWS([Measure])
données.

Retourne une table à une colonne qui


DISTINCT (colonne) contient les valeurs distinctes de la colonne DISTINCT(<column>)
spécifiée.

Retourne une table en supprimant les lignes


DISTINCT (table) DISTINCT(<table>)
en double d’une autre table ou expression.

Retourne les lignes d’une table qui EXCEPT(<table_expression1>,


EXCEPT
n’apparaissent pas dans une autre table. <table_expression2>

Retourne une table de valeurs directement


FILTERS FILTERS(<columnName>)
appliquées comme filtres à columnName.

Retourne une table avec le produit cartésien


GENERATE GENERATE(<table1>, <table2>)
entre chaque ligne de table1 et la table

29

Page 30

résultant de l’évaluation de table2 dans le


contexte de la ligne actuelle de table1.

Retourne une table avec le produit cartésien


entre chaque ligne de table1 et la table
GENERATEALL GENERATEALL(<table1>, <table2>)
résultant de l’évaluation de table2 dans le
contexte de la ligne actuelle de table1.

Retourne une table à une seule colonne qui


GENERATESERIES(<startValue>,
GENERATESERIES contient les valeurs d’une série
<endValue>[, <incrementValue>])
arithmétique.

GROUPBY (<table> [,
Tout comme la fonction SUMMARIZE,
<groupBy_columnName> [,
GROUPBY n’utilise pas implicitement la
GROUPBY <groupBy_columnName> [, …]]] [,
fonction CALCULATE pour les colonnes
<name>, <expression> [, <name>,
d’extension qu’elle ajoute.
<expression> [, …]]])

IGNORE(<expression>)
Avec SUMMERIZECOLUMN :
Modifie SUMMARIZECOLUMNS en SUMMARIZECOLUMNS(<groupBy_
IGNORE omettant des expressions spécifiques de columnName>[, <
l’évaluation BLANK/NULL. groupBy_columnName >]…,
[<filterTable>]…[, <name>,
IGNORE(…)]…)

Retourne l’intersection de lignes de deux INTERSECT(<table_expression1>,


INTERSECT
tables, en conservant les doublons. <table_expression2>)

Effectue une jointure interne d’une table NATURALINNERJOIN(<leftJoinTabl


NATURALINNERJOIN
avec une autre table. e>, <rightJoinTable>)

Effectue une jointure interne d’une table NATURALLEFTOUTERJOIN(<leftJoin


NATURALLEFTOUTERJOIN
avec une autre table. Table>, <rightJoinTable>)

Modifie le comportement de SUMMARIZE


ROLLUP (
en ajoutant des lignes de cumul au résultat
ROLLUP <groupBy_columnName> [,
des colonnes définies par le paramètre
<groupBy_columnName> [, … ] ] )
groupBy_columnName.

ROLLUPADDISSUBTOTAL (
Modifie le comportement de [<grandtotalFilter>],
SUMMARIZECOLUMNS en ajoutant des <groupBy_columnName>, <name>
ROLLUPADDISSUBTOTAL
lignes de cumul/sous-total au résultat basé [, [<groupLevelFilter>] [,
sur les colonnes groupBy_columnName. <groupBy_columnName>, <name>
[, [<groupLevelFilter>] [, … ] ] ] ] )
ROLLUPISSUBTOTAL (
[<grandTotalFilter>],
<groupBy_columnName>,
Associe des groupes de cumul à la colonne
<isSubtotal_columnName> [,
ROLLUPISSUBTOTAL ajoutée par ROLLUPADDISSUBTOTAL dans
[<groupLevelFilter>] [,
une expression ADDMISSINGITEMS.
<groupBy_columnName>,
<isSubtotal_columnName> [,
[<groupLevelFilter>] [, … ] ] ] ] )

30

Page 31

Modifie le comportement de SUMMARIZE


et SUMMARIZECOLUMNS en ajoutant des ROLLUPGROUP (
ROLLUPGROUP lignes de cumul au résultat des colonnes <groupBy_columnName> [,
définies par le paramètre <groupBy_columnName> [, … ] ] )
groupBy_columnName.

Retourne une table à une seule ligne qui ROW(<name>,


ROW contient des valeurs qui sont le résultat des <expression>[[,<name>,
expressions fournies à chaque colonne. <expression>]…])

SELECTCOLUMNS(<table>,
Ajoute des colonnes calculées à la table ou
SELECTCOLUMNS <name>, <scalar_expression> [,
à l’expression de table donnée.
<name>, <scalar_expression>]…)

SUBSTITUTEWITHINDEX(<table>,
<indexColumnName>,
Retourne une table qui représente une
<indexColumnsTable>,
SUBSTITUTEWITHINDEX semi-jointure gauche des deux tables
[<orderBy_expression>, [<order>][,
fournies comme arguments.
<orderBy_expression>,
[<order>]]…])

SUMMARIZE (<table>,
Retourne une table récapitulative des totaux <groupBy_columnName>[,
SUMMARIZE
demandés sur un ensemble de groupes. <groupBy_columnName>]…[,
<name>, <expression>]…)

SUMMARIZECOLUMNS(
<groupBy_columnName> [, <
Retourne une table récapitulative sur un
SUMMARIZECOLUMNS groupBy_columnName >]…,
ensemble de groupes.
[<filterTable>]…[, <name>,
<expression>]…)

{ <scalarExpr1>, <scalarExpr2>, … }
Retourne une table d’une ou plusieurs { ( <scalarExpr1>, <scalarExpr2>, …
Constructeur de table
colonnes. ), ( <scalarExpr1>, <scalarExpr2>, …
), … }

TOPN(<n_value>, <table>,
Retourne les N premières lignes de la table <orderBy_expression>, [<order>[,
TOPN
spécifiée. <orderBy_expression>,
[<order>]]…])

Applique le résultat d’une expression de TREATAS(table_expression,


TREATAS table comme filtres aux colonnes d’une <column>[, <column>[,
table non associée. <column>[,…]]]} )
Crée une table d’union (jointure) à partir UNION(<table_expression1>,
UNION <table_expression2>
d’une paire de tables.
[,<table_expression>]…)

Retourne une table à une colonne qui


VALUES(<TableNameOrColumnNa
VALUES contient les valeurs distinctes de la table ou
me>)
colonne spécifiée.

31

Page 32

XIII. FONCTIONS DE TEXTE

DAX (Data Analysis Expressions) comprend un ensemble de fonctions de texte basées sur la bibliothèque de
fonctions de chaîne dans Excel, mais qui ont été modifiées pour fonctionner avec des tables et des colonnes
dans les modèles tabulaires. Cette section décrit les fonctions de texte disponibles dans le langage DAX.

Fonction Description Syntaxe

COMBINEVALUES(<delimiter>,
joint deux chaînes de texte ou plus en une
COMBINEVALUES <expression>, <expression>[,
seule.
<expression>]…)

CONCATENATE Concatène deux chaînes de texte. CONCATENATE(<text1>, <text2>)

Concatène le résultat d’une expression CONCATENATEX(<table>,


CONCATENATEX
évaluée pour chaque ligne d’une table. <expression>, [delimiter])

Compare deux chaînes de texte et retourne


EXACT TRUE si elles sont exactement identiques ; EXACT(<text1>,<text2>)
sinon, FALSE.

Retourne la position de départ d’une chaîne FIND(<find_text>, <within_text>[,


FIND de texte à l’intérieur d’une autre chaîne de [<start_num>][,
texte. <NotFoundValue>]])

Arrondit un nombre au nombre spécifié de


FIXED(<number>, <decimals>,
FIXED décimales et retourne le résultat sous forme
<no_commas>)
de texte.

Convertit une valeur en texte au format FORMAT(<value>,


FORMAT
spécifié. <format_string>)

Retourne le nombre spécifié de caractères à


LEFT LEFT(<text>, <num_chars>)
partir du début d’une chaîne de texte.

Retourne le nombre de caractères dans une


LEN LEN(<text>)
chaîne de texte.

Convertit toutes les lettres d’une chaîne de


LOWER LOWER(<text>)
texte en minuscules.

Retourne une chaîne de caractères à partir


MID(<text>, <start_num>,
MID du milieu d’une chaîne de texte, en fonction <num_chars>)
d’une position de départ et d’une longueur.

REPLACE remplace une partie d’une chaîne


de texte, en fonction du nombre de REPLACE(<old_text>, <start_num>,
REPLACE
caractères que vous spécifiez, par une autre <num_chars>, <new_text>)
chaîne de texte.

REPLACE(<old_text>, <start_num>,
REPT Répète du texte un certain nombre de fois.
<num_chars>, <new_text>)

32

Page 33

RIGHT retourne le ou les derniers caractères


RIGHT d’une chaîne de texte, en fonction du RIGHT(<text>, <num_chars>)
nombre de caractères que vous spécifiez.

Retourne le numéro du caractère où


SEARCH(<find_text>,
apparaît pour la première fois un caractère
SEARCH <within_text>[, [<start_num>][,
ou une chaîne de texte spécifique selon une
<NotFoundValue>]])
lecture de gauche à droite.

Remplace un texte existant par un nouveau SUBSTITUTE(<text>, <old_text>,


SUBSTITUTE
texte dans une chaîne de texte. <new_text>, <instance_num>)

Supprime tous les espaces d’un texte à


TRIM l’exception des espaces uniques entre les TRIM(<text>)
mots.

Retourne le caractère Unicode référencé par


UNICHAR UNICHAR(number)
la valeur numérique.

Retourne le code numérique correspondant


UNICODE UNICODE( <Text> )
au premier caractère de la chaîne de texte.

Convertit toutes les lettres d’une chaîne de


UPPER UPPER (<text>)
texte en majuscules.

Convertit en nombre une chaîne de texte


VALUE VALUE(<text>)
qui représente un nombre.

Vous aimerez peut-être aussi