Transformação Delete

Exclui um conjunto de linhas no conjunto de dados, com base em uma condição especificada na expressão row. Se a expressão condicional for true, a linha será excluída. A transformação delete agora agrupa o oposto da transformação keep. Consulte Transformação "Keep".

Uso básico

delete row:(dateAge >= 90)

Resultado: para cada linha no conjunto de dados, se o valor na coluna dateAge for maior ou igual a 90, a linha será excluída.

Parâmetros

delete row:(expression)

ParâmetroObrigatório?Transform BuilderTipo de dadosDescrição
rowSCondiçãostringExpressão que identifica uma ou mais linhas a serem excluídas. Se a expressão avaliar uma linha como true, essa linha será removida.

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

row

Expressão para identificar uma ou mais linhas em que a transformação será executada. A expressão precisa ser avaliada como true ou false.

Exemplos:

ExpressãoDescrição

Score >= 50
true se o valor na coluna Score for maior que 50.

LEN(LastName) > 8
true se o comprimento do valor na coluna LastName for maior que oito.

ISMISSING([Title])
true se o valor da linha na coluna Title estiver ausente.

ISMISMATCHED(Score,['Integer'])
true se o valor da linha na coluna Score for incompatível com o tipo de dados "Integer".

Exemplo:

delete row: (lastContactDate < 01/01/2010 || status == 'Inactive')

Resultado: exclui qualquer linha no conjunto de dados em que lastContactDate é anterior a 1º de janeiro de 2010 ou o status é Inactive.

Observações de uso:

Obrigatório?Tipo de dados
SimExpressão avaliada como true ou false

Exemplos

Exemplo: remover produtos antigos e manter novos pedidos

Neste exemplo, ilustramos como você pode manter e excluir linhas do conjunto de dados usando as seguintes transformações:

  • delete: exclui um conjunto de linhas conforme avaliado pela expressão condicional no parâmetro row. Consulte Transformação Delete.
  • keep: mantém um conjunto de linhas conforme avaliado pela expressão condicional no parâmetro row. Todas as outras linhas são excluídas do conjunto de dados. Consulte Transformação Keep.

Origem:

O conjunto de dados inclui as informações de pedido a seguir. Você quer editar o conjunto de dados para que:

  • todos os pedidos de produtos que não estão mais disponíveis sejam removidos. Eles incluem os seguintes IDs de produtos: P100, P101, P102, P103;
  • todos os pedidos que foram feitos nos últimos 90 dias sejam mantidos.
OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
100114/06/2015P100ChapéuMarrom190
100215/01/2016P101ChapéuPreto2180
100311/11/2015P103SuéterPreto3255
100406/08/2015P105CardigãVermelho4320
100529/07/2015P103SoéterPreto5375
100601/12/2015P102CalçaBranco6420
100728/12/2015P107CamisetaBranco7390
100815/01/2016P105CardigãVermelho8420
100931/01/2016P108CasacoAzul-marinho9495

Transformação:

Primeiro, remova os pedidos de produtos antigos. Como o conjunto de produtos é relativamente pequeno, você pode começar adicionando primeiro o seguinte comando:

OBSERVAÇÃO: apenas visualize esta transformação, não a adicione à receita por enquanto.

delete row:(ProdId == 'P100')

Quando esta etapa é visualizada, você nota que a linha superior da tabela acima está destacada para remoção. Observe como a transformação depende do valor ProdId. Se olhar para o valor ProductName, você poderá notar que há um erro de ortografia em uma das linhas afetadas. Desse modo, essa coluna não é válida para fins comparativos.

Você pode adicionar os outros códigos de produtos à transformação na seguinte expansão da transformação, em que qualquer linha que tenha um valor ProdId correspondente é removida:

delete row:(ProdId == 'P100' || ProdId == 'P101' || ProdId == 'P102' || ProdId == 'P103')

Quando a etapa anterior for adicionada à receita, os dados exibidos serão assim:

OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
100406/08/2015P105CardigãVermelho4320
100728/12/2015P107CamisetaBranco7390
100815/01/2016P105CardigãVermelho8420
100931/01/2016P108CasacoAzul-marinho9495

Agora, você pode remover os pedidos do conjunto de dados com mais de 90 dias. Primeiro, adicione uma coluna com a data de hoje:

derive value:'2/25/16' as:'today'

Mantenha as linhas que estão dentro de 90 dias dessa data usando o seguinte comando:

keep row:DATEDIF(OrderDate,today,day) <= 90

Não se esqueça de descartar a coluna today, que já não é necessária:

drop col:today

Resultados:

OrderIdOrderDateProdIdProductNameProductColorQtyOrderValue
100728/12/2015P107CamisetaBranco7390
100815/01/2016P105CardigãVermelho8420
100931/01/2016P108CasacoAzul-marinho9495

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.