EXEMPLO: transformações Delete e Keep

Este exemplo ilustra 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 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

Lembre-se de excluir a coluna today, que não é mais 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.