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
Syntaxe | ASCII(string) |
Résultat | Nombre |
Définition | Renvoie le code ASCII du premier caractère d’une <string> . |
Exemple | ASCII('A') = 65 |
Remarques | Il s’agit de l’inverse de la fonction CHAR . |
CHAR
Syntaxe | CHAR(number) |
Résultat | Chaîne |
Définition | Renvoie le caractère encodé à l’aide du nombre du code ASCII <number> . |
Exemple | CHAR(65) = 'A' |
Remarques | Il s’agit de l’inverse de la fonction ASCII . |
CONTAINS
Syntaxe | CONTAINS(string, substring) |
Résultat | Booléen |
Définition | Renvoie TRUE si la chaîne donnée contient la sous-chaîne indiquée. |
Exemple | CONTAINS("Calculation", "alcu") = true |
Remarques | Voir 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
Syntaxe | ENDSWITH(string, substring) |
Résultat | Booléen |
Définition | 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 |
Remarques | Voir aussi la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre). |
FIND
Syntaxe | FIND(string, substring, [start]) |
Résultat | Nombre |
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 |
Exemple | FIND("Calculation", "alcu") = 2 FIND("Calculation", "Computer") = 0 FIND("Calculation", "a", 3) = 7 FIND("Calculation", "a", 2) = 2 FIND("Calculation", "a", 8) = 0 |
Remarques | Voir aussi la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre). |
FINDNTH
Syntaxe | FINDNTH(string, substring, occurrence) |
Résultat | Nombre |
Définition | 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. |
Exemple | FINDNTH("Calculation", "a", 2) = 7 |
Remarques |
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ésultat | Chaîne |
Définition | Renvoie les caractères <number> situés le plus à gauche dans la chaîne. |
Exemple | LEFT("Matador", 4) = "Mata" |
Remarques | Voir également MID et RIGHT. |
LEN
Syntaxe | LEN(string) |
Résultat | Nombre |
Définition | Renvoie 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
Syntaxe | LOWER(string) |
Résultat | Chaîne |
Définition | Renvoie la <string> fournie en caractères tout en minuscules. |
Exemple | LOWER("ProductVersion") = "productversion" |
Remarques | Voir également UPPER et PROPER. |
LTRIM
Syntaxe | LTRIM(string) |
Résultat | Chaîne |
Définition | Renvoie la <string> fournie en supprimant les espaces de début. |
Exemple | LTRIM(" Matador ") = "Matador " |
Remarques | Voir également RTRIM. |
MAX
Syntaxe | MAX(expression) ou MAX(expr1, expr2) |
Résultat | Mê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.
|
Exemple | MAX(4,7) = 7 |
Remarques | Pour les chaînes La valeur Pour les sources de données de la base de données, la valeur de chaîne Pour les dates Pour les dates, la valeur Comme agrégation
Comme comparaison
Voir aussi |
MID
Syntaxe | (MID(string, start, [length]) |
Résultat | Chaîne |
Définition | Renvoie une chaîne de caractères commençant à la position Si l’argument numérique facultatif |
Exemple | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Remarques | Voir aussi la fonction RegEx prise en charge dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre). |
MIN
Syntaxe | MIN(expression) ou MIN(expr1, expr2) |
Résultat | Mê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.
|
Exemple | MIN(4,7) = 4 |
Remarques | Pour les chaînes La valeur Pour les sources de données de la base de données, la valeur de chaîne Pour les dates Pour les dates, la valeur Comme agrégation
Comme comparaison
Voir aussi |
PROPER
Syntaxe | PROPER(string) |
Résultat | Chaîne |
Définition | Renvoie la |
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. |
Limites de la base de données | PROPER 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
Syntaxe | REPLACE(string, substring, replacement |
Résultat | Chaîne |
Définition | 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("Version 3.8", "3.8", "4x") = "Version 4x" |
Remarques | Voir aussi la fonction REGEXP_REPLACE dans la documentation des fonctions supplémentaires(Le lien s’ouvre dans une nouvelle fenêtre). |
RIGHT
Syntaxe | RIGHT(string, number) |
Résultat | Chaîne |
Définition | Renvoie les caractères <number> situés le plus à droite dans la chaîne. |
Exemple | RIGHT("Calculation", 4) = "tion" |
Remarques | Voir également LEFT et MID. |
RTRIM
Syntaxe | RTRIM(string) |
Résultat | Chaîne |
Définition | Renvoie la <string> fournie en supprimant les espaces de fin. |
Exemple | RTRIM(" Calculation ") = " Calculation" |
Remarques | Voir également LTRIM et TRIM. |
SPACE
Syntaxe | SPACE(number) |
Résultat | Chaîne (en particulier, juste des espaces) |
Définition | Renvoie une chaîne constituée du nombre spécifié d’espaces répétés. |
Exemple | SPACE(2) = " " |
SPLIT
Syntaxe | SPLIT(string, delimiter, token number) |
Résultat | Chaîne |
Définition | 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. |
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
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
Syntaxe | STARTSWITH(string, substring) |
Résultat | Booléen |
Définition | Renvoie true si string commence par substring . Les espaces en début de chaîne sont ignorés. |
Exemple | STARTSWITH("Matador, "Ma") = TRUE |
Remarques | Voir 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
Syntaxe | TRIM(string) |
Résultat | Chaîne |
Définition | Renvoie la <string> fournie en supprimant les espaces de début et de fin. |
Exemple | TRIM(" Calculation ") = "Calculation" |
Remarques | Voir également LTRIM et RTRIM. |
UPPER
Syntaxe | UPPER(string) |
Résultat | Chaîne |
Définition | Renvoie la <string> fournie en caractères tout en majuscules. |
Exemple | UPPER("Calculation") = "CALCULATION" |
Remarques | Voir é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.
Dans Tableau Desktop, connectez-vous à la source de données enregistrée Exemple - Hypermarché qui est fournie avec Tableau.
Accédez à une feuille de calcul.
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.
Sélectionnez Analyse > Créer un champ calculé.
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.
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é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 |
Voir également
Fonctions de Tableau (par ordre alphabétique)