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 façon dont les chaînes sont triées et comparées est basée à la fois sur la langue et les paramètres régionaux, et il est possible que les visualisations changent car l’ICU est continuellement 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
RemarquesIl s’agit de l’inverse 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'
RemarquesIl s’agit de l’inverse 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 la fonction RegEx prise 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 aussi 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 aussi 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 aussi 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 les caractères <number> 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 tout en 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 nulle.
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 dans une 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

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

Pour les sources de données de la base de données, la valeur de chaîne MAX est 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, la valeur 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.

Comme agrégation

MAX(expression) est une fonction d’agrégation et renvoie un seul résultat agrégé. Cette fonction s’affiche en tant que AGG(expression) dans la visualisation.

Comme comparaison

MAX(expr1, expr2) compare les deux valeurs et renvoie une valeur de niveau ligne.

Voir aussi MIN.

MID

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

Renvoie une chaîne de caractères commençant à 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 aussi 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 nulle.
Définition

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

MIN peut également être appliqué à un seul champ dans une 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

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

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

Pour les dates

Pour les dates, la valeur MIN est la date la plus proche. 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.

Comme agrégation

MIN(expression) est une fonction d’agrégation et renvoie un seul résultat agrégé. Cette fonction s’affiche en tant que AGG(expression) dans la visualisation.

Comme comparaison

MIN(expr1, expr2) compare les deux valeurs et renvoie une valeur de niveau ligne.

Voir aussi MAX.

PROPER

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

Renvoie la <string> fournie de sorte que la première lettre de chaque mot soit en majuscule et les lettres restantes 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.

Limites de la base de donnéesPROPER est disponible uniquement pour certains fichiers plats et sous forme d’extraits. Si vous devez utiliser PROPER dans une source de données qui ne la prend par ailleurs pas en charge, envisagez d’utiliser un extrait.

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 aussi la fonction 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 les caractères <number> 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 (en particulier, 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 aussi la fonction REGEX prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre).

Limites 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, Protocole de données ouvertes, 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 limites 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 aussi CONTAINS, ainsi que la fonction REGEX prise 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 tout en 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 enregistrée Exemple - Hypermarché 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 DIVISER 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 avec ces sources de données l’erreur suivante : « La division à partir de la droite n’est pas prise en charge par la sources 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 
Protocole de données ouvertesLes 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

Voir é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!Votre commentaire s été envoyé avec succès. Merci!