Função STARTSWITH

Retorna true se o conjunto de caracteres mais à esquerda 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 STARTSWITH é 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 LEFT. Consulte Função LEFT.
  • Consulte Função ENDSWITH.

Uso básico

Exemplo de literal de string:

derive type:single value:STARTSWITH(FullName,'Mr.')

Saída: grava true em uma nova coluna se os três primeiros caracteres do valor da coluna FullName forem "Mr.".

Exemplo de padrão do Cloud Dataprep:

derive type:single value:STARTSWITH(CustId,`{alpha-numeric}{6}`) as:'validateCustId'

Saída: gera a coluna validateCustId contendo true se a coluna CustId começar com uma sequência alfanumérica de seis dígitos. Caso contrário, a coluna validateCustId é definida como false.

Exemplo de padrão de expressão regular:

set col:Status value:IF(STARTSWITH,phone,/^(\+0?1\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/),'phone - ok','phone - error')

Saída: define o valor na coluna Status como phone - ok se o valor da coluna phone começar com um valor que corresponda a um número de telefone norte-americano de 10 dígitos. Caso contrário, a coluna Status é definida como phone - error.

Sintaxe

derive type:single value:STARTSWITH(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.

Notas de 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.