Funções de cadeia de caracteres

Este artigo apresenta as funções de cadeia de caracteres e seus usos no Tableau. Ele também demonstra como criar um cálculo de cadeia de caracteres com um exemplo.

Por que usar as funções de cadeia de caracteres

As funções de cadeia de caracteres permitem a manipulação dos dados de cadeia de caracteres (isto é, dados compostos de texto). O Tableau usa a biblioteca ICU (International Components for Unicode) atual ao comparar cadeia de caracteres. A forma como as cadeias de caracteres são classificadas e comparadas é baseada no idioma e na localidade, e é possível que as visualizações mudem conforme a ICU é continuamente atualizada para melhor suporte ao idioma.

Por exemplo, é possível ter um campo que contenha todos os nomes e sobrenomes dos clientes. Um membro pode ser: Jane Johnson. Para copiar, caso deseje, todos os sobrenomes de todos os seus clientes em um novo campo, basta usar uma função de cadeia de caracteres.

O cálculo pode ficar mais ou menos assim:

SPLIT([Customer Name], ' ', 2)

Portanto, SPLIT('Jane Johnson' , ' ', 2) = 'Johnson'.

Funções de cadeia de caracteres disponíveis no Tableau:

Função

Sintaxe

Definição

ASCII

ASCII(string)

Retorna o código ASCII do primeiro caractere de string.

Exemplo:

ASCII('A') = 65

CHAR

CHAR(number)

Retorna o caractere codificado pelo código ASCII number.

Exemplo:

CHAR(65) = 'A'

CONTAINS

CONTAINS(string, substring)

Retornará true se a cadeia de caracteres determinada contiver a subcadeia de caracteres especificada.

Exemplo:

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

ENDSWITH

ENDSWITH(string, substring)

Retornará true se a cadeia de caracteres determinada terminar com a subcadeia de caracteres especificada. Espaços em branco à direita são ignorados.

Exemplo:

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

FIND

FIND(string, substring, [start])

Retorna a posição de índice de substring em string ou 0 se a substring não for encontrada. Se o argumento opcional start for adicionado, a função ignorará qualquer instância de substring que apareça antes da posição de índice start. O primeiro caractere na cadeia de caracteres está na posição 1.

Exemplos:

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)

Retorna a posição da nª ocorrência de substring dentro da string especificada, onde n é definido pelo argumento de ocorrência

Observação: FINDNTH não está disponível em todas as fontes de dados.

Exemplo:

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

LEFT

LEFT(string, number)

Retorna o número de caracteres na extremidade esquerda na cadeia de caracteres.

Exemplo:

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

LEN

LEN(string)

Retorna o comprimento da cadeia de caracteres.

Exemplo:

LEN("Matador") = 7

LOWER

LOWER(string)

Retorna string, com todos os caracteres minúsculos.

Exemplo:

LOWER("ProductVersion") = "productversion"

LTRIM

LTRIM(string)

Retorna a cadeia de caracteres com os espaços à esquerda removidos.

Exemplo:

LTRIM(" Matador ") = "Matador "

MAX

MAX(a, b)

 

Retorna o máximo de a e b (que devem ser do mesmo tipo). Esta função é geralmente usada para comparar números, mas também funciona com strings. Com cadeias de caracteres, MAX localiza o valor mais alto na sequência de classificação definida pelo banco de dados para essa coluna. Ele retornará Null se um dos argumentos for Null.

Exemplo:

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

MID

