Calculer un champ

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights desktop

Vous pouvez ajouter et calculer de nouveaux champs à votre jeu de données à l’aide de la table de données ou de l'.ingénierie des données. Les champs calculés vous permettent de créer des champs, tels que les taux de croissance, le pourcentage de perte et l’évolution au fil du temps, en choisissant des champs dans votre jeu de données et en appliquant des opérateurs et des fonctions.

Vous pouvez également calculer des champs en utilisant Calculate % Change (Calculer la variation en %), Calculate Ratio (Calculer le ratio) et Calculate Z-Score (Calculez le score Z) dans Trouver des réponses.

Conseil :

Utilisez la table de données pour ajouter des données normalisées à votre jeu de données pour les cartes, diagrammes et tables. Une fois les données calculées et ajoutées à votre jeu de données, changez le type du champ pour l'identifier comme un champ de taux/ratioChamp de taux/ratio. Pour plus d'informations sur la normalisation des données, reportez-vous à la rubrique Cartes choroplèthes.

Calculer un champ dans la table de données

Les champs calculés dans la table de données n'apparaissent dans le classeur et ne sont pas ajoutés au jeu de données. Si vous souhaitez conserver le champ calculé ailleurs que dans le classeur, vous pouvez créer une nouvelle couche d’entités en partageant le jeu de données ou à l’aide de l’ingénierie des données.

Remarque :

La table de données offre une vue représentative de vos données. Sa limite est de 2 000 lignes. Lorsque vous triez la table par ordre croissant et décroissant, vous pouvez voir les 2 000 lignes supérieures et les 2 000 lignes inférieures. Tous les calculs sont effectués sur le jeu de données complet.

Pour calculer un champ dans la table de données, procédez comme suit :

  1. Ouvrez un classeur et ajoutez des données si nécessaire.
  2. Dans la fenêtre de données, cliquez sur le bouton Dataset options (Options du jeu de données) Options du jeu de données en regard du jeu de données auquel vous voulez ajouter un champ calculé.
  3. Cliquez sur View data table (Afficher la table de données)..
  4. Cliquez sur + champ.

    Une colonne nommée New Field (Nouveau champ) est ajoutée à la table.

    Remarque :

    Vous pouvez redimensionner et réordonner les colonnes, mais ces changements ne sont pas enregistrés.

  5. Cliquez sur l'en-tête de la nouvelle colonne et attribuez-lui un nom plus descriptif.
  6. Cliquez sur fx ou sur Enter calculate function (Entrer la fonction de calcul) pour afficher un menu qui regroupe des fonctions, des noms de champs et des opérateurs et créer votre formule.

    Vous pouvez également utiliser les commandes au clavier équivalentes pour remplacer les boutons du menu fx.

  7. Utilisez les fonctions, champs et opérateurs pour effectuer votre calcul comme il convient.
  8. Cliquez sur Run (Exécuter).

    Si le bouton Run (Exécuter) n’est pas activé, la syntaxe de votre calcul comporte une erreur.

Le nouveau champ calculé apparaît à la fin de votre jeu de données. Vous pouvez supprimer un champ calculé en le sélectionnant et en cliquant sur le bouton Delete calculated field (Supprimer le champ calculé) Supprimer le champ calculé.

Calculer une colonne à l'aide de l'ingénierie des données

Insights desktop
Remarque :

L’ingénierie des données est disponible dans Insights desktop. Tous les utilisateurs de Insights in ArcGIS Online et Insights in ArcGIS Enterprise ont accès à Insights desktop. Pour plus d’informations, reportez-vous à la rubrique Vue d’ensemble de ArcGIS Insights.

L’ingénierie des données existe actuellement en mode Aperçu.

L’outil Calculer la colonne peut être ajouté à un modèle de données et utilisé pour ajouter des colonnes au jeu de données en sortie. Les colonnes calculées dans un classeur de données sont alors définitivement ajoutées au jeu de données en sortie au lieu de n’exister que dans le classeur.

Pour calculer une colonne à l'aide de l'ingénierie des données, procédez comme suit :

  1. Ouvrez un classeur de données dans Insights desktop et ajoutez des données, si nécessaire.
  2. Dans la barre d’outils latérale, cliquez sur le bouton Calculate column (Calculer la colonne) Calculer la colonne.
  3. Pour le paramètre New column name (Nom de la nouvelle colonne), saisissez le nom de la nouvelle colonne.
    Remarque :

    Les bases de données prises en charge dans Insights prennent uniquement en charge les lettres, les chiffres et les traits de soulignement pour les noms de colonnes. Les caractères non pris en charge dans les noms de colonnes sont convertis en traits de soulignement une fois enregistrés dans une base de données (par exemple, population/sq mile est converti en population_sq_mile). Pour optimiser les résultats, appliquez un nom de colonne qui utilise uniquement des caractères pris en charge, puis mettez à jour l’alias de colonne avec d’autres caractères, le cas échéant.

  4. Dans le champ Column expression (Expression de colonne), utilisez les fonctions, noms de colonne et opérateurs pour effectuer le calcul souhaité.

    Vous pouvez également utiliser les commandes clavier équivalentes pour remplacer les boutons.

    Remarque :

    Si le classeur de données comporte plusieurs jeux de données, les options d’entrée sont basées sur la table active.

  5. Cliquez sur Run (Exécuter).

    Si le bouton Run (Exécuter) n’est pas activé, la syntaxe de votre calcul comporte une erreur.

