Index - fonction de script et fonction de graphique
Index() recherche dans une chaîne la position de départ de la nième occurrence d'une sous-chaîne fournie. Un troisième argument facultatif fournit la valeur de n, qui est égale à 1 s'il est omis. Une valeur négative permet de lancer la recherche en commençant par la fin de la chaîne. Les positions dans la chaîne sont numérotées de gauche à droite à partir de 1.
Index(text, substring[, count])
entier
Arguments
Argument
Description
text
Chaîne d'origine.
substring
Chaîne de caractères à rechercher dans text.
Note InformationsSi la sous-chaîne n'existe pas dans le texte, l'index renvoie 0.
count
Définit l'occurrence de substring à rechercher. Par exemple, une valeur de 2 recherche la deuxième occurrence. Une valeur négative commence par la fin de la chaîne.
Exemple : Expressions de graphique
Exemple
Résultat
Index( 'abcdefg', 'cd' )
Renvoie 3.
Index( 'abcdabcd', 'b', 2 )
Renvoie 6 (la deuxième occurrence de b).
Index( 'abcdabcd', 'b',-2 )
Renvoie 2 (la deuxième occurrence de b en commençant par la fin).
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Renvoie 1997.
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Renvoie 07.
Index( 'abc', 'x' )
Renvoie 0 (x n'existe pas dans la chaîne abc).
Index( 'abc', 'a', 2 )
Renvoie 0 (il n'existe pas de deuxième occurrence de a)
Exemple - Les bases de Index
Vue d'ensemble
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Champ dans la table de données portant le nom InputString.
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :
InputString
Créez les dimensions calculées suivantes :
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Tableau de résultats
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
La première ligne avec la chaîne abcdabcd renvoie :
3 - la première occurrence de cd.
0 - parce que e n'est pas trouvé dans la chaîne.
6 - la première occurrence de b à partir de la fin de la chaîne.
La deuxième ligne avec la chaîne abcdefg renvoie :
3 - la première occurrence de cd.
5 - la première occurrence de e.
2 - la première occurrence de b à partir de la fin de la chaîne.
Note InformationsUn paramètre count négatif analyse la chaîne en sens inverse. Toutefois, la position renvoyée est toujours indiquée de gauche à droite, même en cas d'analyse en sens inverse.
Le code suivant montre comment utiliser la fonction dans un script de chargement.
Example:
Load
*,
index(String, 'cd') as Index_CD, // returns 3 in Index_CD
index(String, 'b') as Index_B, // returns 2 in Index_B
index(String, 'b', -1) as Index_B2; // returns 2 or 6 in Index_B2
Load * inline [
String
abcdefg
abcdabcd ];
Tableau de résultats
String
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Exemple - Scénario Index
Vue d'ensemble
Un centre d'assistance à la clientèle dispose d'un jeu de données contenant des lignes d'objet de messages e-mail des clients. Le centre d'assistance souhaite catégoriser ces e-mails en fonction des mots clés qui apparaissent dans la ligne d'objet, par exemple, Refund, Complaint et Technical Issue. Les lignes d'objet sont stockées dans un champ du jeu de données appelé EmailSubject.
Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à un nouvel onglet.
Le script de chargement contient :
Jeu de données chargé dans une table de données appelée Example.
Champ dans la table de données portant le nom EmailSubject.
Script de chargement
Example:
Load * inline [
EmailSubject
Request for a Refund - Order 12345
Technical Issue with Product XYZ
Complaint about delivery service
Follow-up on Refund Request
Technical Issue not resolved
];
Résultats
Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :
EmailSubject
Créez la dimension calculée suivante :
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other') pour calculer le texte de l'objet d'e-mail associé aux remboursements.
La sortie de la fonction Index a correctement identifié toutes les lignes d'objet contenant la chaîne Refund. Cet exemple montre comment analyser et catégoriser des données à l'aide de fonctions imbriquées et apporter de la valeur aux utilisateurs.
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !