---
schema_version: "1"
id: f748feb4879453ac2f7fb27206b99d12aff10ef998673369792cfb9bfa9403c7
title: Référence des fonctions de Tableau Prep
collection: tableau
version: current
locale: fr-ca
portal_url: https://docs.salesforce.com/tableau/current/fr-ca/prep/prep_function_reference.md
canonical_url: https://help.tableau.com/current/prep/fr-ca/prep_function_reference.htm
source_site: help.tableau.com
content_type: documentation
content_hash: fdfe1bf5434b61a461251672fb5e502396e046d939d370336eedd6bddf761418
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 des 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 de tous les nombres contenus dans le champ Écart budgétaire.</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ées (<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 chiffre au chiffre entier le plus proche ou à la valeur la plus importante.<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>Retourne la part d’entier d’une opération de division, à savoir <code> integer1</code> 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 au nombre entier le plus proche de 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 la coordonnée 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 la valeur nulle 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 nulle si la valeur de l’un ou l’autre argument est nulle. <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 nulle si la valeur de l’un ou l’autre argument est nulle. <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écimale indique le nombre de points décimaux de précision à inclure dans le résultat final. Si la valeur Décimale n’est pas indiquée, le nombre est arrondi à l’entier le plus proche.<p>Exemple&nbsp;:</p><p>Cet exemple arrondit toutes les valeurs de vente à 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; 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 l’argument facultatif Début est ajouté, la fonction ignore les instances de la <code>substring </code> qui apparaissent avant la première position d’index. Le premier caractère de la chaîne correspond à la position&nbsp;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 la 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 débutant à la première position d’index. Le premier caractère de la chaîne correspond à la position&nbsp;1. Si l’argument facultatif 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 sorte que la première lettre de chaque mot soit en majuscule et les lettres restantes en minuscules. Les espaces et les caractères non alphanumériques tels que la ponctuation agissent également comme 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 est associée au groupe de capture dans le modèle d’expression régulière. Le modèle d’expression régulière requiert 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 à l’aide du modèle d’expression régulière. La sous-chaîne est associée au nth 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ù le modèle de correspondance est remplacé par la chaîne de remplacement.<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 la sous-chaîne dans la chaîne et la remplace par la chaîne de 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 la 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, déterminée par un délimiteur qui extrait les caractères du début ou de la 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 une <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 nulles 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 nulles 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 nulles 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 expression unique. La fonction MEDIAN peut être utilisée avec des champs numériques uniquement. Les valeurs nulles sont ignorées.<p>Exemple&nbsp;:</p><p><code>MEDIAN([Profit])
</code></p></td></tr><tr><td><code>PERCENTILE(expression, number)</code></td><td>Calcul agrégé qui renvoie la valeur du centile pour l’expression donnée correspondant au nombre indiqué. Les valeurs valides pour le nombre sont comprises entre 0 et 1. CENTILE([expression], 0,50) renvoie toujours la valeur médiane de 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 de 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 de 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 nulles 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; 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 un nombre à virgule flottante en fonction de tout type d’expression. Cette fonction requiert des nombres non formatés, c’est-à-dire sans virgules ni 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 en fonction d’une expression. Cette fonction tronque le résultat à l’entier le plus proche de 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 de l’année du mois et du 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 en fonction d’une expression de date et d’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 d’heure créée à partir des heures, des minutes et des 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.</p><p>Exemple&nbsp;:</p><p><code>STR([Age]) </code></p><p>Renvoie toutes les valeurs de la mesure de l’â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 indiquée et renvoie la nouvelle date. L’incrément est défini par l’intervalle et la valeur de 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ù la valeur start_date est soustraite de la valeur end_date. La différence est exprimée en unités de date_part. Si la valeur start_of_week est omise, le jour de début de 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 data donnée sous forme de chaîne, la partie étant définie en fonction de la valeur date_part. Si la valeur start_of_week est omise, le jour de début de 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 date dans le 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 data donnée sous forme d’entier, la partie étant définie en fonction de la valeur date_part. Si la valeur start_of_week est omise, le jour de début de 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 indiqué par la valeur date_part et renvoie la nouvelle date. Si la valeur start_of_week est omise, le jour de début de 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 l’<code>&lt;expr1&gt;</code> si celle-ci n’est pas une valeur nulle, sinon renvoie l’<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 la valeur 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; 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 d’analytique

<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 et renvoie la dernière valeur non nulle.<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 une valeur nulle 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 prend qu’un seul 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 indiqué de groupes ou de sections. Avec cette fonction, l’ensemble des valeurs (6,9,9,14) distribuées dans 3&nbsp;sections serait affecté 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>Renvoie 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>Exécute 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 &lt;<code>value</code>&gt; correspondant à <code>&lt;expr</code>&gt; et renvoie la valeur &lt;<code>return</code>&gt; 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 &lt;<code>then</code>&gt; pour la première &lt;<code>expr</code>&gt; positive. <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 &lt;<code>then</code>&gt; pour la première &lt;<code>expr</code>&gt; positive. Cela é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 les 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éez une instruction conditionnelle (instruction <code>IF</code>) qui 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>Exécute 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>Exécute 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 d’analytique. Utilisez l’argument facultatif asc | desc pour préciser 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 des fonctions d’analytique. 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 &lt;<code>then</code>&gt; pour la première &lt;<code>expr</code>&gt; positive. <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>