Fonctions de chaîne

Cet article présente les fonctions de chaîne et leurs utilisations dans Tableau. Il montre également comment créer un calcul de chaîne en utilisant un exemple.

Pourquoi utiliser des fonctions de chaîne

Les fonctions de chaîne vous permettent de manipuler les données de chaîne (à savoir des données composées de texte). Tableau utilise la bibliothèque ICU (International Components for Unicode) actuelle lors de la comparaison de chaînes. La manière dont les chaînes sont triées et comparées est basée à la fois sur la langue et les paramètres régionaux. Il est possible que les visualisations changent étant donné que l'ICU est constamment mise à jour pour une meilleure prise en charge des langues.

Par exemple, vous pouvez avoir un champ qui contient tous les prénoms et noms de vos clients. Prenons un membre appelé Jane Johnson. Vous pouvez rassembler les noms de tous vos clients dans un nouveau champ en utilisant une fonction de chaîne.

Le calcul peut se présenter ainsi :

SPLIT([Customer Name], ' ', 2)

Donc, SPLIT('Jane Johnson' , ' ', 2) = 'Johnson'.

Fonctions de chaîne disponibles dans Tableau

ASCII

SyntaxeASCII(string)
RésultatNombre
DéfinitionRenvoie le code ASCII du premier caractère d’une <string>.
Exemple
ASCII('A') = 65
RemarquesInverse de la fonction CHAR.

CHAR

SyntaxeCHAR(number)
RésultatChaîne
DéfinitionRenvoie le caractère encodé à l’aide du nombre du code ASCII <number>.
Exemple
CHAR(65) = 'A'
RemarquesInverse de la fonction ASCII.

CONTAINS

SyntaxeCONTAINS(string, substring)
RésultatBooléen
DéfinitionRenvoie TRUE si la chaîne donnée contient la sous-chaîne indiquée.
Exemple
CONTAINS("Calculation", "alcu") = true
RemarquesVoir aussi la fonction logique(Le lien s’ouvre dans une nouvelle fenêtre) IN ainsi que RegEx pris en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

ENDSWITH

SyntaxeENDSWITH(string, substring)
RésultatBooléen
DéfinitionRenvoie TRUE si la chaîne donnée se termine par la sous-chaîne indiquée. Les espaces en fin de chaîne sont ignorés.
Exemple
ENDSWITH("Tableau", "leau") = true
RemarquesVoir également la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

FIND

SyntaxeFIND(string, substring, [start])
RésultatNombre
Définition

Renvoie la position d’index de la sous-chaîne dans la chaîne, ou 0 si la sous-chaîne est introuvable. Le premier caractère de la chaîne correspond à la position 1.

Si l’argument numérique facultatif start est ajouté, la fonction ignore les instances de la sous-chaîne qui apparaissent avant la position de début.

Exemple
FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
RemarquesVoir également la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

FINDNTH

SyntaxeFINDNTH(string, substring, occurrence)
RésultatNombre
DéfinitionRenvoie 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.
Exemple
FINDNTH("Calculation", "a", 2) = 7
Remarques

FINDNTH n’est pas disponible pour toutes les sources de données.

Voir également la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

LEFT

Syntaxe LEFT(string, number)
RésultatChaîne
DéfinitionRenvoie le <number> de caractères situés le plus à gauche dans la chaîne.
Exemple
LEFT("Matador", 4) = "Mata"
RemarquesVoir également MID et RIGHT.

LEN

SyntaxeLEN(string)
RésultatNombre
DéfinitionRenvoie la longueur de la chaîne.
Exemple
LEN("Matador") = 7
RemarquesÀ ne pas confondre avec la fonction spatiale(Le lien s’ouvre dans une nouvelle fenêtre) LENGTH.

LOWER

SyntaxeLOWER(string)
RésultatChaîne
DéfinitionRenvoie la <string> fournie en caractères minuscules.
Exemple
LOWER("ProductVersion") = "productversion"
RemarquesVoir également UPPER et PROPER.

LTRIM

Syntaxe LTRIM(string)
RésultatChaîne
DéfinitionRenvoie la <string> fournie en supprimant les espaces de début.
Exemple
LTRIM(" Matador ") = "Matador "
RemarquesVoir également RTRIM.

MAX

SyntaxeMAX(expression) ou MAX(expr1, expr2)
RésultatMême type de données que l’argument, ou NULL si une partie de l’argument est une valeur null.
Définition

Renvoie la valeur maximum des deux arguments, qui doivent être du même type de données.

MAX peut également être appliqué à un seul champ en tant qu’agrégation.

Exemple
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
Remarques

Pour les chaînes

MAX est généralement la valeur qui vient en dernier dans l’ordre alphabétique.

