Função ENDSWITH

Retornará true se o conjunto de caracteres mais à direita de uma coluna de valores corresponder a um padrão. O valor de origem pode ser qualquer tipo de dados, e o padrão pode ser um padrão do Cloud Dataprep, uma expressão regular ou uma string.
  • A função ENDSWITH é ideal para correspondência baseada em padrões de qualquer tipo de dados. Se você precisa combinar strings usando um número fixo de caracteres, recomendamos usar a função RIGHT. Consulte Função RIGHT.
  • Consulte Função STARTSWITH.

Uso básico

Exemplo de literal de string:

derive type:single value:ENDSWITH(tweets,'?') as:'hasQuestion'

Saída: grava true na nova coluna hasQuestion se a última letra do valor da coluna tweets for "?".

Exemplo de padrão do Cloud Dataprep :

derive type:single value:ENDSWITH(tweets,`{hashtag}{1,9}`) as:'hasHashtag'

Saída: gera a coluna hasHashtag contendo true se a coluna tweets terminar com valores de hashtag de 1 a 9. Caso contrário, a coluna hasHashtag será definida como false.

Exemplo de padrão de expressão regular:

set col:Status value:IF(ENDSWITH,myNum,/([01][0-9][0-9]|2[0-4][0-9]|25[0-5])/),'myNum - valid','myNum - error')

Saída: define o valor na coluna Status como myNum - valid se o valor da coluna myNum terminar com um valor entre 0 e 255. Caso contrário, a coluna Status será definida como myNum - error.

Sintaxe

derive type:single value:ENDSWITH(column_any,pattern)

ArgumentoObrigatório?Tipo de dadosDescrição
column_anySqualquer umNome da coluna a ser aplicada à função.
patternSstringPadrão ou literal expresso como uma string que descreve o padrão de correspondência.

Para mais informações sobre os padrões de sintaxe, consulte Notas de sintaxe da documentação da linguagem.

column_any

Nome da coluna a ser pesquisada.

  • Várias colunas e caracteres curinga não são aceitos.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimReferência de colunamyColumn

pattern

Padrão do Cloud Dataprep, expressão regular ou literal de string a ser localizado nos valores da coluna especificada.

Notas de uso:

Obrigatório?Tipo de dadosValor de exemplo
SimString`{zip}`

Exemplos

Exemplo: funções STARTSWITH e ENDSWITH

O exemplo a seguir demonstra funções que podem ser usadas para avaliar o início e o fim de valores de qualquer tipo usando padrões. Essas funções incluem os seguintes itens:

  • STARTSWITH: verifica o início dos valores em uma coluna especificada em comparação com um padrão ou literal específico. Consulte Função STARTSWITH.
  • ENDSWITH: verifica o final dos valores em uma coluna especificada em comparação com um padrão ou literal específico. Consulte Função ENDSWITH.

Fonte:

O relatório de inventário a seguir indica as quantidades disponíveis dos produtos por nome de produto. Você precisa verificar se os nomes dos produtos são válidos de acordo com as seguintes regras:

  • Um nome de produto precisa começar com um identificador de marca numérico de três dígitos, seguido de um traço.
  • Um nome de produto precisa terminar com um traço, seguido por uma SKU numérica de seis dígitos.

Os dados de origem se parecem com os mostrados a seguir, com a coluna "Validation" sem valores nela.

InvDateProductNameQtyValidation
04/21/2017412-Widgets-01234523
04/21/201704-Fidgets-12034166
04/21/2017204-Midgets-442131
04/21/2017593-Gidgets-40201224

Transformação:

Nesse caso, é necessário avaliar a coluna ProductName quanto a duas condições. Estas são as funções condicionais:

IF(STARTSWITH(ProductName, `#{3}-`), 'Ok', 'Bad ProductName-Brand')

IF(ENDSWITH(ProductName, `-#{6}`), 'Ok', 'Bad ProductName-SKU')

Uma abordagem é o uso da transformação derive para criar duas novas colunas de teste e então usar uma transformação set com base na avaliação dessas duas colunas. No entanto, com a instrução a seguir é possível compactar a avaliação em uma única etapa, sem criar as colunas intermediárias:

set col: Status value: IF(STARTSWITH(ProductName, `#{3}-`), IF(ENDSWITH(ProductName, `-#{6}`), 'Ok', 'Bad ProductName-SKU'), 'Bad ProductName-Brand')

Resultados:

InvDateProductNameQtyValidation
04/21/2017412-Widgets-01234523Ok
04/21/201704-Fidgets-12034166Bad ProductName-Brand
04/21/2017204-Midgets-442131Bad ProductName-SKU
04/21/2017593-Gidgets-40201224OK

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Google Cloud Dataprep
Precisa de ajuda? Acesse nossa página de suporte.