La nouvelle colonne calculée est ajoutée à la table et l’outil Calculer la colonne est ajouté au modèle de données.

Opérateurs

Le calcul d’un champ peut requérir des opérateurs mathématiques et logiques. Les opérateurs suivants sont disponibles pour calculer des champs :

OpérateurUtilisation

+

Addition.

-

Soustraction.

×

Multiplication. La commande clavier équivalente est *.

÷

Division. La commande clavier équivalente est /.

xy

Fonction Puissance. La commande clavier équivalente est ^.

<

Inférieur à.

>

Supérieur à.

=

Egal à.

<=

Plus petit que ou égale à.

>=

Plus grand que ou égal à.

<>

N’est pas égal à.

,

Virgule, utilisée comme séparateur entre les composants syntaxiques dans les fonctions.

(

Parenthèse ouvrante.

)

Parenthèse fermante.

AND

Opérateur logique lorsque toutes les conditions doivent être remplies.

OR

Opérateur logique lorsqu’une des conditions doit être remplie.

IS NULL

Un opérateur binaire qui vérifie si les valeurs d’un champ sont nulles. La valeur de sortie 0 est attribuée lorsque la valeur testée n’est pas nulle, et la valeur de sortie 1 lorsque la valeur testée est nulle.

IS NOT NULL

Un opérateur binaire qui vérifie si les valeurs d’un champ ne sont pas nulles. La valeur de sortie 0 est attribuée lorsque la valeur testée est nulle, et la valeur de sortie 1 lorsque la valeur testée n’est pas nulle.

Remarque :

Les opérateurs mathématiques (+, -, > et =, par exemple) sont compatibles avec les champs de nombre et taux/ratio. Les fonctions telles que CONCATENATE() et DATEDIF() peuvent être utilisées en lieu et place de certains opérateurs mathématiques pour les champs de chaîne et date/heure, respectivement.

Les opérateurs IS NULL et IS NOT NULL sont compatibles avec tous les types de champ (chaîne, numérique, taux/ratio, et date/heure) à l’exception des emplacements. Certains champs de type chaîne comportant des valeurs nulles peuvent être configurés en tant que chaînes vides. Dans ces cas, IS NULL et IS NOT NULL ne renverront pas les résultats attendus. À la place, les expressions field="" et field<>"" peuvent remplacer les expressions field IS NULL et field IS NOT NULL, respectivement.

Les opérateurs AND et OR peuvent servir à joindre des conditions dont les syntaxes sont différentes de celles de leurs fonctions logiques correspondantes. Les exemples suivants montrent des calculs équivalents à l’aide des fonctions et des opérateurs :

Remarque :

Lorsque vous calculez des champs, AND et OR doivent être utilisés dans la fonction IF().

FonctionOpérateur

IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")

IF(MeanAge>=18 AND MeanAge<=33,"Millennial","Other")

IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")

IF(Crime="Theft" OR Crime="Theft from vehicle" OR Crime="Shoplifting", "Larceny", "Other")

Fonctions

Les fonctions sont accessibles à l’aide du bouton fx ou du champ Enter calculate function (Entrer la fonction de calcul) de la table de données. Il y a quatre types de fonctions : chaîne, numérique, date et logique.

Lorsque vous ajoutez une fonction à votre calcul, une fenêtre contextuelle apparaît avec la syntaxe de la fonction. Vous pouvez fermer la fenêtre contextuelle à l’aide du bouton de fermeture Fermer ou réafficher la boîte de dialogue en cliquant sur la fonction dans le champ Enter calculate function (Saisir une fonction de calcul).

Fonctions de chaîne

La plupart des fonctions de chaîne utilisent des entrées de chaîne pour produire des sorties de chaîne. Les deux exceptions sont la fonction VALUE() et la fonction FIND(), qui utilisent toutes les deux les entrées de chaîne pour produire des sorties numériques.

Le texte de saisie dans les fonctions de chaîne peut être littéral (texte entouré de guillemets) ou valeurs de champ de catégorie. La table suivante utilise les champs de catégorie pour ses exemples, ainsi que les exemples de valeurs pouvant être trouvés dans ces champs. Les guillemets sont utilisés dans la valeur de champ pour démontrer que les champs ont des données catégoriques.

SyntaxeDescriptionExemple

CONCATENATE(text1, [text2], ... )

Concatène deux ou plusieurs valeurs de chaîne.

Un jeu de données des écoles de Californie contient les champs de rue, de ville et le code postal. Un unique champ d’adresses postales peut être créé à l’aide de la fonction CONCATENATE() :

  • Syntaxe de la fonction : CONCATENATE(Address,", ", City," , CA, ",ZIP)
  • Exemple des valeurs de champ :
    • Address = "380 New York St"
    • City = "Redlands"
    • ZIP = "92373"
  • Texte du résultat : "380 New York St, Redlands, CA, 92373"

FIND(find_text, within_text, [start_num])

Donne la position du texte spécifié (caractère ou caractères) dans une chaîne ou un champ textuel. La fonction FIND() peut être la plus utile lorsqu’elle est utilisée conjointement avec d’autres fonctions, telles que MID(), LEFT() ou RIGHT().

Un jeu de données contient un champ avec des adresses de rue (notamment le numéro et le nom de rue). Pour classer les données par rue, le nom de rue doit être supprimé du reste de l’adresse à l’aide de la fonction MID(). Cependant, chaque numéro a une longueur différente, ainsi le start_num est différent pour chaque ligne. Le start_num est disponible à l’aide de la fonction FIND() :

  • Syntaxe de la fonction : FIND(" ", Address)
  • Exemple des valeurs de champ :
    • Address = "380 New York St"
  • Numéro du résultat : 4

