Função VALID

Testa se um conjunto de valores é válido para um tipo de dados especificado e não é um valor nulo.
  • Para um tipo de dados e um conjunto de valores especificados, esta função retorna true ou false.
  • As entradas podem ser valores literais ou referências de colunas.

Você pode usar as palavras-chave da função ISVALID como preferir.

  • Você pode definir um teste condicional em uma única etapa para valores válidos. Consulte Função IFVALID.
  • Esta função é semelhante à função ISMISMATCHED, que testa incompatibilidades em relação a um tipo de dados especificado. No entanto, a função ISMISMATCHED também coincide com os valores ausentes, enquanto a função ISVALID não. Consulte Função ISMISMATCHED.

Uso básico

Exemplo de referência de coluna:

keep row:(ISVALID(Qty, 'Integer') && (Qty > 0))

Saída: qualquer linha em que o valor da coluna Qty tenha um número inteiro válido e seja maior que zero é mantida.

Exemplo de literal numérico:

derive type:single value: ISVALID('ZZ', 'State')

Saída: gera uma nova coluna que contém false, uma vez que o valor ZZ não é um código estadual válido dos Estados Unidos.

Sintaxe

derive type:single value:ISVALID(column_string,datatype_literal)

ArgumentoObrigatório?Tipo de dadosDescrição
column_stringSstringNome da coluna ou literal de string a ser aplicado à função
datatype_literalSstringLiteral de string que identifica o tipo de dados usados como base para validar os valores de origem

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

column_string

Nome da coluna ou literal da string a ser avaliado quanto à validade.

  • Os valores ausentes de literal ou de coluna geram resultados de string ausentes.
    • Constantes precisam estar entre aspas ('Hello, World').
  • Colunas e caracteres curinga múltiplos não são aceitos.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimLiteral de string ou referência de colunamyColumn

datatype_literal

Valor do literal para o tipo de dados ao qual corresponder a coluna ou a string de origem. Para mais informações, consulte as Strings de tipo de dados válidas.

  • Não há suporte para referências de colunas.

Observações sobre o uso:

Obrigatório?Tipo de dadosValor de exemplo
SimLiteral de string'Integer'

Strings de tipo de dados válidas:

Ao fazer referência a um tipo de dados dentro de uma transformação você pode usar as seguintes strings para identificar cada tipo:

OBSERVAÇÃO: nas transformações de Wrangle, esses valores diferenciam maiúsculas de minúsculas.

Tipo de dadosString
String'String'
Número inteiro'Integer'
Decimal'Float'
Booleano'Bool'
CPF/CNPJ'SSN'
Número de telefone'Phone'
Endereço de e-mail'Emailaddress'
Cartão de crédito'Creditcard'
Gênero'Gender'
Objeto'Map'
Matriz'Array'
Endereço IP'Ipaddress'
URL'Url'
Código HTTP'Httpcodes'
CEP'Zipcode'
Estado'State'
Data/hora'Datetime'

Exemplos

Exemplo: funções de verificação de tipo

Este exemplo ilustra como várias funções de verificação de tipo podem ser aplicadas aos seus dados.

  • ISVALID: retornará true se a entrada corresponder ao tipo de dados especificado. Consulte Função VALID.
  • ISMISMATCHED: retornará true se a entrada não corresponder ao tipo de dados especificado. Consulte Função ISMISMATCHED.
  • ISMISSING : retornará true se o valor da entrada estiver ausente. Consulte Função ISMISSING.
  • ISNULL: retornará true se o valor da entrada for nulo. Consulte Função ISNULL.
  • NULL: gerará um valor nulo. Consulte Função NULL.

Origem:

Alguns valores de origem que devem corresponder aos tipos de dados Estado e Inteiro:

StateQty
CA10
OR-10
WA2,5
ZZ15
ID
4

Transformação:

Teste os valores inválidos para "State" usando o comando a seguir:

derive type:single value: ISMISMATCHED (State, 'State')

Teste as correspondências válidas para "Qty" usando o comando a seguir:

derive type:single value: (ISVALID (Qty, 'Integer') && (Qty > 0)) as:'valid_Qty'

A primeira transformação sinaliza as linhas 4 e 6 como incompatíveis.

OBSERVAÇÃO: um valor ausente não é válido para um tipo, incluindo String.

A segunda transformação sinaliza como válidas todas as linhas em que a coluna Qty é um número inteiro válido maior do que zero.

A transformação a seguir testa se há valores ausentes em qualquer coluna:

derive type:single value: (ISMISSING(State) || ISMISSING(Qty)) as:'missing_State_Qty'

Após reorganizar as colunas usando a transformação move, o conjunto de dados deverá ter esta aparência:

StateQtymismatched_Statevalid_Qtymissing_State_Qty
CA10falseverdadeirofalse
OR-10falsefalsefalse
WA2,5falsefalsefalse
ZZ15truetruefalse
ID falsefalsetrue
4falsetruetrue

Como os dados não têm valores nulos, esses valores são gerados com base nos critérios anteriores, na seguinte transformação:

É possível usar a verificação ISNULL para remover as linhas que falharam no teste acima:

delete row: ISNULL('status')

Resultados:

Com base nos testes anteriores, o conjunto de dados de saída contém uma linha:

StateQtymismatched_Statevalid_Qtymissing_State_Qtystatus
CA10falseverdadeirofalseok

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.