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
Sintaxe | ASCII(string) |
Saída | Número |
Definição | Retorna o código ASCII do primeiro caractere de <string> . |
Exemplo | ASCII('A') = 65 |
Observações | Esse é o inverso da função CHAR . |
CHAR
Sintaxe | CHAR(number) |
Saída | Cadeia de caracteres |
Definição | Retorna o caractere codificado pelo código ASCII <number> . |
Exemplo | CHAR(65) = 'A' |
Observações | Esse é o inverso da função ASCII . |
CONTAINS
Sintaxe | CONTAINS(string, substring) |
Saída | Booleano |
Definição | Retornará true se a cadeia de caracteres determinada contiver a subcadeia de caracteres especificada. |
Exemplo | CONTAINS("Calculation", "alcu") = true |
Observações | Veja 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
Sintaxe | ENDSWITH(string, substring) |
Saída | Booleano |
Definição | 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 |
Observações | Veja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela). |
FIND
Sintaxe | FIND(string, substring, [start]) |
Saída | Nú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 |
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ções | Veja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela). |
FINDNTH
Sintaxe | FINDNTH(string, substring, occurrence) |
Saída | Número |
Definição | Retorna 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 |
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ída | Cadeia de caracteres |
Definição | Retorna o <number> mais à esquerda de caracteres na cadeia de caracteres. |
Exemplo | LEFT("Matador", 4) = "Mata" |
Observações | Veja também MID e RIGHT. |
LEN
Sintaxe | LEN(string) |
Saída | Número |
Definição | Retorna o comprimento da cadeia de caracteres. |
Exemplo | LEN("Matador") = 7 |
Observações | Não confundir com a função espacial(O link abre em nova janela) LENGTH . |
LOWER
Sintaxe | LOWER(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a <string> fornecida em todos os caracteres minúsculos. |
Exemplo | LOWER("ProductVersion") = "productversion" |
Observações | Veja também UPPER e PROPER. |
LTRIM
Sintaxe | LTRIM(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a <string> fornecida com os espaços à esquerda removidos. |
Exemplo | LTRIM(" Matador ") = "Matador " |
Observações | Consulte também RTRIM. |
MAX
Sintaxe | MAX(expression) ou MAX(expr1, expr2) |
Saída | Mesmo 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.
|
Exemplo | MAX(4,7) = 7 |
Observações | Para cadeia de caracteres
Para fontes de dados de bancos de dados, o valor de cadeia de caracteres Para datas Para datas, Como uma agregação
Como comparação
Consulte também |
MID
Sintaxe | (MID(string, start, [length]) |
Saída | Cadeia de caracteres |
Definição | Retorna uma cadeia de caracteres começando na posição Se o argumento numérico opcional |
Exemplo | MID("Calculation", 2) = "alculation" MID("Calculation", 2, 5) ="alcul" |
Observações | Veja também o RegEx aceito na documentação de funções adicionais(O link abre em nova janela). |
MIN
Sintaxe | MIN(expression) ou MIN(expr1, expr2) |
Saída | Mesmo 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.
|
Exemplo | MIN(4,7) = 4 |
Observações | Para cadeia de caracteres
Para fontes de dados de bancos de dados, o valor de cadeia de caracteres Para datas Para datas, o Como uma agregação
Como comparação
Consulte também |
PROPER
Sintaxe | PROPER(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a |
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. |
Limitações do banco de dados | PROPER 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
Sintaxe | REPLACE(string, substring, replacement |
Saída | Cadeia de caracteres |
Definição | Procura 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ções | Veja também REGEXP_REPLACE no documentação de funções adicionais(O link abre em nova janela). |
RIGHT
Sintaxe | RIGHT(string, number) |
Saída | Cadeia de caracteres |
Definição | Retorna o <number> mais à direita dos caracteres na cadeia de caracteres. |
Exemplo | RIGHT("Calculation", 4) = "tion" |
Observações | Veja também LEFT e MID. |
RTRIM
Sintaxe | RTRIM(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a <string> fornecida com os espaços à direita removidos. |
Exemplo | RTRIM(" Calculation ") = " Calculation" |
Observações | Veja também LTRIM e TRIM. |
SPACE
Sintaxe | SPACE(number) |
Saída | Cadeia de caracteres (especificamente, apenas espaços) |
Definição | Retorna uma cadeia de caracteres composta por um número especificado de espaços repetidos. |
Exemplo | SPACE(2) = " " |
SPLIT
Sintaxe | SPLIT(string, delimiter, token number) |
Saída | Cadeia de caracteres |
Definição | Retorna 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
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
Sintaxe | STARTSWITH(string, substring) |
Saída | Booleano |
Definição | Retornará true se string começar com substring . Espaços em branco à esquerda são ignorados. |
Exemplo | STARTSWITH("Matador, "Ma") = TRUE |
Observações | Consulte também CONTAINS, bem como REGEX compatível na documentação de funções adicionais(O link abre em nova janela). |
TRIM
Sintaxe | TRIM(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a <string> com os espaços à esquerda e à direita removidos. |
Exemplo | TRIM(" Calculation ") = "Calculation" |
Observações | Veja também LTRIM e RTRIM. |
UPPER
Sintaxe | UPPER(string) |
Saída | Cadeia de caracteres |
Definição | Retorna a <string> fornecida com todos os caracteres maiúsculos. |
Exemplo | UPPER("Calculation") = "CALCULATION" |
Observações | Veja 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.
No Tableau Desktop, conecte-se à fonte de dados salva Exemplo - Superloja, incluída no Tableau.
Navegue até uma planilha.
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.
Selecione Análise > Criar campo calculado.
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.
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 dados | Restrições de direita/esquerda | Número máximo de divisões | Limitações de versão |
Extração de dados do Tableau | Ambos | Infinito | |
Microsoft Excel | Ambos | Infinito | |
Arquivo de texto | Ambos | Infinito | |
Salesforce | Ambos | Infinito | |
OData | Ambos | Infinito | |
Google Analytics | Ambos | Infinito | |
Servidor de dados do Tableau | Ambos | Infinito | Compatível com a versão 9.0. |
Vertica | Esquerda apenas | 10 | |
Oracle | Esquerda apenas | 10 | |
MySQL | Ambos | 10 | |
PostgreSQL | Esquerda somente antes da versão 9.0; para a versão 9.0 e posteriores | 10 | |
Teradata | Esquerda apenas | 10 | Versão 14 e posteriores |
Amazon Redshift | Esquerda apenas | 10 | |
Aster Database | Esquerda apenas | 10 | |
Google BigQuery | Esquerda apenas | 10 | |
Hortonworks Hadoop Hive | Esquerda apenas | 10 | |
Cloudera Hadoop | Esquerda apenas | 10 | Impala compatível a partir da versão 2.3.0. |
Microsoft SQL Server | Ambos | 10 | 2008 e posteriores |
Consulte também
Funções do Tableau (em ordem alfabética)