---
schema_version: "1"
id: 1557e0e5bd1e20efd7d88f1de1028c77cdc9c370b94cd97cbde00cf063f5aa60
title: Référence des fonctions de Tableau Prep
collection: tableau
version: current
locale: fr-fr
portal_url: https://docs.salesforce.com/tableau/current/fr-fr/prep/prep_function_reference.md
canonical_url: https://help.tableau.com/current/prep/fr-fr/prep_function_reference.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 7ab739be64870fca298ca8348b1bc9802ed7fc1ddaacca4fbc1c4962bf73f26e
description: Reference for Tableau Prep calculation functions across categories.
---
[Passer au contenu principal](#main-content)

# Référence des fonctions de Tableau Prep

Les fonctions de calcul de Tableau Prep vous permettent d’utiliser les champs calculés pour créer de nouvelles données en utilisant les données déjà présentes dans votre source de données.

### Fonctions de nombre

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>ABS(number)</code></td><td>Renvoie la valeur absolue d’un nombre donné.<p>Exemples&nbsp;:</p><p><code>ABS(-7) = 7
</code></p><p><code>ABS([Budget Variance])</code></p>Renvoie la valeur absolue pour tous les nombres contenus dans le champ Budget Variance.</td></tr><tr><td><code>ACOS(number)</code></td><td>Renvoie l’arc cosinus d’un nombre donné. Le résultat est exprimé en radians.<p>Exemple&nbsp;:</p><p><code>ACOS(-1) = 3.14159265358979</code></p></td></tr><tr><td><code>ASIN(number)</code></td><td>Renvoie l’arc sinus d’un nombre donné. Le résultat est exprimé en radians.<p>Exemple&nbsp;:</p><p><code>ASIN(1) = 1.5707963267949</code></p></td></tr><tr><td><code>ATAN(number)</code></td><td>Renvoie l’arc tangente d’un nombre donné. Le résultat est exprimé en radians.<p>Exemple&nbsp;:</p><p><code>ATAN(180) = 1.5652408283942</code></p></td></tr><tr><td><code>ATAN2(y number, x number)</code></td><td>Renvoie l’arc tangente de deux nombres donnés (<code>x</code> et <code>y</code>). Le résultat est exprimé en radians.<p>Exemple&nbsp;:</p><p><code>ATAN2(2, 1) = 1.10714871779409</code></p></td></tr><tr><td><code>CEILING(number</code>)</td><td>Arrondit un nombre à l’entier le plus proche d’une valeur supérieure ou égale.<p>Exemple&nbsp;:</p><p><code>CEILING(3.1415) = 4</code></p></td></tr><tr><td><code>COS(number)</code></td><td>Renvoie le cosinus d’un angle. Spécifiez l’angle en radians.<p>Exemple&nbsp;:</p><p><code>COS(PI( ) /4) = 0.707106781186548</code></p></td></tr><tr><td><code>COT(angle)</code></td><td>Renvoie la cotangente d’un angle. Spécifiez l’angle en radians.<p>Exemple&nbsp;:</p><p><code>COT(PI( ) /4) = 1
</code></p></td></tr><tr><td><code>DIV(integer1, integer2)</code></td><td>Renvoie la partie d’entier d’une opération de division, où <code> integer1</code> est divisé par <code>integer2</code>.<p>Exemple&nbsp;:</p><p><code>DIV(11,2) = 5
</code></p></td></tr><tr><td><code>EXP(number)</code></td><td>Renvoie la valeur e élevée à la puissance du nombre donné.<p>Exemples&nbsp;:</p><p><code>EXP(2) = 7.389
EXP(-[Growth Rate]*[Time])</code></p></td></tr><tr><td><code>FLOOR(number)</code></td><td>Arrondit un nombre à l’entier le plus proche d’une valeur inférieure ou égale.<p>Exemple&nbsp;:</p><p><code>FLOOR(3.1415) = 3</code></p></td></tr><tr><td><code>HEXBINX(number, number)</code></td><td>Mappe des coordonnées x, y sur les coordonnées x de la classe hexagonale la plus proche. Les classes ayant une longueur latérale de 1, il est possible que vous deviez dimensionner les entrées.<p>Exemple&nbsp;:</p><p><code>HEXBINX([Longitude], [Latitude])</code></p></td></tr><tr><td><code>HEXBINY(number, number)</code></td><td>Mappe des coordonnées x, y sur la coordonnée y de la classe hexagonale la plus proche. Les classes ayant une longueur latérale de 1, il est possible que vous deviez dimensionner les entrées.<p>Exemple&nbsp;:</p><p><code>HEXBINY([Longitude], [Latitude])</code></p></td></tr><tr><td><code>LN(number)</code></td><td><p>Renvoie le logarithme naturel d’un nombre. Renvoie une valeur null si le nombre est inférieur ou égal à&nbsp;0.</p><p>Exemple&nbsp;:</p><p><code>LN(EXP(5)) = 5</code></p></td></tr><tr><td><code>LOG(number [, base]</code>)</td><td><p>Renvoie le logarithme naturel d’un nombre pour la base donnée. Si la valeur de base n’est pas indiquée, la base 10 est utilisée.</p><p>Exemple&nbsp;:</p><p><code>LOG(256, 2) = 8</code></p></td></tr><tr><td><code>MAX(number, number)</code></td><td>Renvoie la valeur maximum des deux arguments, qui doivent être du même type. Renvoie une valeur null si un des arguments est une valeur null. <code>MAX </code>peut également être appliqué à un seul champ dans un calcul d’agrégation.<p>Exemples&nbsp;:</p><p><code>MAX(4,7)</code><br><code>MAX(Sales,Profit)</code><br><code>MAX([First Name],[Last Name])</code></p></td></tr><tr><td><code>MIN(number, number)</code></td><td>Renvoie la valeur minimum des deux arguments, qui doivent être du même type. Renvoie une valeur null si un des arguments est une valeur null. <code>MIN </code>peut également être appliqué à un seul champ dans un calcul d’agrégation.<p>Exemples&nbsp;:</p><p><code>MIN(4,7)
</code></p><p><code>MIN(Sales,Profit)</code></p><p><code>MIN([First Name],[Last Name])
</code></p></td></tr><tr><td><code>PI( )</code></td><td><p>Renvoie la constante numérique PI&nbsp;: 3.14159.</p><p>Exemple&nbsp;:</p><p><code>PI() = 3.14159265358979</code></p></td></tr><tr><td><code>POWER(number, power)</code></td><td>Élève le nombre à la puissance indiquée.<p>Exemples&nbsp;:</p><p><code>POWER(5,2) = 52 = 25
POWER(Temperature, 2)</code></p><p>Vous pouvez également utiliser le symbole ^&nbsp;:</p><p><code>5^2 = POWER(5,2) = 25</code></p></td></tr><tr><td><code>RADIANS(number)</code></td><td>Convertit en radians un nombre donné exprimé en degrés.<p>Exemple&nbsp;:</p><p><code>RADIANS(180) = 3.14159</code></p></td></tr><tr><td><code>ROUND(number, [decimals])</code></td><td>Arrondit les nombres à un nombre donné de chiffres. L’argument Décimales indique le nombre de points décimaux de précision à inclure dans le résultat final. Si les décimales sont omises, le nombre est arrondi à l’entier le plus proche.<p>Exemple&nbsp;:</p><p>Cet exemple arrondit toutes les valeurs Ventes à un entier&nbsp;:</p><p><code>ROUND(Sales)</code></p></td></tr><tr><td><code>SIGN(number)</code></td><td>Renvoie le signe d’un nombre. Les valeurs renvoyées sont -1 si le nombre est négatif, 0 s’il est égal à zéro ou 1 s’il est positif.<p>Exemple&nbsp;:</p><p>Si la moyenne du champ des profits est négative, alors</p><p><code>SIGN(AVG(Profit)) = -1</code></p></td></tr><tr><td><code>SIN(number)</code></td><td>Renvoie le sinus d’un angle. Spécifiez l’angle en radians.<p>Exemples&nbsp;:</p><p><code>SIN(0) = 1.0</code></p><p><code>SIN(PI( )/4) = 0.707106781186548</code></p></td></tr><tr><td><code>SQRT(number)</code></td><td>Renvoie la racine carrée d’un nombre.<p>Exemple&nbsp;:</p><p><code>SQRT(25) = 5
</code></p></td></tr><tr><td><code>SQUARE(number)</code></td><td>Renvoie le carré d’un nombre.<p>Exemple&nbsp;:</p><p><code>SQUARE(5) = 25</code></p></td></tr><tr><td><code>TAN(number</code>)</td><td><p>Renvoie la tangente d’un angle. Spécifiez l’angle en radians.</p><p>Exemple&nbsp;:</p><p><code>TAN(PI ( )/4) = 1.0</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Renvoie l’expression si celle-ci n’est pas nulle&nbsp;; sinon renvoie la valeur zéro. Utilisez cette fonction pour utiliser des valeurs égales à zéro au lieu de valeurs nulles.</p><p>Exemple&nbsp;:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Fonctions de chaîne

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>ASCII(string)</code></td><td>Renvoie le code ASCII du premier caractère d’une chaîne.<p>Exemple&nbsp;:</p><p><code>ASCII('A') = 65</code></p></td></tr><tr><td><code>CHAR(number)</code></td><td>Renvoie le caractère encodé à l’aide du nombre du code ASCII.<p>Exemple&nbsp;:</p><p><code>CHAR(65) = 'A'</code></p></td></tr><tr><td><code>CONTAINS(string, substring)</code></td><td>Renvoie TRUE si la chaîne donnée contient la sous-chaîne indiquée.<p>Exemple&nbsp;:</p><p><code>CONTAINS(“Calculation”, “alcu”) = true</code></p></td></tr><tr><td><code>ENDSWITH(string, substring)</code></td><td>Renvoie TRUE si la chaîne donnée se termine par la <code>substring</code> indiquée. Les espaces en fin de chaîne sont ignorés.<p>Exemple&nbsp;:</p><p><code>ENDSWITH(“Tableau”, “leau”) = true</code></p></td></tr><tr><td><code>FIND(string, substring, [start])</code></td><td>Renvoie la position d’index de la <code>substring </code>dans la chaîne, ou&nbsp;0 si la sous-chaîne est introuvable. Si le début de l’argument facultatif est ajouté, la fonction ignore les instances de la <code>substring </code>qui apparaissent avant le début de la position d’index. Le premier caractère de la chaîne correspond à la position 1.<p>Exemples&nbsp;:</p><p><code>FIND("Calculation", "alcu") = 2</code></p></td></tr><tr><td><code>FINDNTH(string, substring, occurrence)</code></td><td>Renvoie la position de la nième occurrence de la sous-chaîne dans la chaîne spécifiée, où n est défini par l’argument d’occurrence.<p>Exemple&nbsp;:</p><p><code>FINDNTH("Calculation", "a", 2) =7</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td><p>Renvoie la valeur vrai si une chaîne donnée est une date valide.</p><p>Exemple&nbsp;:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>LEFT(string, number)</code></td><td>Renvoie les caractères situés le plus à gauche dans la chaîne.<p>Exemple&nbsp;:</p><p><code>LEFT("Matador", 4) = "Mata"
</code></p></td></tr><tr><td><code>LEN(string)</code></td><td>Renvoie la longueur de la chaîne.<p>Exemple&nbsp;:</p><p><code>LEN("Matador") = 7
</code></p></td></tr><tr><td><code>LOWER(string)</code></td><td>Renvoie une chaîne avec tous les caractères en minuscules.<p>Exemple&nbsp;:</p><p><code>LOWER("ProductVersion") = "productversion"</code></p></td></tr><tr><td><code>LTRIM(string)</code></td><td>Renvoie la chaîne en supprimant les espaces de début.<p>Exemple&nbsp;:</p><p><code>Example: LTRIM(" Sales") = "Sales"</code></p></td></tr><tr><td><code>(MID(string, start, [length])</code></td><td>Renvoie la chaîne commençant au début de la position d’index. Le premier caractère de la chaîne correspond à la position 1. Si l’argument facultatif de longueur est ajouté, la chaîne renvoyée inclut uniquement ce nombre de caractères.<p>Exemples&nbsp;:</p><p><code>MID("Calculation", 2) = "alculation"</code></p><p><code>MID("Calculation", 2, 5) ="alcul"</code></p></td></tr><tr><td><code>PROPER(string)</code></td><td>Convertit une chaîne de texte de manière à ce que la première lettre de chaque mot soit en majuscules et les autres lettres en minuscules. Les espaces et les caractères non alphanumériques tels que la ponctuation font également office de séparateurs.<p>Exemple&nbsp;:</p><p><code>PROPER("PRODUCT name") = "Product Name"
</code></p></td></tr><tr><td><code>REGEXP_EXTRACT(string, pattern)</code></td><td>Renvoie une sous-chaîne de la chaîne donnée qui correspond au groupe de capture dans le modèle d’expression régulière. Le modèle d’expression régulière nécessite exactement un groupe de capture<p>Exemple&nbsp;:</p><p><code>REGEXP_EXTRACT('abc 123', '[a-z]+\\s+(\\d+)') = '123'</code></p></td></tr><tr><td><code>REGEXP_EXTRACT_NTH(string, pattern, index)</code></td><td>Renvoie une sous-chaîne de la chaîne donnée en utilisant le modèle d’expression régulière. La sous-chaîne est associée au n-ième groupe de capture, où n est l’index donné.<p>Exemple&nbsp;:</p><p><code>REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\s+(\\d+)', 2) = '123'</code></p></td></tr><tr><td><code>REGEXP_MATCH(string, pattern)</code></td><td>Renvoie TRUE si une sous-chaîne de la chaîne fournie correspond au modèle d’expression régulière.<p>Exemple&nbsp;:</p><p><code>REGEXP_MATCH('-([1234].[ The.Market ])-', '\\[\\s*(\\w*\\.)(\\w*\\s*\\])') = true</code></p></td></tr><tr><td><code>REGEXP_REPLACE(string, pattern, replacement)</code></td><td>Renvoie une copie de la chaîne donnée où la chaîne de remplacement se substitue au modèle de correspondance.<p>Exemple&nbsp;:</p><p><code>REGEXP_REPLACE('abc  123', '\\s', '-') = 'abc--123'
</code></p></td></tr><tr><td><code>REPLACE(string, substring, replacement)</code></td><td>Recherche une sous-chaîne dans une chaîne et y substitue un remplacement. Si la sous-chaîne est introuvable, la chaîne reste inchangée.<p>Exemple&nbsp;:</p><p><code>REPLACE("Calculation", "ion", "ed") = "Calculated"</code></p></td></tr><tr><td><code>RIGHT(string, number)</code></td><td>Renvoie les caractères situés le plus à droite dans une chaîne.<p>Exemple&nbsp;:</p><p><code>RIGHT("Calculation", 4) = "tion"</code></p></td></tr><tr><td><code>RTRIM(string)</code></td><td>Renvoie la chaîne en supprimant les espaces de fin.<p>Exemple&nbsp;:</p><p><code>Example: RTRIM("Market ") = "Market"</code></p></td></tr><tr><td><code>SPACE(number)</code></td><td>Renvoie une chaîne constituée du nombre spécifié d’espaces répétés.<p>Exemple&nbsp;:</p><p><code>SPACE(1) = " "</code></p></td></tr><tr><td><code>SPLIT(string, delimiter, token number)	
</code></td><td><p>Renvoie une sous-chaîne d’une chaîne, telle que déterminée par un délimiteur extrayant les caractères de début ou de fin de la chaîne.</p><p>Exemple&nbsp;:</p><p><code>SPLIT('a-b-c-d', '-', 2) = 'b'</code></p></td></tr><tr><td><code>STARTSWITH(string, substring)</code></td><td>Renvoie true si la chaîne commence par <code>substring</code>. Les espaces en début de chaîne sont ignorés.<p>Exemple&nbsp;:</p><p><code>STARTSWITH(“Joker”, “Jo”) = true
</code></p></td></tr><tr><td><code>TRIM(string)</code></td><td>Renvoie la chaîne en supprimant les espaces de début et de fin.<p>Exemple&nbsp;:</p><p><code>TRIM(" Calculation ") = "Calculation"</code></p></td></tr><tr><td><code>UPPER(string)</code></td><td>Renvoie la chaîne avec tous les caractères en majuscules.<p>Exemple&nbsp;:</p><p><code>UPPER("Calculation") = "CALCULATION"
</code></p></td></tr></tbody></table>

### Fonctions d’agrégation

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>AVG(expression)</code></td><td>Renvoie la moyenne de toutes les valeurs de l’expression. La fonction AVG peut être utilisée avec des champs numériques uniquement. Les valeurs null sont ignorées<p>Exemple&nbsp;:</p><p><code>AVG([Profit])</code></p></td></tr><tr><td><code>COUNT(expression)</code></td><td>Renvoie le nombre d’éléments d’un groupe. Les valeurs null sont ignorées.<p>Exemple&nbsp;:</p><p><code>COUNT([Customer ID])
</code></p></td></tr><tr><td><code>COUNTD(expression)</code></td><td>Renvoie le nombre d’éléments distincts d’un groupe. Les valeurs null sont ignorées. Chaque valeur unique n’est comptabilisée qu’une seule fois.<p>Exemple&nbsp;:</p><p><code>COUNTD([Region])</code></p></td></tr><tr><td><code>MEDIAN(expression)</code></td><td>Renvoie la médiane d’une seule expression. La fonction MEDIAN peut être utilisée avec des champs numériques uniquement. Les valeurs null sont ignorées.<p>Exemple&nbsp;:</p><p><code>MEDIAN([Profit])
</code></p></td></tr><tr><td><code>PERCENTILE(expression, number)</code></td><td>Le calcul agrégé renvoie la valeur du centile pour l’expression donnée correspondant au nombre indiqué. Les valeurs valides pour le nombre vont de 0 à 1. PERCENTILE([expression], 0.50) renverra toujours la valeur médiane dans l’expression.<p>Exemple&nbsp;:</p><p><code>PERCENTILE([Sales], 0.90)</code></p></td></tr><tr><td><code>STDEV(expression)</code></td><td>Renvoie l’écart-type d’échantillon dans l’expression.<p>Exemple&nbsp;:</p><p><code>STDEV([Profit])</code></p></td></tr><tr><td><code>STDEVP(expression)</code></td><td><p>Renvoie l’écart-type de population dans l’expression.</p><p>Exemple&nbsp;:</p><p><code>STDEVP([Profit])
</code></p></td></tr><tr><td><code>SUM(expression)</code></td><td><p>Renvoie la somme de toutes les valeurs de l’expression. La fonction SUM peut être utilisée avec des champs numériques uniquement. Les valeurs null sont ignorées.</p><p>Exemple&nbsp;:</p><p><code>SUM([Profit])
</code></p></td></tr><tr><td><code>VAR(expression)</code></td><td><p>Renvoie la variance statistique de toutes les valeurs dans l’expression donnée en fonction d’un échantillon de population.</p><p>Exemple&nbsp;:</p><p><code>VAR([Height])</code></p></td></tr><tr><td><code>VARP(expression)</code></td><td><p>Renvoie la variance statistique de toutes les valeurs dans l’expression donnée de la totalité de la population.</p><p>Exemple&nbsp;:</p><p><code>VARP([Test Score])</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Renvoie l’expression si celle-ci n’est pas nulle&nbsp;; sinon renvoie la valeur zéro. Utilisez cette fonction pour utiliser des valeurs égales à zéro au lieu de valeurs nulles.</p><p>Exemple&nbsp;:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Fonctions de conversion de type

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>DATE</code></td><td>Renvoie une date en fonction d’un nombre, d’une chaîne ou d’une expression de date.<p>Exemple&nbsp;:</p><p><code>DATE("2006-06-15 14:52") = 2006-06-15</code></p><p>Notez que les guillemets sont obligatoires.</p></td></tr><tr><td><code>DATETIME(expression)</code></td><td>Renvoie une date et une heure en fonction d’un nombre, d’une chaîne ou d’une expression de date.<p>Exemple&nbsp;:</p><p><code>DATETIME("April 15, 2004 07:59:00")</code></p><p>Notez que les guillemets sont obligatoires.</p></td></tr><tr><td><code>FLOAT(expression)</code></td><td>Renvoie une valeur flottante selon une expression de tout type. Cette fonction nécessite des nombres non formatés, ce qui exclut donc les virgules et autres symboles.<p>Exemple&nbsp;:</p><p><code>FLOAT("3")= 3.000</code></p></td></tr><tr><td><code>INT(expression)</code></td><td>Renvoie un entier selon une expression donnée. Cette fonction tronque le résultat au nombre entier le plus proche tendant vers zéro.<p>Exemple&nbsp;:</p><p><code>INT(8.0/3.0) = 2 or INT(-9.7) = -9</code></p></td></tr><tr><td><code>MAKEDATE(year, month, day)</code></td><td>Renvoie une valeur de date créée à partir d’une année, d’un mois et d’un jour du mois.<p>Exemple&nbsp;:</p><p><code>MAKEDATE(2014, 3, 18)</code></p></td></tr><tr><td><code>MAKEDATETIME(date, time)</code></td><td><p>Renvoie une valeur de date et heure selon une expression de date et une expression d’heure.</p><p>Exemple&nbsp;:</p><p><code>MAKEDATETIME(#2012-11-12#, #07:59:00#)</code></p></td></tr><tr><td><code>MAKETIME(hour, minute, second)</code></td><td><p>Renvoie une valeur de temps créée à partir des heures, minutes et secondes.</p><p>Exemple&nbsp;:</p><p><code>MAKETIME(14, 52, 40)</code></p></td></tr><tr><td><code>STR(expression)</code></td><td><p>Renvoie une chaîne en fonction d’une expression donnée.</p><p>Exemple&nbsp;:</p><p><code>STR([Age]) </code></p><p>Renvoie toutes les valeurs de la mesure Âge sous forme de chaînes.</p></td></tr></tbody></table>

### Fonctions de date

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>DATEADD(date_part, interval, date)</code></td><td>Ajoute un incrément à la date spécifiée et renvoie la nouvelle date. L’incrément est défini par l’intervalle et date_part.<p>Exemple&nbsp;:</p><p><code>DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEDIFF(date_part, start_date, end_date, [start_of_week])</code></td><td><p>Renvoie la différence entre deux dates où start_date est soustrait de end_date. La différence est exprimée en unités date_part. Si start_of_week est omis, le jour de début de la semaine est déterminé par le jour de début configuré pour la source de données.</p><p>Exemple&nbsp;:</p><p><code>DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3</code></p></td></tr><tr><td><code>DATENAME(date_part, date, [start_of_week])</code></td><td>Renvoie une partie de la date donnée sous forme de chaîne où le partie est définie par date_part. Si start_of_week est omis, le jour de début de la semaine est déterminé par le jour de début configuré pour la source de données.<p>Exemple&nbsp;:</p><p><code>DATENAME('month', #2004-04-15#) = "April"
</code></p></td></tr><tr><td><code>DATEPARSE(format, string)</code></td><td>Convertit une chaîne en une date au format spécifié.<p>Exemple&nbsp;:</p><p><code>DATEPARSE ("dd.MMMM.yyyy", "15.April.2004") = 2004-04-15 12:00:00 AM</code></p></td></tr><tr><td><code>DATEPARTT(date_part, date, [start_of_week])</code></td><td>Renvoie une partie de la date donnée sous forme d’entier où la partie est définie par date_part. Si start_of_week est omis, le jour de début de la semaine est déterminé par le jour de début configuré pour la source de données.<p>Exemple&nbsp;:</p><p><code>DATEPART('month', #2004-04-15#) = 4</code></p></td></tr><tr><td><code>DATETRUNC(date_part, date, [start_of_week])</code></td><td>Tronque la date indiquée au niveau de précision indiqué par la valeur date_part et renvoie la nouvelle date. Si start_of_week est omis, le jour de début de la semaine est déterminé par le jour de début configuré pour la source de données.<p>Exemple&nbsp;:</p><p><code>DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
</code></p></td></tr><tr><td><code>DAY(date)</code></td><td>Renvoie le jour d’une date donnée sous la forme d’un entier.<p>Exemple&nbsp;:</p><p><code>DAY(#2004-04-12#) = 12
</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Renvoie la valeur vrai si une chaîne donnée est une date valide.<p>Exemple&nbsp;:</p><p><code>ISDATE("2004-04-15") = True
</code></p></td></tr><tr><td><code>MONTH(date)</code></td><td><p>Renvoie le mois d’une date donnée sous la forme d’un entier.</p><p>Exemple&nbsp;:</p><p><code>MONTH(#2004-04-12#) = 4</code></p></td></tr><tr><td><code>NOW()</code></td><td>Renvoie la date et l’heure actuelles.<p>Exemple&nbsp;:</p><p><code>NOW() = 2004-05-12 1:08:21 PM
</code></p></td></tr><tr><td><code>TODAY()</code></td><td>Renvoie la date actuelle.<p>Exemple&nbsp;:</p><p><code>TODAY() = 2004-05-12</code></p></td></tr><tr><td><code>YEAR(date)</code></td><td>Renvoie l’année d’une date donnée sous la forme d’un entier.<p>Exemple&nbsp;:</p><p><code>YEAR(#2004-04-12#) = 2004
</code></p></td></tr></tbody></table>

### Fonctions logiques

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>IFNULL(expr1, expr2)</code></td><td>Renvoie <code>&lt;expr1&gt;</code> si la valeur n’est pas null, sinon renvoie <code>&lt;expr2&gt;</code>.<p>Exemple&nbsp;:</p><p><code>IFNULL([Profit], 0)</code></p></td></tr><tr><td><code>IIF(test, then, else, [unknown])</code></td><td>Vérifie si une condition est remplie, et renvoie une valeur si TRUE, une autre valeur si FALSE, et une troisième valeur optionnelle ou NULL si inconnu.<p>Exemple&nbsp;:</p><p><code>IIF([Profit] &gt; 0, 'Profit', 'Loss')</code></p></td></tr><tr><td><code>ISDATE(string)</code></td><td>Renvoie la valeur vrai si une chaîne donnée est une date valide.<p>Exemple&nbsp;:</p><p><code>ISDATE("2004-04-15") = True</code></p></td></tr><tr><td><code>ISNULL(expression)</code></td><td>Renvoie true si l’expression ne contient pas de données valides (<code>Null</code>).<p>Exemple&nbsp;:</p><p><code>ISNULL([Profit])
</code></p></td></tr><tr><td><code>ZN(expression)</code></td><td><p>Renvoie l’expression si celle-ci n’est pas nulle&nbsp;; sinon renvoie la valeur zéro. Utilisez cette fonction pour utiliser des valeurs égales à zéro au lieu de valeurs nulles.</p><p>Exemple&nbsp;:</p><p><code>ZN([Profit]) = [Profit]</code></p></td></tr></tbody></table>

### Fonctions analytiques

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Syntaxe</th><th>Description</th></tr><tr><td><code>LAST_VALUE(expression, [return_last_non-null_value])</code></td><td>Renvoie la dernière valeur de l’expression donnée, de la première ligne de la partition à la ligne actuelle. Accepte un deuxième paramètre booléen facultatif pour renvoyer la dernière valeur non null.<p>Exemple&nbsp;:</p><p><code>{ ORDERBY [Row ID] ASC: LAST_VALUE([Category], true) } = returns the last non-null value of [Category]
</code></p></td></tr><tr><td><code>LOOKUP(expression, [offset])</code></td><td><p>Renvoie la valeur de l’expression donnée dans une ligne cible, indiquée sous la forme d’un décalage relatif par rapport à la ligne actuelle. Renvoie NULL si la ligne cible ne peut pas être déterminée.</p><p>Le paramètre [<code>offset</code>] de la fonction <code>LOOKUP </code> ne peut prendre en charge qu’un entier littéral tel que 1.</p><p>Exemple&nbsp;:</p><p><code>{ORDERBY [DATE] ASC : LOOKUP([SALES], -1)} </code></p><p>Renvoie la valeur SALES de la ligne précédente.</p></td></tr><tr><td><code>NTILE(number)</code></td><td>Distribue les lignes d’une partition sélectionnée dans un nombre spécifié de groupes ou de sections. Avec cette fonction, l’ensemble des valeurs (6,9,9,14) réparties sur 3 sections serait attribué aux sections (1,2,2,3) dans l’ordre croissant.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: NTILE(3) }}</code></p></td></tr><tr><td><code>RANK()</code></td><td>Renvoie le rang concurrentiel standard de la ligne actuelle de la partition. Un classement identique est attribué à des valeurs identiques.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK() }}
</code></p></td></tr><tr><td><code>RANK_DENSE()</code></td><td>Renvoie le rang dense de la ligne actuelle de la partition. Un classement identique est attribué aux valeurs identiques. La séquence de chiffres demeure toutefois linéaire.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_DENSE() }}
</code></p></td></tr><tr><td><code>RANK_MODIFIED()</code></td><td>Renvoie le rang concurrentiel modifié de la ligne actuelle de la partition. Un classement identique est attribué à des valeurs identiques.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_MODIFIED() }}</code></p></td></tr><tr><td><code>RANK_PERCENTILE()</code></td><td>Renvoie le rang centile de la ligne actuelle de la partition.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_PERCENTILE() }}</code></p></td></tr><tr><td><code>ROW_NUMBER()</code></td><td>Attribue un identifiant de ligne séquentiel unique à chaque ligne.<p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales] ASC: ROW_NUMBER() }}</code></p></td></tr><tr><td><code>RUNNING_AVG(expression)</code></td><td>Renvoie la moyenne cumulée d’une expression donnée, de la première ligne de la partition à la ligne actuelle.<p>Exemple&nbsp;:</p><p><code>{ PARTITION [Category] : { ORDERBY [Row ID] ASC : RUNNING_AVG([Sales]) } } = running average of Sales, per Category.
</code></p></td></tr><tr><td><code>RUNNING_SUM(expression)</code></td><td>Renvoie la somme cumulée d’une expression donnée, de la première ligne de la partition à la ligne actuelle.<p>Exemple&nbsp;:</p><p><code>{ ORDERBY [Row ID] ASC : RUNNING_SUM([Sales]) } = running sum of all Sales</code></p></td></tr></tbody></table>