Pour les sources de données de base de données, la valeur de la chaîne MAX est la valeur la plus élevée dans la séquence de tri définie par la base de données pour cette colonne.

Pour les dates

Pour les dates, MAX est la date la plus récente. Si MAX est une agrégation, le résultat n’aura pas de hiérarchie de dates. Si MAX est une comparaison, le résultat conservera la hiérarchie de dates.

En tant qu’agrégation

MAX(expression) est une fonction d’agrégation et renvoie un seul résultat agrégé. Elle s’affiche sous la forme AGG(expression) dans la visualisation.

En tant que comparaison

MAX(expr1, expr2) compare les deux valeurs et renvoie une valeur au niveau des lignes.

Voir également MIN.

MID

Syntaxe(MID(string, start, [length])
RésultatChaîne
Définition

Renvoie une chaîne commençant à partir de la position start spécifiée. Le premier caractère de la chaîne correspond à la position 1.

Si l’argument numérique facultatif length est ajouté, la chaîne renvoyée inclut uniquement ce nombre de caractères.

Exemple
MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"
RemarquesVoir également la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

MIN

SyntaxeMIN(expression) ou MIN(expr1, expr2)
RésultatMême type de données que l’argument, ou NULL si une partie de l’argument est une valeur null.
Définition

Renvoie la valeur maximum des deux arguments, qui doivent être du même type de données.

MIN peut également être appliqué à un seul champ en tant qu’agrégation.

Exemple
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
Remarques

Pour les chaînes

MIN est généralement la valeur qui vient en premier dans l’ordre alphabétique.

Pour les sources de données de base de données, la valeur de la chaîne MIN est la valeur la plus faible dans la séquence de tri définie par la base de données pour cette colonne.

Pour les dates

Pour les dates, MIN est la date la plus récente. Si MIN est une agrégation, le résultat n’aura pas de hiérarchie de dates. Si MIN est une comparaison, le résultat conservera la hiérarchie de dates.

En tant qu’agrégation

MIN(expression) est une fonction d’agrégation et renvoie un seul résultat agrégé. Elle s’affiche sous la forme AGG(expression) dans la visualisation.

En tant que comparaison

MIN(expr1, expr2) compare les deux valeurs et renvoie une valeur au niveau des lignes.

Voir également MAX.

PROPER

SyntaxePROPER(string)
RésultatChaîne
Définition

Renvoie la <string> fournie de manière à ce que la première lettre de chaque mot soit en majuscules et les autres lettres en minuscules.

Exemple
PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
Remarques

Les espaces et les caractères non alphanumériques tels que la ponctuation sont traités comme des séparateurs.

Voir également LOWER et UPPER.

REPLACE

SyntaxeREPLACE(string, substring, replacement
RésultatChaîne
DéfinitionRecherche la valeur <string> pour la valeur <substring> et la remplace par <replacement>. Si la valeur <substring> est introuvable, la chaîne reste inchangée.
Exemple
REPLACE("Version 3.8", "3.8", "4x") = "Version 4x"
RemarquesVoir également REGEXP_REPLACE dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).
SyntaxeRIGHT(string, number)
RésultatChaîne
DéfinitionRenvoie le <number> de caractères situés le plus à droite dans la chaîne.
Exemple
RIGHT("Calculation", 4) = "tion"
RemarquesVoir également LEFT et MID.

RTRIM

SyntaxeRTRIM(string)
RésultatChaîne
DéfinitionRenvoie la <string> fournie en supprimant les espaces de fin.
Exemple
RTRIM(" Calculation ") = " Calculation"
RemarquesVoir également LTRIM et TRIM.

SPACE

SyntaxeSPACE(number)
RésultatChaîne (plus spécifiquement, juste des espaces)
DéfinitionRenvoie une chaîne constituée du nombre spécifié d’espaces répétés.
Exemple
SPACE(2) = "  "

SPLIT

SyntaxeSPLIT(string, delimiter, token number)
RésultatChaîne
DéfinitionRenvoie une sous-chaîne à partir d'une chaîne, à l'aide d'un caractère délimiteur pour diviser la chaîne en une séquence de jetons.
Exemple
SPLIT ("a-b-c-d", "-", 2) = "b"
SPLIT ("a|b|c|d", "|", -2) = "c"
Remarques

La chaîne est interprétée comme une séquence alternative de délimiteurs et jetons. Ainsi, pour la chaîne abc-defgh-i-jkl, où le délimiteur est le caractère -, les jetons sont (1) abc, (2) defgh, (3) i, et (4) jlk.

SPLIT renvoie le jeton correspondant au numéro du jeton. Lorsque le numéro de jeton est positif, les jetons sont comptabilisés à partir de l'extrémité gauche de la chaîne ; si le numéro de jeton est négatif, les jetons sont comptabilisés à partir de la droite.

Voir également REGEX pris en charge dans le documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

Limitations de la base de données

Les commandes Fractionnement et Fractionnement personnalisé sont disponibles pour les types de sources de données suivants : extraits de données Tableau, Microsoft Excel, fichier texte, fichier PDF, Salesforce, OData, Microsoft Azure Market Place, Google Analytics, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive et Microsoft SQL Server.

Certaines sources de données imposent des limites au fractionnement des chaînes. Consultez les limitations de la fonction SPLIT plus loin dans cette rubrique.

STARTSWITH

SyntaxeSTARTSWITH(string, substring)
RésultatBooléen
DéfinitionRenvoie true si string commence par substring. Les espaces en début de chaîne sont ignorés.
Exemple
STARTSWITH("Matador, "Ma") = TRUE
RemarquesVoir également CONTAINS, ainsi que REGEX pris en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

TRIM

SyntaxeTRIM(string)
RésultatChaîne
DéfinitionRenvoie la <string> fournie en supprimant les espaces de début et de fin.
Exemple
TRIM(" Calculation ") = "Calculation"
RemarquesVoir également LTRIM et RTRIM.

UPPER

SyntaxeUPPER(string)
RésultatChaîne
DéfinitionRenvoie la <string> fournie en caractères majuscules.
Exemple
UPPER("Calculation") = "CALCULATION"
RemarquesVoir également PROPER et LOWER.

Créer un calcul de chaîne

Suivez les étapes ci-dessous pour savoir comment créer un calcul de la chaîne.

  1. Dans Tableau Desktop, connectez-vous à la source de données Exemple - Hypermarché enregistrée qui est fournie avec Tableau.

  2. Accédez à une feuille de calcul.

  3. Dans le volet Données, sous Dimensions, faites glisser Order ID (ID de commande) vers l'étagère Lignes.

    Notez que chaque ID de commande contient une valeur pour le pays (CA et US par exemple), l'année (2011) et le numéro de commande (100006). Pour cet exemple, vous allez créer un calcul visant à extraire uniquement le numéro de commande du champ.

  4. Sélectionnez Analyse > Créer un champ calculé.

  5. Dans l'éditeur de calcul qui s'ouvre, procédez comme suit :

    • Nommez le champ calculé Order ID Number (Numéros d'ID de commande).

    • Entrez la formule suivante :

      RIGHT([Order ID], 6)

      Cette formule prend les chiffres spécifiés (6) depuis la droite de la chaîne et les réunit dans un nouveau champ.

      Ainsi, RIGHT('CA-2011-100006' , 6) = '100006'.

    • Lorsque vous avez terminé, cliquez sur OK.

      Le nouveau champ calculé apparaît sous Dimensions dans le volet Données. Comme vos autres champs, vous pouvez l'utiliser dans une ou plusieurs visualisations.

  6. Depuis le volet Données, faites glisser Order ID Numbers vers l'étagère Lignes. Placez-le à droite du champ Order ID.

    Notez les différences actuelles entre les champs.

Limitations de la fonction SPLIT par source de données

Certaines sources de données imposent des limites à la division de la chaîne. Le tableau suivant montre les sources de données qui prennent en charge des numéros de jeton négatifs (division à partir de la droite) et indique s’il existe une limite quant au nombre de divisions autorisées par source de données.

Une fonction SPLIT spécifiant un numéro de jeton négatif et qui serait correcte avec d’autres sources de données renverra l’erreur suivante avec ces sources de données : « La division à partir de la droite n’est pas prise en charge par la source de données. »

Source de donnéesContraintes gauche/droiteNombre maximum de divisionsLimitations de version
Extrait de données TableauLes deuxInfini 
Microsoft ExcelLes deuxInfini 
Fichier texteLes deuxInfini 
SalesforceLes deuxInfini 
ODataLes deuxInfini 
Google AnalyticsLes deuxInfini 
Serveur de données TableauLes deuxInfiniPris en charge dans la version 9.0.
VerticaGauche uniquement10 
OracleGauche uniquement10 
MySQLLes deux10 
PostgreSQLÀ gauche uniquement avant la version 9.0 ; à gauche et à droite pour la version 9.0 et versions ultérieures10 
TeradataGauche uniquement10Version 14 et versions ultérieures
Amazon RedshiftGauche uniquement10 
Aster DatabaseGauche uniquement10 
Google BigQueryGauche uniquement10 
Hortonworks Hadoop HiveGauche uniquement10 
Cloudera HadoopGauche uniquement10Impala pris en charge à compter de la version 2.3.0.
Microsoft SQL ServerLes deux102008 et versions ultérieures

Consultez également

Fonctions dans Tableau

Fonctions de Tableau (par ordre alphabétique)

Fonctions de Tableau (par catégorie)

Mise en forme des calculs dans Tableau

Merci de vos commentaires !