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:

Función

Sintaxis

Definición

ASCII

ASCII(string)

Indica el código ASCII del primer carácter de string.

Ejemplo:

ASCII('A') = 65

CHAR

CHAR(number)

Indica el carácter codificado por el number de código ASCII.

Ejemplo:

CHAR(65) = 'A'

CONTAINS

CONTAINS(string, substring)

Indica true si la cadena dada contiene la subcadena especificada.

Ejemplo:

CONTAINS(“Calculation”, “alcu”) = true

ENDSWITH

ENDSWITH(string, substring)

Indica true si la cadena dada finaliza con la subcadena especificada. Se ignoran los espacios posteriores en blanco.

Ejemplo:

ENDSWITH(“Tableau”, “leau”) = true

FIND

FIND(string, substring, [start])

Indica la posición de índice de substring en string o 0 si substring no se encuentra. Si se agrega el argumento opcional start, la función ignora cualquier instancia de substring que aparece antes de la posición de índice start. El primer carácter de la cadena es la posición 1.

Ejemplos:

FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0

FINDNTH

FINDNTH(string, substring, occurrence)

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.

Nota: FINDNTH no está disponible en todas las fuentes de datos.

Ejemplo:

FINDNTH("Calculation", "a", 2) = 7

LEFT

LEFT(string, number)

Indica el número que se encuentra en el extremo izquierdo de los caracteres de la cadena.

Ejemplo:

LEFT("Matador", 4) = "Mata"

LEN

LEN(string)

Indica la longitud de la cadena.

Ejemplo:

LEN("Matador") = 7

LOWER

LOWER(string)

Indica la string, con todos los caracteres en minúscula.

Ejemplo:

LOWER("ProductVersion") = "productversion"

LTRIM

LTRIM(string)

Indica la cadena con todos los espacios líderes eliminados.

Ejemplo:

LTRIM(" Matador ") = "Matador "

MAX

MAX(a, b)

 

Indica el máximo de a y b (los cuales deben ser del mismo tipo). Por lo general, esta función se usa para comparar números, aunque también funciona con cadenas. Con las cadenas, MAX encuentra el valor más alto en la secuencia de orden definido por la base de datos para esta columna. Indica Null si uno u otro argumento es Null.

Ejemplo:

MAX ("Apple","Banana") = "Banana"

MID

(MID(string, start, [length])

Indica la cadena que comienza en la posición de índice start. El primer carácter de la cadena es la posición 1. Si se agrega el argumento opcional length, la cadena indicada incluye solo esa cantidad de caracteres.

Ejemplos:

MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"

MIN

MIN(a, b)

Indica el mínimo de a y b (deben ser del mismo tipo). Por lo general, esta función se usa para comparar números, aunque también funciona con cadenas. Con las cadenas, MIN encuentra el valor más bajo en la secuencia de orden. Indica Null si uno u otro argumento es Null.

Ejemplo:

MIN ("Apple","Banana") = "Apple"

PROPERPROPER(string)

Convierte una cadena de texto para que la primera letra de cada palabra esté en mayúscula y las letras restantes en minúsculas. Los espacios y los caracteres no alfanuméricos, como la puntuación, también actúan como separadores.

Ejemplo:

PROPER("PRODUCT name") = "Product Name"

PROPER("darcy-mae") = "Darcy-Mae"

REPLACE

REPLACE(string, substring, replacement)

Busca string para substring y lo reemplaza con replacement. Si no se encuentra substring, se elimina el cambio a la cadena.

Ejemplo:

REPLACE("Version8.5", "8.5", "9.0") = "Version9.0"

RIGHT

RIGHT(string, number)

Indica el número que se encuentra en el extremo derecho de los caracteres en string.

Ejemplo:

RIGHT("Calculation", 4) = "tion"

RTRIM

RTRIM(string)

Indica la string con todos los espacios posteriores eliminados.

Ejemplo:

RTRIM(" Calculation ") = " Calculation"

SPACE

SPACE(number)

Indica una cadena compuesta del number especificado de espacios repetidos.

Ejemplo:

SPACE(1) = " "

SPLIT

SPLIT(string, delimiter, token number)

Indica una subcadena a partir de una cadena (usa un carácter delimitador para dividir la cadena en una secuencia de tokens).

La cadena se interpreta como una secuencia alterna de delimitadores y tokens. De esta forma, para la cadena abc-defgh-i-jkl (donde el carácter delimitador es “-”), los tokens son abc, defgh, i y jlk. Considere estos como tokens del 1 al 4. SPLIT indica el token que se corresponde con el número de token. Cuando el número de token es positivo, los tokens se cuentan empezando desde el extremo izquierdo de la cadena; cuando el número de token es negativo, los tokens se cuentan empezando desde la derecha.

Ejemplos:

SPLIT (‘a-b-c-d’, ‘-‘, 2) = ‘b’
SPLIT (‘a|b|c|d’, ‘|‘, -2) = ‘c’


Nota: 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 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, indica este error con estas fuentes de datos: "La fuente de datos no es compatible con la división desde la derecha".

 

Fuente de datosRestricciones de izquierda/derechaNúmero máximo de divisionesLimitaciones de la versión
Extracción de datos de TableauAmbosInfinito 
Microsoft ExcelAmbosInfinito 
Archivo de textoAmbosInfinito 
SalesforceAmbosInfinito 
ODataAmbosInfinito 
Google AnalyticsAmbosInfinito 
Servidor de datos de TableauAmbosInfinitoAdmitida en la versión 9.0.
VerticaSolo izquierda10 
OracleSolo izquierda10 
MySQLAmbos10 
PostgreSQLSolo izquierda en versiones anteriores a la 9.0; ambas direcciones a partir de la versión 9.010 
TeradataSolo izquierda10Versión 14 y posteriores
Amazon RedshiftSolo izquierda10 
Aster DatabaseSolo izquierda10 
Google BigQuerySolo izquierda10 
Hortonworks Hadoop HiveSolo izquierda10 
Cloudera HadoopSolo izquierda10Impala se admite a partir de la versión 2.3.0.
Microsoft SQL ServerAmbos102008 y posteriores

STARTSWITH

STARTSWITH(string, substring)

Indica true si la string comienza por la substring. Se ignoran los espacios líderes en blanco.

Ejemplo:

STARTSWITH(“Joker”, “Jo”) = true

TRIM

TRIM(string)

Indica la cadena con los espacios líderes y posteriores eliminados.

Ejemplo:

TRIM(" Calculation ") = "Calculation"

UPPER

UPPER(string)

Indica la cadena, con todos los caracteres en mayúscula.

Ejemplo:

UPPER("Calculation") = "CALCULATION"


Crear un cálculo de cadena

Siga los pasos que se indican a continuación para aprender a crear un cálculo de cadena.

  1. En Tableau Desktop, conéctese a la fuente de datos guardada Muestra - Supertienda, que se incluye con Tableau.

  2. Vaya a una hoja de trabajo.

  3. 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.

  4. Seleccione Análisis > Crear campo calculado.

  5. 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.

  6. 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.

Consulte también

Funciones en Tableau

Funciones de Tableau (alfabéticamente)

Funciones de Tableau (por categorías)

Dar formato a los cálculos en Tableau

¡Gracias por sus comentarios!