Funciones de cadena
En este artículo se presentan las funciones de cadena y sus usos en Tableau. También se muestra cómo crear un cálculo de cadena mediante un ejemplo.
Por qué usar funciones de cadena
Las funciones de cadena le permiten manipular datos de cadena (p. ej., datos formados por texto). Tableau usa la biblioteca actual de componentes internacionales para Unicode (ICU) al comparar cadenas. La forma en que se ordenan y comparan las cadenas se basa tanto en el idioma como en la configuración regional, y es posible que las visualizaciones cambien a medida que la ICU se actualiza continuamente para brindar una mejor compatibilidad con el idioma.
Por ejemplo, podría tener un campo que contenga el nombre y apellido de todos sus clientes. Un miembro podría ser: Jane Johnson. Puede recuperar los apellidos de todos los clientes en un campo nuevo mediante una función de cadena.
El cálculo se podría parecer a lo siguiente:
SPLIT([Customer Name], ' ', 2)
Por tanto, SPLIT('Jane Johnson' , ' ', 2) =
'Johnson'.
Funciones de cadena disponibles en Tableau
ASCII
Sintaxis | ASCII(string) |
Resultado | Número |
Definición | Devuelve el código ASCII del primer carácter de una <string> . |
Ejemplo | ASCII('A') = 65 |
Notas | Este es el inverso de la función CHAR . |
CHAR
Sintaxis | CHAR(number) |
Resultado | Cadena |
Definición | Devuelve el carácter codificado por el <number> de código ASCII. |
Ejemplo | CHAR(65) = 'A' |
Notas | Este es el inverso de la función ASCII . |
CONTAINS
Sintaxis | CONTAINS(string, substring) |
Resultado | Booleano |
Definición | Indica true si la cadena dada contiene la subcadena especificada. |
Ejemplo | CONTAINS("Calculation", "alcu") = true |
Notas | Consulte también la función lógica(El enlace se abre en una ventana nueva) IN así como RegEx compatible en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
ENDSWITH
Sintaxis | ENDSWITH(string, substring) |
Resultado | Booleano |
Definición | Indica true si la cadena dada finaliza con la subcadena especificada. Se ignoran los espacios posteriores en blanco. |
Ejemplo | ENDSWITH("Tableau", "leau") = true |
Notas | Consulte también la RegEx compatibles en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
FIND
Sintaxis | FIND(string, substring, [start]) |
Resultado | Número |
Definición | Indica la posición de índice de la subcadena en la cadena, o 0 si no se encuentra la subcadena. El primer carácter de la cadena es la posición 1. Si se agrega el argumento numérico opcional |
Ejemplo | FIND("Calculation", "alcu") = 2 FIND("Calculation", "Computer") = 0 FIND("Calculation", "a", 3) = 7 FIND("Calculation", "a", 2) = 2 FIND("Calculation", "a", 8) = 0 |
Notas | Consulte también la RegEx compatibles en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
FINDNTH
Sintaxis | FINDNTH(string, substring, occurrence) |
Resultado | Número |
Definición | Indica la posición de la aparición número n de la subcadena dentro de la cadena especificada, donde n se define mediante el argumento de aparición. |
Ejemplo | FINDNTH("Calculation", "a", 2) = 7 |
Notas |
Consulte también la RegEx compatibles en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
LEFT
Sintaxis | LEFT(string, number) |
Resultado | Cadena |
Definición | Devuelve el <number> de caracteres que se encuentra en el extremo izquierdo de la cadena. |
Ejemplo | LEFT("Matador", 4) = "Mata" |
Notas | Consulte también MID y RIGHT. |
LEN
Sintaxis | LEN(string) |
Resultado | Número |
Definición | Indica la longitud de la cadena. |
Ejemplo | LEN("Matador") = 7 |
Notas | No confundir con la función espacial(El enlace se abre en una ventana nueva) LENGTH . |
LOWER
Sintaxis | LOWER(string) |
Resultado | Cadena |
Definición | Devuelve la <string> proporcionada con todos los caracteres en minúscula. |
Ejemplo | LOWER("ProductVersion") = "productversion" |
Notas | Consulte también UPPER y PROPER. |
LTRIM
Sintaxis | LTRIM(string) |
Resultado | Cadena |
Definición | Devuelve la <string> proporcionada con todos los espacios iniciales eliminados. |
Ejemplo | LTRIM(" Matador ") = "Matador " |
Notas | Consulte también RTRIM. |
MAX
Sintaxis | MAX(expression) o MAX(expr1, expr2) |
Resultado | El mismo tipo de datos que el argumento, o NULL si alguna parte del argumento es nula. |
Definición | Indica el máximo de dos argumentos, los cuales deben ser del mismo tipo de datos.
|
Ejemplo | MAX(4,7) = 7 |
Notas | Para cadenas
Para las fuentes de datos de bases de datos, el valor de cadena Para fechas Para las fechas, Como agregación
Como comparación
Consulte también |
MID
Sintaxis | (MID(string, start, [length]) |
Resultado | Cadena |
Definición | Devuelve una cadena que empieza en la posición Si se agrega el argumento numérico opcional |
Ejemplo | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Notas | Consulte también la RegEx compatibles en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
MIN
Sintaxis | MIN(expression) o MIN(expr1, expr2) |
Resultado | El mismo tipo de datos que el argumento, o NULL si alguna parte del argumento es nula. |
Definición | Indica el mínimo de dos argumentos, los cuales deben ser del mismo tipo de datos.
|
Ejemplo | MIN(4,7) = 4 |
Notas | Para cadenas
Para las fuentes de datos de bases de datos, el valor de cadena Para fechas Para las fechas, Como agregación
Como comparación
Consulte también |
PROPER
Sintaxis | PROPER(string) |
Resultado | Cadena |
Definición | Devuelve la |
Ejemplo | PROPER("PRODUCT name") = "Product Name" PROPER("darcy-mae") = "Darcy-Mae" |
Notas | Los espacios y los caracteres no alfanuméricos, como la puntuación, se tratan como separadores. |
Limitaciones de la base de datos | PROPER solo está disponible para algunos archivos planos y en extracciones. Si necesita usar PROPER en una fuente de datos que de otro modo no lo admite, considere usar una extracción. |
REPLACE
Sintaxis | REPLACE(string, substring, replacement |
Resultado | Cadena |
Definición | Busca <string> para <substring> y lo reemplaza con <replacement> . Si no se encuentra <substring> , se elimina el cambio a la cadena. |
Ejemplo | REPLACE("Version 3.8", "3.8", "4x") = "Version 4x" |
Notas | Consulte también REGEXP_REPLACE en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
RIGHT
Sintaxis | RIGHT(string, number) |
Resultado | Cadena |
Definición | Devuelve el <number> de caracteres que se encuentra en el extremo derecho de la cadena. |
Ejemplo | RIGHT("Calculation", 4) = "tion" |
Notas | Consulte también LEFT y MID. |
RTRIM
Sintaxis | RTRIM(string) |
Resultado | Cadena |
Definición | Devuelve la <string> proporcionada con todos los espacios posteriores eliminados. |
Ejemplo | RTRIM(" Calculation ") = " Calculation" |
Notas | Consulte también LTRIM y TRIM. |
SPACE
Sintaxis | SPACE(number) |
Resultado | Cadena (específicamente, solo espacios) |
Definición | Devuelve una cadena compuesta por el número especificado de espacios repetidos. |
Ejemplo | SPACE(2) = " " |
SPLIT
Sintaxis | SPLIT(string, delimiter, token number) |
Resultado | Cadena |
Definición | Indica una subcadena a partir de una cadena (usa un carácter delimitador para dividir la cadena en una secuencia de tokens). |
Ejemplo | SPLIT ("a-b-c-d", "-", 2) = "b" SPLIT ("a|b|c|d", "|", -2) = "c" |
Notas | La cadena se interpreta como una secuencia alterna de delimitadores y tokens. Para la cadena
Consulte también REGEX compatible en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
Limitaciones de la base de datos | Los comandos de división y división personalizada están disponibles para los siguientes tipos de fuentes de datos: extracciones de datos de Tableau, Microsoft Excel, archivos de texto, archivos 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 y Microsoft SQL Server. Algunas fuentes de datos imponen límites en la división de cadenas. Consulte las limitaciones de la función SPLIT más adelante en este tema. |
STARTSWITH
Sintaxis | STARTSWITH(string, substring) |
Resultado | Booleano |
Definición | Indica true si la string comienza por la substring . Se ignoran los espacios iniciales en blanco. |
Ejemplo | STARTSWITH("Matador, "Ma") = TRUE |
Notas | Consulte también CONTAINS así como RegEx compatible en la documentación de funciones adicionales(El enlace se abre en una ventana nueva). |
TRIM
Sintaxis | TRIM(string) |
Resultado | Cadena |
Definición | Devuelve la <string> proporcionada con los espacios iniciales y posteriores eliminados. |
Ejemplo | TRIM(" Calculation ") = "Calculation" |
Notas | Consulte también LTRIM y RTRIM. |
UPPER
Sintaxis | UPPER(string) |
Resultado | Cadena |
Definición | Devuelve la <string> proporcionada con todos los caracteres en mayúscula. |
Ejemplo | UPPER("Calculation") = "CALCULATION" |
Notas | Consulte también PROPER y LOWER. |
Crear un cálculo de cadena
Siga los pasos que se indican a continuación para aprender a crear un cálculo de cadena.
En Tableau Desktop, conéctese a la fuente de datos guardada Muestra - Supertienda, que se incluye con Tableau.
Vaya a una hoja de trabajo.
Desde el panel Datos, en Dimensiones, arrastre ID de orden al estante Filas.
Tenga en cuenta que cada ID de pedido contiene valores para el país (CA y US, por ejemplo), el año (2011) y el número de pedido (100006). En este ejemplo, creará un cálculo para recuperar solo el número de pedido del campo.
Seleccione Análisis > Crear campo calculado.
En el editor de cálculo que se abre, haga lo siguiente:
Asigne el nombre Order ID Numbers (números de ID de pedido) al campo calculado.
Escriba la fórmula siguiente:
RIGHT([Order ID], 6)
Esta fórmula toma los dígitos especificados (6) de la derecha de la cadena y los coloca en el campo nuevo.
Por lo tanto,
RIGHT('CA-2011-100006' , 6)
= '100006'.Cuando haya terminado, haga clic en Aceptar.
El nuevo campo calculado aparece en Dimensiones del panel Datos. Igual que con el resto de los campos, puede usarlo en una o más visualizaciones.
Desde el panel Datos, arrastre Números de ID de orden al estante Filas. Colóquelo a la derecha de ID de pedido.
Observe cómo los campos difieren ahora.
Limitaciones de SPLIT por fuente de datos
Algunas bases de datos imponen límites en la división de cadenas. En la tabla siguiente se muestran las fuentes de datos que admiten números de token negativos (división desde la derecha) y si hay un límite en la cantidad de divisiones permitidas por fuente de datos.
Una función SPLIT
que especifique un número de token negativo y que sería correcta en otras fuentes de datos, indicará el error con estas fuentes de datos: “La fuente de datos no es compatible con la división desde la derecha”.
Fuente de datos | Restricciones de izquierda/derecha | Número máximo de divisiones | Limitaciones de la versión |
Extracción de datos de Tableau | Ambos | Infinito | |
Microsoft Excel | Ambos | Infinito | |
Archivo de texto | Ambos | Infinito | |
Salesforce | Ambos | Infinito | |
OData | Ambos | Infinito | |
Google Analytics | Ambos | Infinito | |
Servidor de datos de Tableau | Ambos | Infinito | Admitida en la versión 9.0. |
Vertica | Solo izquierda | 10 | |
Oracle | Solo izquierda | 10 | |
MySQL | Ambos | 10 | |
PostgreSQL | Solo izquierda en versiones anteriores a la 9.0; ambas direcciones a partir de la versión 9.0 | 10 | |
Teradata | Solo izquierda | 10 | Versión 14 y posteriores |
Amazon Redshift | Solo izquierda | 10 | |
Aster Database | Solo izquierda | 10 | |
Google BigQuery | Solo izquierda | 10 | |
Hortonworks Hadoop Hive | Solo izquierda | 10 | |
Cloudera Hadoop | Solo izquierda | 10 | Impala se admite a partir de la versión 2.3.0. |
Microsoft SQL Server | Ambos | 10 | 2008 y posteriores |
Consulte también
Funciones de Tableau (alfabéticamente)