LEFT(text, [num_chars])

Renvoie une partie d’un champ textuel.

  • num_chars : indique le nombre de caractères de l’expression renvoyés et devant être un entier. Le nombre de caractères est comptabilisé de gauche à droite, en commençant par la première position. Si num_chars n’est pas fourni, un seul caractère est utilisé par défaut.

Un jeu de données des accidents de trafic comprend un champ de catégorie avec le jour de l'accident, notamment le jour de la semaine, la date et l'année. Pour étudier les accidents le jour de la semaine, un nouveau champ peut être calculé pour afficher les trois premiers caractères du champ (à commencer par le jour de la semaine) à l’aide de la fonction LEFT() :

  • Syntaxe de la fonction : LEFT(Accident_Date, 3)
  • Exemple des valeurs de champ :
    • Accident_Date = "Monday, November 14, 2016"
  • Texte du résultat : "Mon"

LOWER(text)

Renvoie une expression de caractères avec toutes les données converties en minuscules.

Un service de travaux publics compile une liste des panneaux de rue devant être remplacés. Comme de nouvelles entrées sont ajoutées à la liste, le format du champ Status n’est plus un format standardisé. L’affichage des panneaux avec des valeurs uniques devient alors plus compliqué. Il est possible de standardiser le champ Status de sorte qu’il ne comporte que des lettres minuscules, à l’aide de la fonction LOWER() :

  • Syntaxe de la fonction : LOWER(Status)
  • Exemple des valeurs de champ :
    • Status = "Installed"
  • Texte du résultat : "installed"

MID(text, start_num, [num_chars])

Renvoie une partie d’un champ textuel.

  • start_num : spécifie la position du premier caractère (commençant par 1). La valeur start_num doit être un entier.
  • num_chars : indique le nombre de caractères de l’expression renvoyés et devant être un entier. Aucun caractère vide n’est renvoyé si la valeur num_chars est supérieure à la longueur de la chaîne. Si num_chars n’est pas fourni, tous les caractères à partir du caractère de départ sont utilisés par défaut.

Un jeu de données des écoles de Californie contient les champs de rue, de ville et le code postal. Le nom de la rue peut être isolé de la rue à l’aide de la fonction MID() :

  • Syntaxe de la fonction : MID(Address, 5, 20)
  • Exemple des valeurs de champ :
    • Address = "380 New York St"
  • Texte du résultat : "New York St"

RIGHT(text, [num_chars])

Renvoie une partie d’un champ textuel.

  • num_chars : indique le nombre de caractères de l’expression renvoyés et devant être un entier. Le nombre de caractères est comptabilisé de droite à gauche, en commençant par la dernière position. Si num_chars n’est pas fourni, un seul caractère est utilisé par défaut.

Un jeu de données des parcs nationaux comprend un champ avec le nom du parc et le code d’état à deux chiffres. Pour symboliser les parcs par état, un nouveau champ peut être ajouté et calculé à l’aide de la fonction RIGHT() :

  • Syntaxe de la fonction : RIGHT(Park, 2)
  • Exemple des valeurs de champ :
    • Park = "Hawai'i Volcanoes National Park, HI"
  • Texte du résultat : "HI"

SUBSTITUTE(source_text, old_text, new_text)

Remplace l’ancien texte d’une chaîne par le nouveau texte spécifié.

  • source_text : texte d’origine ou champ contenant du texte.
  • old_text : texte dans le source_text à remplacer.
  • new_text : texte destiné à remplacer le old_text.

Un jeu de données des emplacements des nids-de-poule contient un champ avec des noms de rues. Le jeu de données doit être mis à jour lorsque Main Street est renommée 5th Street. Le champ street_name peut être mis à jour à l’aide de la fonction SUBSTITUTE() :

  • Syntaxe de la fonction : SUBSTITUTE(street_name, "Main", "5th")

Remarque :

La fonction SUBSTITUTE() remplace toutes les occurrences de old_text par new_text. Par exemple, dans la fonction SUBSTITUTE("aba", "a", "c"), le texte de résultat est « cbc ».

TRIM(text)

Renvoie la chaîne avec des espaces supplémentaires supprimés des extrémités.

Un service d'entités contient les champs textuels avec des espaces supplémentaires au début et à la fin de leurs valeurs. Les espaces supplémentaires peuvent être supprimés via la fonction TRIM() :

  • Syntaxe de la fonction : TRIM(City)
  • Exemple des valeurs de champ :
    • City = " Redlands "
  • Texte du résultat : "Redlands"

UPPER(text)

Renvoie une expression de caractères avec toutes les données converties en majuscules.

Un jeu de données avec les emplacements des sièges d'ONG contient un champ avec les noms complets des organisations ainsi que leurs acronymes, le cas échéant. Les acronymes peuvent être standardisés pour avoir tous des lettres capitales à l’aide de la fonction UPPER() :

  • Syntaxe de la fonction : UPPER(Org)
  • Exemple des valeurs de champ :
    • Org = « Nasa »
  • Résultat texte : « NASA »

VALUE(text, [format])

Convertit le texte en nombre

  • format : spécifie le caractère utilisé comme séparateur décimal dans le nombre. Le format peut être soit une virgule (","), soit un point (".") de séparation des décimales. Si aucun format n'est indiqué, le séparateur par défaut est un point.

