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 :

Fonction

Syntaxe

Définition

ASCII

ASCII(string)

Renvoie le code ASCII du premier caractère de string.

Exemple :

ASCII('A') = 65

CHAR

CHAR(number)

Renvoie le caractère encodé à l’aide du nombre du code ASCII number.

Exemple :

CHAR(65) = 'A'

CONTAINS

CONTAINS(string, substring)

Renvoie TRUE si la chaîne donnée contient la sous-chaîne indiquée.

Exemple :

CONTAINS(“Calculation”, “alcu”) = true

ENDSWITH

ENDSWITH(string, substring)

Renvoie 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

FIND

FIND(string, substring, [start])

Renvoie la position d’index de la substring dans la string, ou 0 si la substring est introuvable. Si l’argument facultatif start est ajouté, la fonction ignore les instances de la substring qui apparaissent avant la position d’index start. Le premier caractère de la chaîne correspond à la position 1.

Exemples :

FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0

FINDNTH

FINDNTH(string, substring, occurrence)

Renvoie la position de la nième occurrence de la sous-chaîne dans la chaîne spécifiée, où n est défini par l’argument d’occurrence.

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

Exemple :

FINDNTH("Calculation", "a", 2) = 7

LEFT

LEFT(string, number)

Renvoie les caractères situés le plus à gauche dans la chaîne.

Exemple :

LEFT("Matador", 4) = "Mata"

LEN

LEN(string)

Renvoie la longueur de la chaîne.

Exemple :

LEN("Matador") = 7

LOWER

LOWER(string)

Renvoie string, avec tous les caractères en minuscules.

Exemple :

LOWER("ProductVersion") = "productversion"

LTRIM

LTRIM(string)

Renvoie la chaîne en supprimant les espaces de début.

Exemple :

LTRIM(" Matador ") = "Matador "

MAX

MAX(a, b)

 

Renvoie la valeur maximale de a et b (doivent être du même type). Cette fonction est généralement utilisée pour comparer des nombres, mais elle fonctionne également sur les chaînes. Avec des chaînes, MAX retrouve la valeur la plus élevée dans la séquence de tri définie par la base de données pour cette colonne. La valeur Null est renvoyée si l’un des arguments est Null.

Exemple :

MAX ("Apple","Banana") = "Banana"

MID

(MID(string, start, [length])

Renvoie la chaîne débutant à la position d’indexstart. Le premier caractère de la chaîne correspond à la position 1. Si l’argument facultatif length est ajouté, la chaîne renvoyée inclut uniquement ce nombre de caractères.

Exemples :

MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"

MIN

MIN(a, b)

Renvoie la valeur minimale de a et b (doivent être du même type). Cette fonction est généralement utilisée pour comparer des nombres, mais elle fonctionne également sur les chaînes. Avec des chaînes, MIN retrouve la valeur la moins élevée dans la séquence de tri. La valeur Null est renvoyée si l’un des arguments est Null.

Exemple :

MIN ("Apple","Banana") = "Apple"

REPLACE

REPLACE(string, substring, replacement)

Recherche 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("Version8.5", "8.5", "9.0") = "Version9.0"

RIGHT

RIGHT(string, number)

Renvoie les caractères situés le plus à droite dans la string.

Exemple :

RIGHT("Calculation", 4) = "tion"

RTRIM

RTRIM(string)

Renvoie string en supprimant les espaces de fin.

Exemple :

RTRIM(" Calculation ") = " Calculation"

SPACE

SPACE(number)

Renvoie une chaîne constituée du number spécifié d’espaces répétés.

Exemple :

SPACE(1) = " "

SPLIT

SPLIT(string, delimiter, token number)

Renvoie 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.

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 abc, defgh, i et jlk. Considérez-les comme les jetons 1 à 4. 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.

Exemples :

SPLIT (‘a-b-c-d’, ‘-‘, 2) = ‘b’
SPLIT (‘a|b|c|d’, ‘|‘, -2) = ‘c’


Remarque : 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 à 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ées Contraintes gauche/droite Nombre maximum de divisions Limitations de version
Extrait de données Tableau Les deux Infini  
Microsoft Excel Les deux Infini  
Fichier texte Les deux Infini  
Salesforce Les deux Infini  
Protocole de données ouvertes Les deux Infini  
Google Analytics Les deux Infini  
Serveur de données Tableau Les deux Infini Pris en charge dans la version 9.0.
Vertica Gauche uniquement 10  
Oracle Gauche uniquement 10  
MySQL Les deux 10  
PostgreSQL À gauche uniquement avant la version 9.0; à gauche et à droite pour la version 9.0 et versions ultérieures 10  
Teradata Gauche uniquement 10 Version 14 et versions ultérieures
Amazon Redshift Gauche uniquement 10  
Aster Database Gauche uniquement 10  
Google BigQuery Gauche uniquement 10  
Hortonworks Hadoop Hive Gauche uniquement 10  
Cloudera Hadoop Gauche uniquement 10 Impala pris en charge à compter de la version 2.3.0.
Microsoft SQL Server Les deux 10 2008 et versions ultérieures

STARTSWITH

STARTSWITH(string, substring)

Renvoie true si string commence par substring. Les espaces en début de chaîne sont ignorés.

Exemple :

STARTSWITH(“Joker”, “Jo”) = true

TRIM

TRIM(string)

Renvoie la chaîne en supprimant les espaces de début et de fin.

Exemple :

TRIM(" Calculation ") = "Calculation"

UPPER

UPPER(string)

Renvoie la chaîne avec tous les caractères en majuscules.

Exemple :

UPPER("Calculation") = "CALCULATION"


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 Sample - Superstore 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.

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!