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
Syntaxe | ASCII(string) |
Résultat | Nombre |
Définition | Renvoie le code ASCII du premier caractère d’une <string> . |
Exemple | ASCII('A') = 65 |
Remarques | 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 | 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 RegEx pris 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 également 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 également 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 é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ésultat | Chaîne |
Définition | Renvoie le <number> de caractères 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 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 null. |
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
Pour les sources de données de base de données, la valeur de la chaîne Pour les dates Pour les dates, En tant qu’agrégation
En tant que comparaison
Voir également |
MID
Syntaxe | (MID(string, start, [length]) |
Résultat | Chaîne |
Définition | Renvoie une chaîne commençant à partir de la position Si l’argument numérique facultatif |
Exemple | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Remarques | Voir également 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 null. |
Définition | Renvoie la valeur minimum des deux arguments, qui doivent être du même type de données.
|
Exemple | MIN(4,7) = 4 |
Remarques | Pour les chaînes
Pour les sources de données de base de données, la valeur de la chaîne Pour les dates Pour les dates, En tant qu’agrégation
En tant que comparaison
Voir également |
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. |
Limitations de la base de données | PROPER n’est disponible que pour certains fichiers plats et dans les extraits. Si vous devez utiliser PROPER dans une source de données qui ne le prend pas en charge autrement, 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 également 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 le <number> de caractères 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 (plus spécifiquement, 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 é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
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 é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
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 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 Exemple - Hypermarché enregistrée 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 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é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 | |
OData | 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 |
Consultez également
Fonctions de Tableau (par ordre alphabétique)