Index() busca una cadena para hallar la posición de inicio de la enésima vez que aparece una subcadena suministrada. Un tercer argumento opcional proporciona el valor de n, el cual se considera 1 si se omite. Un valor negativo busca desde el final de la cadena. Las posiciones de la cadena se numeran de izquierda a derecha de 1 en adelante.
Sintaxis:
Index(text, substring[, count])
Tipo de datos que devuelve: Entero
Argumentos
Argumento
Descripción
text
La cadena original.
substring
Una cadena de caracteres que buscar en text.
Nota informativaSi la subcadena no existe en el texto, Index devuelve 0.
count
Define qué instancia de substring se debe buscar. Por ejemplo, un valor de 2 busca la segunda vez que aparece un carácter. Un valor negativo comienza desde el final de la cadena.
Ejemplo: expresiones de gráfico
Ejemplo
Resultado
Index( 'abcdefg', 'cd' )
Devuelve 3
Index( 'abcdabcd', 'b', 2 )
Devuelve 6 (la segunda instancia de b)
Index( 'abcdabcd', 'b',-2 )
Devuelve 2 (la segunda instancia de b empezando por el final)
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Devuelve 1997
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Devuelve 07
Index( 'abc', 'x' )
Devuelve 0 (x no existe en la cadena abc)
Index( 'abc', 'a', 2 )
Devuelve 0 (no hay una 2ª instancia de a)
Ejemplo: fundamentos de Index
Descripción
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Un campo de la tabla de datos llamado InputString.
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
InputString
Cree las siguientes dimensiones calculadas:
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Tabla de resultados
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
La primera fila con la cadena abcdabcd devuelve:
3 la primera instancia de cd
0 porque e no se encuentra en la cadena
6 la primera instancia de b a partir del final de la cadena
La segunda fila con la cadena abcdefg devuelve:
3 la primera instancia de cd
5 la primera instancia de e
2 la primera instancia de b a partir del final de la cadena
Nota informativaUn parámetro negativo count recorre la cadena en sentido inverso. Sin embargo, la posición que devuelve siempre se indica de izquierda a derecha, incluso si se analiza en sentido inverso.
El siguiente código muestra cómo utilizar la función en un script de carga.
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 ];
Tabla de resultados
Cadena de texto
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Ejemplo: uso de Index
Descripción
Un centro de atención al cliente dispone de un conjunto de datos que contiene las líneas de asunto de los mensajes de correo electrónico de los clientes. El centro de asistencia desea clasificar estos correos electrónicos en función de las palabras clave que aparecen en el asunto, por ejemplo, Refund, Complaint y Technical Issue. Las líneas de asunto se almacenan en un campo del conjunto de datos denominado EmailSubject.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos que se carga en una tabla de datos denominada Example.
Un campo de la tabla de datos llamado EmailSubject.
Script de carga
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
];
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:
EmailSubject
Cree la siguiente dimensión calculada:
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other'), para calcular qué texto del asunto del correo electrónico está relacionado con los reembolsos.
El resultado de la función Index ha identificado correctamente todas las líneas de asunto que contienen la cadena "Reembolso" (Refund). Este es un ejemplo de cómo puede analizar y clasificar datos utilizando funciones anidadas y aportar valor a los usuarios.
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.