### Mots-clés

<table style="width: 100%;" class="simple-table"><colgroup><col style="width: 276px;"><col></colgroup><tbody><tr><th>Fonction</th><th>Description</th></tr><tr><td><code>AND</code></td><td>Réalise une conjonction logique entre deux expressions <p>Exemple&nbsp;:</p><p><code>IF (ATTR([Market]) = "New Business" AND SUM([Sales]) &gt; [Emerging Threshold] )THEN "Well Performing"</code></p></td></tr><tr><td><code>ASC</code></td><td>Définit l’ordre croissant pour les opérations <code>ORDERBY </code>.<p>Exemple</p><p><code>{ORDERBY [Sales] ASC:RANK()}</code></p></td></tr><tr><td><code>CASE</code></td><td>Trouve la première <code>value</code> correspondant à <code>&lt;expr</code> et renvoie la valeur <code>return</code> correspondante.<p>Exemple&nbsp;:</p><p><code>CASE [RomanNumeral] WHEN "|" THEN 1 WHEN "II" THEN 2 ELSE 3 END</code></p></td></tr><tr><td><code>DESC</code></td><td>Définit l’ordre décroissant pour les opérations <code>ORDERBY </code>. <p>Exemple&nbsp;:</p><p><code>{ORDERBY [Sales] DESC:RANK()}</code></p></td></tr><tr><td><code>ELSE</code></td><td>Teste une série d’expressions et renvoie la valeur <code>then</code> pour la première &lt;<code>expr</code>&gt; vraie. <p>Exemple&nbsp;:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSE 'Loss' END</code></p></td></tr><tr><td><code>ELSEIF</code></td><td>Teste une série d’expressions et renvoie la valeur <code>then</code> pour la première &lt;<code>expr</code>&gt; vraie. Équivaut à placer une instruction <code>if</code> à l’intérieur d’une opération ELSE.<p>Exemple&nbsp;:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>END</code></td><td>Termine une opération introduite par la directive correspondante.<p>Exemple&nbsp;:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>{ FIXED }</code></td><td>Les expressions de niveau de détail FIXED calculent des valeurs en utilisant les dimensions spécifiées sans faire référence au niveau de détail de la vue. <p>Exemple&nbsp;:</p><p><code>{FIXED[Customer ID]:MIN([Order Date])}</code></p></td></tr><tr><td><code>IF</code></td><td>Crée une instruction conditionnelle (instruction <code>IF</code>) et vous permet de l’exécuter uniquement si une condition est vraie.<p>Exemple&nbsp;:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END</code></p></td></tr><tr><td><code>NOT</code></td><td>Applique une négation logique sur une expression. <p>Exemple&nbsp;:</p><p><code>IF NOT [Profit] &gt; 0 THEN "Unprofitable" END</code></p></td></tr><tr><td><code>OR</code></td><td>Applique une disjonction logique sur une expression. <p>Exemple&nbsp;:</p><p><code>IF [Profit] &lt; 0 OR [Profit] = 0 THEN "Needs Improvement" END</code></p></td></tr><tr><td><code>{ ORDERBY </code>}</td><td>Définit l’ordre d’application des fonctions analytiques. Utilisez l’argument facultatif asc | desc pour spécifier l’ordre croissant ou décroissant pour chaque champ. <p>Exemple&nbsp;:</p><p><code>{ORDERBY [Customer Name] ASC, [Sales] DESC: RANK() }</code></p></td></tr><tr><td><code>{ PARTITION }</code></td><td>Définit le groupe auquel appliquer les fonctions analytiques. ORDERBY doit être à l’intérieur de la partition. <p>Exemple&nbsp;:</p><p><code>{PARTITION [Customer]: {ORDERBY [Sales]: RANK()}}</code></p></td></tr><tr><td><code>THEN</code></td><td>Teste une série d’expressions et renvoie la valeur <code>then</code> pour la première &lt;<code>expr</code>&gt; vraie. <p>Exemple&nbsp;:</p><p><code>IF [Profit] &gt; 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END</code></p></td></tr><tr><td><code>WHEN</code></td><td>Trouve la première &lt;<code>value</code>&gt; correspondant à &lt;<code>expr</code>&gt; et renvoie la valeur &lt;<code>return</code>&gt; correspondante. <p>Exemple&nbsp;:</p><p><code>CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END</code></p></td></tr></tbody></table>