Remarque :

Les fonctions imbriquées dans la fonction VALUE() peuvent entraîner des résultats inattendus si aucun format n’est fourni. Par conséquent, il est recommandé de spécifier un format lorsque vous utilisez la fonction VALUE().

Actuellement, la fonction VALUE() ne prend pas en charge la conversion du texte en chiffres négatifs.

Un jeu de données de magasins de vente au détail a un champ de catégorie avec les montants des revenus. Le champ Revenue peut être converti en valeurs numériques à l’aide de la fonction VALUE().

  • Syntaxe de la fonction : VALUE(Revenue, ".")
  • Exemple des valeurs de champ :
    • Revenue = "1 000 00"
  • Numéro du résultat : 1000.00

Fonctions numériques

Les fonctions numériques utilisent les entrées de nombre pour produire des sorties de nombre. Les fonctions numériques ont tendance à être plus utilisées conjointement avec d’autres fonctions ou en tant que méthode pour transformer les données.

Les numéros d'entrée peuvent être des chiffres littéraux ou des champs numériques. Certains des exemples ci-dessous utilisent des nombres en entrée plutôt que des champs pour mieux illustrer l’utilisation de chaque fonction.

SyntaxeDescriptionExemple

ABS(number)

Renvoie la valeur absolue.

  • Syntaxe de la fonction : ABS(-350)
  • Numéro du résultat : 350

AVG(number)

Renvoie la valeur moyenne.

  • Syntaxe de la fonction : AVG(field)
  • Exemples de valeur numérique pour field : 4, 5, 11, 6.5
  • Résultat : 6,63

CEILING(number)

Arrondit un nombre au multiple de 1 supérieur.

  • Syntaxe de la fonction : CEILING(7.8)
  • Numéro du résultat : 8

COS(number)

Cosinus trigonométrique de l'angle spécifié, en radians.

Les formules suivantes peuvent être utilisées pour convertir les degrés en radians :

radians = θπ/180 où : θ = l’angle exprimé en degrés π ≈ 3.14

  • Syntaxe de la fonction : COS(0.35)
  • Numéro du résultat : 0.94

FLOOR(number)

Arrondit un nombre au multiple de 1 inférieur.

  • Syntaxe de la fonction : FLOOR(7.8)
  • Numéro du résultat : 7

LN(number)

Logarithme naturel de l’expression flottante spécifiée. Le logarithme naturel utilise la constante e comme valeur de base (environ 2,72)

  • Syntaxe de la fonction : LN(16)
  • Numéro du résultat : 2.77

LOG(number)

Logarithme d'un nombre vers une base spécifique. La base par défaut est 10.

  • Syntaxe de la fonction : LOG(16, 2)
  • Numéro du résultat : 4

MAX(number) ou MAX(date)

Renvoie la valeur maximale.

  • Syntaxe de la fonction : MAX(num_field)
  • Exemples de valeur pour num_field : 4, 5, 11, 6.5
  • Résultat : 11

MIN(number) ou MIN(date)

Renvoie la valeur minimale.

  • Syntaxe de la fonction : MIN(date_field)
  • Exemples de valeur pour date_field : 03/17/2018, 02/14/2019, 10/31/2020
  • Résultat : 03/17/2018

PERCENTTOTAL(number)

Calcule le pourcentage de chaque valeur de champ avec le total des champs.

  • Syntaxe de la fonction : PERCENTTOTAL(num_field)
  • Exemples de valeur pour num_field : 4, 5, 11, 6.5
  • Résultats : 0.1509, 0.1887, 0.4151, 0.2453

POWER(number, power)

La valeur de l’expression spécifiée à la puissance indiquée.

  • Syntaxe de la fonction : POWER(2, 4)
  • Numéro du résultat : 16

ROUND(number, num_digits)

Arrondit les valeurs numériques avec des chiffres spécifiques.

  • num_digits = le nombre de décimales dans le résultat
    • Si num_digits est positif, le chiffre est arrondi au nombre de décimales correspondantes
    • Si num_digits est égal à zéro, le nombre est arrondi à l’entier le plus proche
    • Si num_digits est négatif, le nombre est arrondi au nombre spécifié de chiffres avant la virgule

  • Syntaxe de la fonction : ROUND(54.854827, 2)
  • Numéro du résultat : 54.85
  • Syntaxe de la fonction : ROUND(54.854827, -1)
  • Numéro du résultat : 50

SIN(number)

Sinus trigonométrique de l'angle spécifié, en radians.

Les formules suivantes peuvent être utilisées pour convertir les degrés en radians :

radians = θπ/180 où : θ = l’angle exprimé en degrés π ≈ 3.14

  • Syntaxe de la fonction : SIN(0.79)
  • Numéro du résultat : 0.71

STDEV(number)

Écart type d’un champ numérique.

  • Syntaxe de la fonction : STDEV(field)
  • Exemples de valeur numérique pour field : 4, 5, 11, 6.5
  • Résultat : 3,09

SUM(number)

Renvoie la valeur totale.

  • Syntaxe de la fonction : SUM(field)
  • Exemples de valeur numérique pour field : 4, 5, 11, 6.5
  • Résultat : 26.5

TAN(number)

Renvoie la tangente de l’expression en entrée.

Les formules suivantes peuvent être utilisées pour convertir les degrés en radians :

