Vous pouvez ajouter de nouveaux champs à votre jeu de données à l’aide de la table de données. La table de données vous permet d’ajouter 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.
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.
- Le nouveau champ calculé apparaît uniquement dans votre classeur, et non dans le jeu de données original. Par exemple, après l’ajout d’un champ calculé percentchange à un jeu de données CommodityPrices ajouté à partir de Microsoft Excel, le champ percentchange est disponible dans votre classeur sans pour autant être ajouté au fichier Excel d’origine. 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.
- 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/ratio . Pour plus d'informations sur la normalisation des données, reportez-vous à la rubrique Cartes choroplèthes.
Ajouter un champ à votre jeu de données
Pour ajouter un champ au jeu de données, procédez comme suit :
- Dans la fenêtre de données, cliquez sur le bouton Dataset options (Options du jeu de données) en regard du jeu de données auquel vous voulez ajouter un champ calculé.
- Cliquez sur View data table (Afficher la table de données)..
- 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.
- Cliquez sur l'en-tête de la nouvelle colonne et attribuez-lui un nom plus descriptif.
- 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.
- Utilisez les fonctions, champs et opérateurs pour effectuer votre calcul comme il convient.
- Cliquez sur Run (Exécuter). Si le bouton Run (Exécuter) n’est pas activé, la syntaxe de votre calcul comporte une erreur.
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érateurs | Utilisation |
---|---|
+ | 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().
Fonction | Opé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 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.
Syntaxe | Description | Exemple |
---|---|---|
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() :
|
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() :
|
LEFT(text, [num_chars]) | Renvoie une partie d’un champ textuel.
| 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() :
|
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() :
|
MID(text, start_num, [num_chars]) | Renvoie une partie d’un champ textuel.
| 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() :
|
RIGHT(text, [num_chars]) | Renvoie une partie d’un champ textuel.
| 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() :
|
SUBSTITUTE(source_text, old_text, new_text) | Remplace l’ancien texte d’une chaîne par le nouveau texte spécifié.
| 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() :
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() :
|
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() :
|
VALUE(text, [format]) | Convertit le texte en nombre
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().
|
Fonctions numériques
Les fonctions numériques utilisent les entrées de nombre pour produire des sorties de nombre. Les fonctions de nombre ont tendance à être plus utilisés 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.
Syntaxe | Description | Exemple |
---|---|---|
ABS(number) | Renvoie la valeur absolue. |
|
AVG(number) | Renvoie la valeur moyenne. |
|
CEILING(number) | Arrondit un nombre au multiple de 1 supérieur. |
|
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 :
|
|
FLOOR(number) | Arrondit un nombre au multiple de 1 inférieur. |
|
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) |
|
LOG(number) | Logarithme d'un nombre vers une base spécifique. La base par défaut est 10. |
|
MAX(number) ou MAX(date) | Renvoie la valeur maximale. |
|
MIN(number) ou MIN(date) | Renvoie la valeur minimale. |
|
POWER(number, power) | La valeur de l’expression spécifiée à la puissance indiquée. |
|
ROUND(number, num_digits) | Arrondit les valeurs numériques avec des chiffres spécifiques.
|
|
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 :
|
|
STDEV(number) | Écart type d’un champ numérique. |
|
SUM(number) | Renvoie la valeur totale. |
|
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 :
|
|
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.
Syntaxe | Description | Exemple |
---|---|---|
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 :
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() :
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 :
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() :
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.
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é :
Date finale :
|
TIMEADD(time, integer, unit) | Ajoute une durée spécifiée aux heures dans le champ en entrée.
| 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() :
|
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.
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 :
| 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 :
Exemple 2 :
Exemple 3 :
|
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.
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 :
| 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() :
|
DATEVALUE(date_text, [format]) | Convertit le texte en une date.
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 :
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 :
|
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 :
|
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.
Syntaxe | Description | Exemple |
---|---|---|
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().
| 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()
|
IF(condition, TRUE_expression, [FALSE_expression]) | Teste une condition et renvoie une valeur TRUE ou FALSE en fonction du résultat.
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() :
|
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.
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() :
|
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.
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() :
|
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().
| 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() :
|
*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.
Vous avez un commentaire à formuler concernant cette rubrique ?