Index() busca uma string para localizar a posição inicial da enésima ocorrência de uma subsequência fornecida. Um terceiro argumento opcional fornece o valor de n, que é 1 se for omitido. Um valor negativo busca a partir do final da string. As posições na string são numeradas da esquerda para a direita, de 1 para cima.
Sintaxe:
Index(text, substring[, count])
Tipo de dados de retorno: inteiro
Argumentos
Argumento
Descrição
text
A string original.
substring
Uma string de caracteres para pesquisar no text.
Nota informativaSe a substring não existir no texto, Index retornará 0.
count
Define qual ocorrência de substring pesquisar. Por exemplo, um valor de duas pesquisas para a segunda ocorrência. Um valor negativo inicia a partir do final da string.
Exemplo: expressões de gráfico
Exemplo
Resultado
Index( 'abcdefg', 'cd' )
Retorna 3
Index( 'abcdabcd', 'b', 2 )
Retorna 6 (a segunda ocorrência de b)
Index( 'abcdabcd', 'b',-2 )
Retorna 2 (a segunda ocorrência de b começando do final)
Left( Date, Index( Date,'-') -1 ) where Date = 1997-07-14
Retorna 1997
Mid( Date, Index( Date, '-', 2 ) -2, 2 ) where Date = 1997-07-14
Retorna 07
Index( 'abc', 'x' )
Retorna 0 (x não existe na string abc)
Index( 'abc', 'a', 2 )
Retorna 0 (não há uma 2ª ocorrência de a)
Exemplo - Fundamentos de Index
Visão geral
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
InputString
Crie as seguintes dimensões calculadas:
=Index(InputString, 'cd')
=Index(InputString, 'e')
=Index(InputString, 'b', -1)
Tabela de resultados
InputString
Index(InputString, 'cd')
Index(InputString, 'e')
Index(InputString, 'b', -1)
abcdabcd
3
0
6
abcdefg
3
5
2
A primeira linha com a string abcdabcd retorna:
3: a primeira ocorrência de cd
0: porque e não foi encontrado na string
6: a primeira ocorrência de b a partir do final da string
A segunda linha com a string abcdefg retorna:
3: a primeira ocorrência de cd
5: a primeira ocorrência de e
2: a primeira ocorrência de b a partir do final da string
Nota informativaUm parâmetro count negativo faz a varredura da string em sentido inverso. No entanto, a posição retornada é sempre denotada da esquerda para a direita, mesmo se escaneada ao contrário.
O código a seguir mostra como usar a função em um script de carregamento.
Example:
Load
*,
index(String, 'cd') as Index_CD, // returns 3 in Index_CD
index(String, 'b') as Index_B, // returns 2 in Index_B
index(String, 'b', -1) as Index_B2; // returns 2 or 6 in Index_B2
Load * inline [
String
abcdefg
abcdabcd ];
Tabela de resultados
Cadeia
Index_CD
Index_B
Index_B2
abcdefg
3
2
2
abcdabcd
3
2
6
Exemplo - Cenário de Index
Visão geral
Um centro de suporte ao cliente tem um conjunto de dados que contém linhas de assunto de mensagens de e-mail de clientes. O centro de suporte deseja categorizar esses e-mails com base nas palavras-chave que aparecem na linha de assunto, por exemplo, Refund, Complaint e Technical Issue. As linhas de assunto são armazenadas em um campo no conjunto de dados chamado EmailSubject.
Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.
O script de carregamento contém:
Um conjunto de dados que é carregado em uma tabela de dados denominada Example.
Um campo na tabela de dados chamado EmailSubject.
Script de carregamento
Example:
Load * inline [
EmailSubject
Request for a Refund - Order 12345
Technical Issue with Product XYZ
Complaint about delivery service
Follow-up on Refund Request
Technical Issue not resolved
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:
EmailSubject
Crie a seguinte dimensão calculada:
=If(Index(EmailSubject, 'Refund') > 0, 'Refund', 'Other') para calcular qual texto de assunto de e-mail está relacionado a reembolsos.
A saída da função Index identificou com sucesso todas as linhas de assunto que contêm a string Refund. Esse é um exemplo de como é possível analisar e categorizar dados usando funções aninhadas e agregar valor aos usuários.
Esta página ajudou?
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!