radians = θπ/180 où : θ = l’angle exprimé en degrés π ≈ 3.14

  • Syntaxe de la fonction : TAN(1.05)
  • Numéro du résultat : 1.74

Fonctions de date

Les fonctions de date peuvent utiliser des champs de date, du texte ou aucune entrée, selon la fonction utilisée. La fonction DATEVALUE() peut être utilisée pour remplacer un champ de date dans la fonction DATEDIF() ou TIMEDIF().

Remarque :

Les champs date/heure utilisés dans DATEDIF() et DATEADD() doivent être dans un format comprenant une date (c’est-à-dire, au format date et heure ou au format date uniquement). Les champs date/heure au format heure uniquement ne seront pas acceptés.

Les champs date/heure utilisés dans TIMEDIF() doivent être dans un format comprenant une heure (c’est-à-dire, au format date et heure ou au format heure uniquement). Les champs de date/heure au format date uniquement ne seront pas acceptés.

Les séparateurs de date suivants sont pris en charge : le point (.), le tiret (-) et la barre oblique (/).

SyntaxeDescriptionExemple

DATE(year, month, day, [hour, minute, second], [AM/PM])

Crée un champ de date/heure avec trois champs ou valeurs séparées ou plus. Les spécifications suivantes sont acceptées :

  • year : "YY" (année à deux chiffres) ou "YYYY" (année à quatre chiffres)
  • month : "MM" (1–12)
  • day : "DD" (1–31)
  • hour : "HH" (0–23) ou "hh" (1–12)
  • minute : "mm" (0–59)
  • second : "ss" (0–59)
  • AM/PM : "AM"/"PM" (non sensible à la casse)

Remarque :

Tous les champs en entrée peuvent être des nombres ou des chaînes, sauf le paramètre AM/PM. Les nombres doivent être des valeurs entières. Les années à deux chiffres doivent être définies comme des chaînes.

Si vous utilisez la fonction DATE() avec un jeu de données de base de données et que vous avez spécifié des paramètres temporels (hour, minute ou second), vous devez saisir une valeur en entrée pour tous les paramètres temporels.

Un jeu de données de restaurants comprend des champs de dates avec la date et l’heure des inspections sanitaires les plus récentes. Un champ de date pour les inspections peut être créé à l’aide de la fonction DATE() :

  • Syntaxe de la fonction : DATE(2016, Month, Day, Hour, Min, 00)
  • Exemple des valeurs de champ :
    • Month = 8
    • Day = 15
    • Hour = 11
    • Minute = 30
  • Date de résultat : 8/15/2016, 11:30:00

Remarque :

Les dates de résultat de cet exemple sont au format 24 heures. Pour utiliser une horloge sur 12 heures vous devez préciser AM ou PM. Le même exemple de fonction peut s’écrire sous la forme DATE(2016, Month, Day, Hour, Min, 00, "AM").

TIME(hour, minute, second)

Crée un champ de date/heure avec trois champs ou valeurs séparés. Les spécifications suivantes sont acceptées :

  • hour : "HH" (0–23) ou "hh" (1–12)
  • minute : "mm" (0–59)
  • second : "ss" (0–59)
  • AM/PM : "AM"/"PM" (non sensible à la casse)

Remarque :

Tous les champs en entrée peuvent être des nombres ou des chaînes, sauf le paramètre AM/PM. Les nombres doivent être des valeurs entières.

Un jeu de données de registres d’hôpitaux inclut les heures d’arrivée des patients. Un champ d’heure pour les registres peut être créé à l’aide de la fonction TIME() :

  • Syntaxe de la fonction : TIME(Hour, Min, 00)
  • Exemple des valeurs de champ :
    • Hour = 11
    • Minute = 30
  • Temps de résultat : 11:30:00

Remarque :

Les heures de résultat de cet exemple sont au format 24 heures. Pour utiliser une horloge sur 12 heures vous devez préciser AM ou PM. Le même exemple de fonction peut s’écrire sous la forme TIME(Hour, Min, 00, "AM").

DATEADD(date, integer, [unit])

Ajoute une durée spécifiée aux dates dans le champ en entrée.

  • date doit être un champ date/heure. Le champ doit être dans un format comprenant une date (c’est-à-dire, au format date et heure ou au format date uniquement). Les champs date/heure au format heure uniquement ne seront pas acceptés.
  • integer : nombre à ajouter à la date en entrée. Si vous utilisez une constante, le nombre doit être un entier, qui peut être positif ou négatif. Si vous utilisez un champ numérique, les décimales sont ignorées. C’est pourquoi il est vivement conseillé d’utiliser un champ qui comporte uniquement des entiers ou de calculer un nouveau champ avec des entiers (par exemple, en utilisant la fonction ROUND()).
  • unit : unité de temps à ajouter. Les valeurs d’unité prises en charge incluent :
    • "ss" = secondes
    • "mm" = minutes
    • "h" = heures
    • "D" = jours (par défaut)
    • "M" = mois
    • "Y" = années

Si aucune unité n’est renseignée, l’unité "D" est utilisée.

Lorsque vous ajoutez des mois à un champ date/heure, la sortie sera le même jour du mois, quel que soit le nombre de jours dans le mois. Si le jour correspondant du mois n’est pas valide dans le nouveau mois, le dernier jour du mois est utilisé. Par exemple, si un calcul ajoute trois mois au champ en entrée et que l’une des dates d’origine est le 30 novembre 2021, la valeur en sortie du 30 février 2022 n’est pas valide. Le résultat enregistré sera le 28 février 2022, car 2022 n’est pas une année bissextile.

