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

ASCII

SintaxeASCII(string)
SaídaNúmero
DefiniçãoRetorna o código ASCII do primeiro caractere de <string>.
Exemplo
ASCII('A') = 65
ObservaçõesEsse é o inverso da função CHAR.

CHAR

SintaxeCHAR(number)
SaídaCadeia de caracteres
DefiniçãoRetorna o caractere codificado pelo código ASCII <number>.
Exemplo
CHAR(65) = 'A'
ObservaçõesEsse é o inverso da função ASCII.

CONTAINS

SintaxeCONTAINS(string, substring)
SaídaBooleano
DefiniçãoRetornará true se a cadeia de caracteres determinada contiver a subcadeia de caracteres especificada.
Exemplo
CONTAINS("Calculation", "alcu") = true
ObservaçõesVeja também a função lógica(O link abre em nova janela) IN bem como RegEx aceito na documentação de funções adicionais(O link abre em nova janela).

ENDSWITH

SintaxeENDSWITH(string, substring)
SaídaBooleano
DefiniçãoRetornará 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
ObservaçõesVeja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela).

FIND

SintaxeFIND(string, substring, [start])
SaídaNúmero
Definição

Retorna a posição de índice de uma subcadeia de caracteres em uma cadeia de caracteres, ou 0 se a subcadeia de caracteres não for encontrada. O primeiro caractere na cadeia de caracteres está na posição 1.

Se o argumento opcional start for adicionado, a função ignorará qualquer instância de subcadeia de caracteres de uma cadeia de caracteres específica que apareça antes da posição de início.

Exemplo
FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
ObservaçõesVeja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela).

FINDNTH

SintaxeFINDNTH(string, substring, occurrence)
SaídaNúmero
DefiniçãoRetorna a posição da nª ocorrência de substring dentro da string especificada, onde n é definido pelo argumento de ocorrência
Exemplo
FINDNTH("Calculation", "a", 2) = 7
Observações

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

Veja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela).

LEFT

Sintaxe LEFT(string, number)
SaídaCadeia de caracteres
DefiniçãoRetorna o <number> mais à esquerda de caracteres na cadeia de caracteres.
Exemplo
LEFT("Matador", 4) = "Mata"
ObservaçõesVeja também MID e RIGHT.

LEN

SintaxeLEN(string)
SaídaNúmero
DefiniçãoRetorna o comprimento da cadeia de caracteres.
Exemplo
LEN("Matador") = 7
ObservaçõesNão confundir com a função espacial(O link abre em nova janela) LENGTH.

LOWER

SintaxeLOWER(string)
SaídaCadeia de caracteres
DefiniçãoRetorna a <string> fornecida em todos os caracteres minúsculos.
Exemplo
LOWER("ProductVersion") = "productversion"
ObservaçõesVeja também UPPER e PROPER.

LTRIM

Sintaxe LTRIM(string)
SaídaCadeia de caracteres
DefiniçãoRetorna a <string> fornecida com os espaços à esquerda removidos.
Exemplo
LTRIM(" Matador ") = "Matador "
ObservaçõesConsulte também RTRIM.

MAX

SintaxeMAX(expression) ou MAX(expr1, expr2)
SaídaMesmo tipo de dados do argumento ou NULL  se alguma parte do argumento for nula.
Definição

Retorna o máximo de dois argumentos, que devem ser do mesmo tipo de dados.

MAX também pode ser aplicada a um único campo em uma agregação.

Exemplo
MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
Observações

Para cadeia de caracteres

MAX geralmente é o valor que vem por último em ordem alfabética.

Para fontes de dados de bancos de dados, o valor de cadeia de caracteres MAX é o mais alto na sequência de classificação definida pelo banco de dados para essa coluna.

Para datas

Para datas, MAX é a data mais recente. Se MAX for uma agregação, o resultado não terá uma hierarquia de datas. Se MAX for uma comparação, o resultado manterá a hierarquia de datas.

Como uma agregação

MAX(expression) é uma função agregada e retorna um único resultado agregado. Isso é exibido como AGG(expression) na visualização.

Como comparação

MAX(expr1, expr2) compara os dois valores e retorna um valor em nível de linha.

Consulte também MIN.

MID

Sintaxe(MID(string, start, [length])
SaídaCadeia de caracteres
Definição

Retorna uma cadeia de caracteres começando na posição start especificada. O primeiro caractere na cadeia de caracteres está na posição 1.

Se o argumento numérico opcional length for adicionado, a cadeia de caracteres retornada incluirá apenas esse número de caracteres.

Exemplo
MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"
ObservaçõesVeja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela).

MIN

SintaxeMIN(expression) ou MIN(expr1, expr2)
SaídaMesmo tipo de dados do argumento ou NULL  se alguma parte do argumento for nula.
Definição