(MID(string, start, [length])

Retorna a cadeia de caracteres que começa na posição de índice start. O primeiro caractere na cadeia de caracteres está na posição 1. Se o argumento opcional length for adicionado, a cadeia de caracteres retornada incluirá apenas esse número de caracteres.

Exemplos:

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

MIN

MIN(a, b)

Retorna o mínimo de a e b (que devem ser do mesmo tipo). Esta função é geralmente usada para comparar números, mas também funciona com strings. Com cadeias de caracteres, MIN localiza o valor menor na sequência de classificação. Ele retornará Null se um dos argumentos for Null.

Exemplo:

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

PROPERPROPER(string)

Converte uma cadeia de caracteres de texto para que a primeira letra de cada palavra seja maiúscula e as letras restantes fiquem em minúsculas. Espaços e caracteres não alfanuméricos, como pontuação, também atuam como separadores.

Exemplo:

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

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

REPLACE

REPLACE(string, substring, replacement)

Procura em string por substring e substitui por replacement. Se a substring não for encontrada, a string não será alterada.

Exemplo:

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

RIGHT

RIGHT(string, number)

Retorna o número de caracteres na extremidade direita em string.

Exemplo:

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

RTRIM

RTRIM(string)

Retorna string com os espaços à direita removidos.

Exemplo:

RTRIM(" Calculation ") = " Calculation"

SPACE

SPACE(number)

Retorna uma cadeia de caracteres composta por number especificado de espaços repetidos.

Exemplo:

SPACE(1) = " "

SPLIT

SPLIT(string, delimiter, token number)

Retorna uma subcadeia de uma cadeia de caracteres, usando um caractere delimitador para dividir a cadeia de caracteres em uma sequência de tokens.

A cadeia de caracteres é interpretada como uma sequência alternada de delimitadores e tokens. Então, para a cadeia de caracteres abc-defgh-i-jkl, onde o caractere delimitador é ‘-‘, os tokens são abc, defgh, i, e jlk. Pense neles como tokens de 1 a 4. DIVIDIR retorna o token correspondente ao número de token. Quando o número do token for positivo, os tokens são contados a partir do lado esquerdo da cadeia de caracteres; quando o número do token for negativo, os tokens são contados da direita.

Exemplos:

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


Observação: os comandos de divisão e divisão personalizada estão disponíveis para os tipos de fontes de dados a seguir: extrações de dados do Tableau, Microsoft Excel, arquivo de texto, arquivo 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 e Microsoft SQL Server.

Algumas fontes de dados impõe limites à cadeia de caracteres de divisão. A tabela a seguir mostra quais as fontes de dados que suportam números negativos de token (divisão da direita) e se existe um limite para o número de divisões permitidas por fonte de dados. Uma função de DIVISÃO que especifica um número de token negativo e seria legítimo com outras fontes de dados retornará este erro com essas fontes de dados: “A divisão a partir da direita não é compatível com a fonte de dados.”

 

Fonte de dadosRestrições de direita/esquerdaNúmero máximo de divisõesLimitações de versão
Extração de dados do TableauAmbosInfinito 
Microsoft ExcelAmbosInfinito 
Arquivo de textoAmbosInfinito 
SalesforceAmbosInfinito 
ODataAmbosInfinito 
Google AnalyticsAmbosInfinito 
Servidor de dados do TableauAmbosInfinitoCompatível com a versão 9.0.
VerticaEsquerda apenas10 
OracleEsquerda apenas10 
MySQLAmbos10 
PostgreSQLEsquerda somente antes da versão 9.0; para a versão 9.0 e posteriores10 
TeradataEsquerda apenas10Versão 14 e posteriores
Amazon RedshiftEsquerda apenas10 
Aster DatabaseEsquerda apenas10 
Google BigQueryEsquerda apenas10 
Hortonworks Hadoop HiveEsquerda apenas10 
Cloudera HadoopEsquerda apenas10Impala compatível a partir da versão 2.3.0.
Microsoft SQL ServerAmbos102008 e posteriores

STARTSWITH

STARTSWITH(string, substring)

Retornará true se string começar com substring. Espaços em branco à esquerda são ignorados.

Exemplo:

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

TRIM

TRIM(string)

Retorna a cadeia de caracteres com os espaços à esquerda e à direita removidos.

Exemplo:

TRIM(" Calculation ") = "Calculation"

UPPER

UPPER(string)

Retorna string, com todos os caracteres maiúsculos.

Exemplo:

UPPER("Calculation") = "CALCULATION"


Criar um cálculo de cadeia de caracteres

Siga as etapas abaixo para saber como criar um cálculo d cadeia de caracteres.

  1. No Tableau Desktop, conecte-se à fonte de dados salva Exemplo - Superloja, incluída no Tableau.

  2. Navegue até uma planilha.

  3. No painel Dados, em Dimensões, arraste ID do pedido até a divisória Linhas.

    Observe que cada ID do pedido contém valores para país (CA e US, por exemplo), ano (2011) e número de pedido (100006). Para este exemplo, você criará um cálculo para obter somente o número do pedido no campo.

  4. Selecione Análise > Criar campo calculado.

  5. No editor de cálculo aberto, faça o seguinte:

    • Nomeie o campo calculado Números de ID do pedido.

    • Insira a fórmula a seguir:

      RIGHT([Order ID], 6)

      Essa fórmula obtém os dígitos especificados (6) à direita da cadeia de caracteres e coloca-os em um novo campo.

      Portanto, RIGHT('CA-2011-100006' , 6) = '100006'.

    • Ao terminar, clique em OK.

      O novo campo calculado aparece em Dimensões no painel Dados. Assim como os outros campos, é possível usá-lo em uma ou mais visualizações.

  6. No painel Dados, arraste Números de ID do pedido até a divisória Linhas. Coloque-o à direita da ID do pedido.

    Observe como os campos agora estão diferentes.

Consulte também

Funções no Tableau

Funções do Tableau (em ordem alfabética)

Funções do Tableau (por categoria)

Formatação de cálculos no Tableau

Agradecemos seu feedback!