Une unité de santé publique est chargée de tenir un registre des vaccins pour les patients du district de santé. Un vaccin spécifique se fait en deux doses, qui doivent être séparées d’au moins 60 jours et de 180 jours au maximum. Vous pouvez utiliser DATEADD() pour créer des champs avec la première date à laquelle les patients sont éligibles pour leur seconde dose, ainsi que la date limite pour l’injection de la dose finale.

Date d’éligibilité :

  • Syntaxe de la fonction : DATEADD(first_dose_date, 60, "D")
  • Exemple des valeurs de champ :
    • first_dose_date = 7/11/2021
  • Date de résultat : 9/9/2021

Date finale :

  • Syntaxe de la fonction : DATEADD(first_dose_date, 180, "D")
  • Exemple des valeurs de champ :
    • first_dose_date = 7/11/2021
  • Date de résultat : 1/7/2022

TIMEADD(time, integer, unit)

Ajoute une durée spécifiée aux heures dans le champ en entrée.

  • time doit être un champ date/heure. L’heure peut être ajoutée à tous les champs date/heure, y compris les champs qui n’incluent pas encore de composant horaire.
  • integer : nombre à ajouter à l’heure en entrée. Si vous utilisez une constante, le nombre doit être un entier, qui peut être positif ou négatif. Si vous utilisez un champ numérique, les décimales sont ignorées. C’est pourquoi il est vivement conseillé d’utiliser un champ qui comporte uniquement des entiers ou de calculer un nouveau champ avec des entiers (par exemple, en utilisant la fonction ROUND()).
  • unit : unité de temps à ajouter. Les valeurs d’unité prises en charge incluent :
    • "ss" = secondes
    • "mm" = minutes
    • "h" = heures

Un jeu de données inclut des dates et heures enregistrées selon le temps universel coordonné (UTC) et qui doivent être converties en heure normale du Centre (CST). Un champ date/heure avec des heures au format CST peut être créé à l’aide de la fonction TIMEADD() :

  • Syntaxe de la fonction : TIMEADD(UTC_date, -6, "h")
  • Exemple des valeurs de champ :
    • UTC_date = 7/11/2021 2:30:00 PM
  • Date de résultat : 7/11/2021 8:30:00 AM

DATEDIF(start_date, end_date, [unit])

Calcule le temps écoulé entre deux dates. Le start_date doit être avant end_date, sinon le résultat est une valeur négative.

  • start_date et end_date peuvent être des champs date/heure ou une fonction DATEVALUE(). En cas d’utilisation de champs date/heure, le champ doit être dans un format comprenant une date (c’est-à-dire, au format date et heure ou au format date uniquement). Les champs date/heure au format heure uniquement ne seront pas acceptés.
  • unit : l’unité de temps à renvoyer. Les valeurs d’unité prises en charge incluent :
    • "ss" = secondes
    • "mm" = minutes
    • "h" = heures
    • "D" = jours (par défaut)
    • "M" = mois
    • "Y" = années

Si aucune unité n’est renseignée, l’unité "D" est utilisée.

Les arrondis sont appliqués aux résultats pour chaque unité comme suit :

  • Secondes : aucun arrondi pour les secondes.
  • Minutes : une minute est comptabilisée lorsque 60 secondes entières s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les minutes partielles.
  • Heures : une heure est comptabilisée lorsque 60 minutes entières s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les heures partielles.
  • Jours : un jour est comptabilisé lorsque 24 heures entières s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les jours partiels.
  • Mois : un mois est comptabilisé lorsqu’un mois entier s’écoule entre les dates (par exemple, du 1er janvier au 1er février), quel que soit le nombre de jours compris dans les mois. Les résultats sont arrondis au nombre inférieur pour les mois partiels. Les composants temporels, par exemple les heures, ne sont pas pris en compte dans le calcul.
  • Année : une année est comptabilisée lorsque 183 jours (6 mois) s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les années partielles composées de moins de 183 jours complets.

Un jeu de données de restaurants inclut les dates de leurs inspections sanitaires les plus récentes. Le nombre de jours écoulés entre les inspections sanitaires peut être calculé à l’aide de la fonction DATEDIF() :

Exemple 1 :

  • Syntaxe de la fonction : DATEDIF(Inspection1, Inspection2, "D")
  • Exemple des valeurs de champ :
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • Temps de résultat (jours) : 77

Exemple 2 :

  • Syntaxe de la fonction : DATEDIF(Inspection1, Inspection2, "D")
  • Exemple des valeurs de champ :
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 8/16/2016 8:00:00 AM
  • Temps de résultat (jours) : 0

Exemple 3 :

  • Syntaxe de la fonction : DATEDIF(Inspection1, Inspection2, "M")
  • Exemple des valeurs de champ :
    • Inspection1 = 8/15/2016, 11:30:00 AM
    • Inspection2 = 10/31/2016 2:30:00 PM
  • Temps de résultat (mois) : 2

TIMEDIF(start_time, end_time, [unit])

Calcule le temps écoulé entre deux dates valeurs de date/heure. Le start_time doit être avant end_time, sinon le résultat est une valeur négative.

  • start_time et end_time peuvent être des champs date/heure ou une fonction DATEVALUE(). Si une heure est utilisée (par exemple, hh:mm:ss), les valeurs start_time et end_time doivent être dans un format d’heure uniquement.
  • unit : l’unité de temps à renvoyer. Les valeurs d’unité prises en charge incluent :
    • "ss" = secondes (par défaut)
    • "mm" = minutes
    • "h" = heures