Retorna, no mínimo, dois argumentos, que devem ser do mesmo tipo de dados.

MIN também pode ser aplicada a um único campo em uma agregação.

Exemplo
MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
Observações

Para cadeia de caracteres

MIN geralmente é o valor que vem primeiro em ordem alfabética.

Para fontes de dados de bancos de dados, o valor de cadeia de caracteres MIN é o mais baixo na sequência de classificação definida pelo banco de dados para essa coluna.

Para datas

Para datas, o MIN é a data mais antiga. Se MIN for uma agregação, o resultado não terá uma hierarquia de datas. Se MIN for uma comparação, o resultado manterá a hierarquia de datas.

Como uma agregação

MIN(expression) é uma função agregada e retorna um único resultado agregado. Isso é exibido como AGG(expression) na visualização.

Como comparação

MIN(expr1, expr2) compara os dois valores e retorna um valor em nível de linha.

Consulte também MAX.

PROPER

SintaxePROPER(string)
SaídaCadeia de caracteres
Definição

Retorna a <string> fornecida com primeira letra de cada palavra maiúscula, e as letras restantes em minúsculas.

Exemplo
PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
Observações

Espaços e caracteres não alfanuméricos, como pontuação, são tratados como separadores.

Veja também LOWER e UPPER.

Limitações do banco de dadosPROPER está disponível apenas para alguns arquivos simples e em extrações. Se você precisar usar PROPER em uma fonte de dados que de outra forma não oferece suporte, considere usar uma extração.

REPLACE

SintaxeREPLACE(string, substring, replacement
SaídaCadeia de caracteres
DefiniçãoProcura em <string> por <substring> e substitui por <replacement>. Se a <substring> não for encontrada, a string não será alterada.
Exemplo
REPLACE("Version 3.8", "3.8", "4x") = "Version 4x"
ObservaçõesVeja também REGEXP_REPLACE no documentação de funções adicionais(O link abre em nova janela).
SintaxeRIGHT(string, number)
SaídaCadeia de caracteres
DefiniçãoRetorna o <number> mais à direita dos caracteres na cadeia de caracteres.
Exemplo
RIGHT("Calculation", 4) = "tion"
ObservaçõesVeja também LEFT e MID.

RTRIM

SintaxeRTRIM(string)
SaídaCadeia de caracteres
DefiniçãoRetorna a <string> fornecida com os espaços à direita removidos.
Exemplo
RTRIM(" Calculation ") = " Calculation"
ObservaçõesVeja também LTRIM e TRIM.

SPACE

SintaxeSPACE(number)
SaídaCadeia de caracteres (especificamente, apenas espaços)
DefiniçãoRetorna uma cadeia de caracteres composta por um número especificado de espaços repetidos.
Exemplo
SPACE(2) = "  "

SPLIT

SintaxeSPLIT(string, delimiter, token number)
SaídaCadeia de caracteres
DefiniçãoRetorna uma subcadeia de uma cadeia de caracteres, usando um caractere delimitador para dividir a cadeia de caracteres em uma sequência de tokens.
Exemplo
SPLIT ("a-b-c-d", "-", 2) = "b"
SPLIT ("a|b|c|d", "|", -2) = "c"
Observações

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, em que o caracter delimitador é '-', os tokens são (1) abc, (2) defgh, (3) i e (4) jlk.

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

Consulte também o REGEX compatível na documentação de funções adicionais(O link abre em nova janela).

Limitações do banco de dados

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 às cadeias de caracteres de divisão. Consulte Limitações da função SPLIT posteriormente neste tópico.

STARTSWITH

SintaxeSTARTSWITH(string, substring)
SaídaBooleano
DefiniçãoRetornará true se string começar com substring. Espaços em branco à esquerda são ignorados.
Exemplo
STARTSWITH("Matador, "Ma") = TRUE
ObservaçõesConsulte também CONTAINS, bem como REGEX compatível na documentação de funções adicionais(O link abre em nova janela).

TRIM

SintaxeTRIM(string)
SaídaCadeia de caracteres
DefiniçãoRetorna a <string> com os espaços à esquerda e à direita removidos.
Exemplo
TRIM(" Calculation ") = "Calculation"
ObservaçõesVeja também LTRIM e RTRIM.

UPPER

SintaxeUPPER(string)
SaídaCadeia de caracteres
DefiniçãoRetorna a <string> fornecida com todos os caracteres maiúsculos.
Exemplo
UPPER("Calculation") = "CALCULATION"
ObservaçõesVeja também PROPER e LOWER.

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.

Limitações do SPLIT por fonte de dados

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 SPLIT que especifica um número de token negativo e seria legítimo com outras fontes de dados retornará o 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

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!Seu feedback foi enviado. Obrigado!