Si aucune unité n’est renseignée, l’unité "ss" est utilisée.

Les arrondis sont appliqués aux résultats pour chaque unité comme suit :

  • Secondes : aucun arrondi pour les secondes.
  • Minutes : une minute est comptabilisée lorsque 60 secondes entières s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les minutes partielles.
  • Heures : une heure est comptabilisée lorsque 60 minutes entières s’écoulent entre les dates. Les résultats sont arrondis au nombre inférieur pour les heures partielles.

Un jeu de données de registres d’opération d’hôpital inclut les heures de début et de fin des opérations chirurgicales. Le temps que chaque patient passe en chirurgie peut être calculé à l’aide de la fonction TIMEDIF() :

  • Syntaxe de la fonction : TIMEDIF(TimeIn, TimeOut, "mm")
  • Exemple des valeurs de champ :
    • TimeIn = 11:30:00 AM
    • TimeOut = 2:30:20 PM
  • Temps de résultat (minutes) : 180

DATEVALUE(date_text, [format])

Convertit le texte en une date.

  • date_text peut être un champ de type chaîne ou un texte saisi entre guillemets.
  • format (facultatif) : le format de la date saisie. Le format est saisi comme texte entre guillemets. Le format peut être saisi à l’aide des spécifications unitaires suivantes :
    • "MM" : mois (1–12)
    • "DD" : jour du mois (1–31)
    • "YY" : année à deux chiffres
    • "YYYY" : année à quatre chiffres
    • "HH" : heure (0–23)
    • "hh" : heure (1–12)
    • "mm" : minutes (0–59)
    • "ss" : secondes (0–59)
    • "AM"/"PM" : non sensible à la casse

Remarque :

Les fonctions imbriquées dans la fonction DATEVALUE() peuvent entraîner des résultats inattendus si aucun format n’est fourni. Par conséquent, il est recommandé de spécifier un format lorsque vous imbriquez des fonctions avec DATEVALUE().

Les dates spécifiées sans séparateurs (par exemple, « 10312016 ») sont considérées comme millisecondes si aucun format n’est fourni. Par conséquent, il est recommandé de spécifier un format lorsque vous saisissez des dates sans séparateurs.

Pour les dates spécifiées avec les séparateurs, mais sans format, le format est deviné. Si le format ne peut être deviné, le "MM-DD-YY" par défaut est appliqué.

La fonction DATEVALUE() peut uniquement lire le texte saisi entre guillemets ou les champs de type chaîne. Un champ de type date/heure ne peut pas être utilisé en entrée dans la fonction DATEVALUE().

Un jeu de données de restaurants inclut les dates de leurs inspections sanitaires les plus récentes. Le nombre de jours écoulés depuis la dernière inspection peut être calculé à l’aide de la fonction DATEVALUE() pour spécifier la date actuelle :

  • Syntaxe de la fonction : DATEDIF(Inspection_date, DATEVALUE("10/31/2016", "MM/DD/YYYY"), "D")
  • Exemple des valeurs de champ :
    • Inspection_date = 8/15/2016, 11:30:00 AM
  • Numéro du résultat : 77

Les dates et heures peuvent être mises en forme de plusieurs manières. Les exemples suivants vous montrent comment mettre en forme le texte en dates :

  • DATEVALUE("12/25/2016 12:30:25 pm", "MM/DD/YYYY hh:mm:ss pm")
  • DATEVALUE("12/25/2016 14:23:45", "MM/DD/YYYY HH:mm:ss")
  • DATEVALUE("25-08-2008 08:40:13 AM", "DD/MM/YYYY hh:mm:ss AM")

NOW()

Renvoie la date et l'heure actuelles au format date/heure. L’heure est enregistrée selon le temps universel coordonné (UTC).

Un jeu de données de restaurants inclut les dates de leurs inspections sanitaires les plus récentes. Le nombre de jours écoulés depuis la dernière inspection peut être calculé à l’aide de la fonction NOW() pour spécifier la date actuelle :

  • Syntaxe de la fonction : DATEDIF(Inspection_date, NOW(), "D")
  • Exemple des valeurs de champ :
    • Inspection_date= 8/15/2016, 11:30:00 AM
  • Numéro du résultat : 77

Fonctions logiques

Les fonctions numériques utilisent les entrées de chaîne ou de nombre pour produire des sorties de chaîne ou de nombre. Les entrées peuvent être littérales (texte entre guillemets ou nombres constants) ou des valeurs de champs. Le tableau suivant utilise une combinaison de valeurs de champs et littérales pour ses exemples, ainsi que les exemples de valeurs pouvant être trouvés dans ces champs.

SyntaxeDescriptionExemple

AND(condition,condition, ...)

Teste deux conditions ou plus et renvoie TRUE si toutes les conditions sont remplies. AND() doit être utilisé dans le paramètre condition de la fonction IF().

  • condition : toute expression comprenant au moins un opérateur conditionnel. La condition peut contenir des valeurs numériques, de chaîne et de champ. Vous pouvez utiliser les opérateurs conditionnels suivants :
    • > : supérieur à
    • < : inférieur à
    • >= : supérieur ou égal à
    • <= : inférieur ou égal à
    • = : égal à
    • <> : non égal à

Un jeu de données contient l’âge moyen des personnes vivant dans chaque groupe d'îlots. Un analyste souhaite savoir quel groupe d’îlots compte le plus grand nombre de membres de la génération Y. Le groupe d’îlots avec un âge moyen compris dans la plage d’âges de la génération Y est calculé avec une combinaison des fonctions IF() et AND()

  • Syntaxe de la fonction : IF(AND(MeanAge>=18, MeanAge<=33),"Millennial","Other")
  • Exemple des valeurs de champ :
    • MeanAge = 43
  • Texte de résultat : « Other »

IF(condition, TRUE_expression, [FALSE_expression])

Teste une condition et renvoie une valeur TRUE ou FALSE en fonction du résultat.

  • condition : toute expression comprenant au moins un opérateur conditionnel. La condition peut contenir des valeurs numériques, de chaîne et de champ. Vous pouvez utiliser les opérateurs conditionnels suivants :
    • > : supérieur à
    • < : inférieur à
    • >= : supérieur ou égal à
    • <= : inférieur ou égal à
    • = : égal à
    • <> : non égal à
  • TRUE_expression : expression qui sera utilisée si la condition est vraie. Ce paramètre est obligatoire.
  • FALSE_expression : expression qui sera utilisée si la condition est fausse. Si aucun FALSE_expression n’est fourni, la valeur par défaut est null.

TRUE_expression et FALSE_expression peuvent être n’importe quelle expression valide, notamment une fonction IF() imbriquée. Le type de données de TRUE_expression et FALSE_expression doit être le même (par exemple, chaîne ou nombres).

Un jeu de données contient des champs de recettes et dépenses de magasins, qui peuvent être utilisés pour déterminer la santé des magasins (s'ils ont réalisé des bénéfices nets ou des pertes nettes). La santé de chaque magasin est disponible à l’aide de la fonction IF() :

  • Syntaxe de la fonction : IF(Revenue>Expenses, "Profit","Loss")
  • Exemple des valeurs de champ :
    • Revenue = 400,000
    • Expenses = 350,000
  • Texte de résultat : « Profit »

ISNULL(field)*

Vérifie si les valeurs d’un champ sont nulles. La valeur de sortie 0 est attribuée lorsque la valeur testée n’est pas nulle, et la valeur de sortie 1 lorsque la valeur testée est nulle.

  • field : prend en charge les types de champs suivants : chaîne, numérique, taux/ratio et date/heure.

ISNULL() doit être utilisé seul ou au sein du paramètre condition de la fonction IF().

Un jeu de données contient les emplacements de collisions impliquant des cyclistes, ainsi que le type de voie cyclable qui se trouve dans la rue dans laquelle la collision a eu lieu. Pour les collisions qui se sont produites dans une rue sans voie cyclable, le champ RouteType reste vide. Il est possible de mettre à jour le jeu de données de manière à remplir les valeurs nulles à l’aide d’une combinaison des fonctions IF() et ISNULL() :

  • Syntaxe de la fonction : IF(ISNULL(RouteType), "None", RouteType)

ISNOTNULL(field)*

Vérifie si les valeurs d’un champ ne sont pas nulles. La valeur de sortie 0 est attribuée lorsque la valeur testée est nulle, et la valeur de sortie 1 lorsque la valeur testée n’est pas nulle.

  • field : prend en charge les types de champs suivants : chaîne, numérique, taux/ratio et date/heure.

ISNOTNULL() doit être utilisé seul ou au sein du paramètre condition de la fonction IF().

Un jeu de données contient les emplacements de collisions impliquant des cyclistes, ainsi que le type de voie cyclable qui se trouve dans la rue dans laquelle la collision a eu lieu. Pour les collisions qui se sont produites dans une rue sans voie cyclable, le champ RouteType reste vide. Il est possible de mettre à jour le jeu de données de manière à remplir les valeurs nulles à l’aide d’une combinaison des fonctions IF() et ISNOTNULL() :

  • Syntaxe de la fonction : IF(ISNOTNULL(RouteType), RouteType, "None")

OR(condition,condition, ...)

Teste deux conditions ou plus et renvoie TRUE si au moins une condition est remplie. OR() doit être utilisé dans le paramètre condition de la fonction IF().

  • condition : toute expression comprenant au moins un opérateur conditionnel. La condition peut contenir des valeurs numériques, de chaîne et de champ. Vous pouvez utiliser les opérateurs conditionnels suivants :
    • > : supérieur à
    • < : inférieur à
    • >= : supérieur ou égal à
    • <= : inférieur ou égal à
    • = : égal à
    • <> : non égal à

Un jeu de données contient des emplacements de crimes dans une ville. Un analyste souhaite analyser le modèle des larcins comparés à d’autres crimes similaires. Pour ce faire, il doit d’abord déterminer si chaque crime a été considéré ou non comme un larcin. Le type de crime peut être déterminé grâce à une combinaison des fonctions IF() et OR() :

  • Syntaxe de la fonction : IF(OR(Crime="Theft", Crime="Theft from vehicle", Crime="Shoplifting"), "Larceny", "Other")
  • Texte de résultat : « Larceny »

*Certains champs ne comportant pas de données peuvent être configurés en tant que champs vides plutôt qu’en tant que champs nuls. Dans ces cas, ISNULL() et ISNOTNULL() ne renverront pas les résultats attendus. À la place, les expressions field="" et field<>"" peuvent remplacer les expressions ISNULL(field) et ISNOTNULL(field), respectivement.