Transformação Delete

OBSERVAÇÃO: as transformações fazem parte da linguagem por trás, que está não diretamente acessível aos usuários. Este conteúdo é mantido apenas para fins de referência. Para mais informações sobre o equivalente às transformações acessível ao usuário, consulte Referência de transformações.

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 é o oposto da transformação keep. Consulte Transformação Keep.

Uso básico

delete row:(dateAge >= 90)

Saída: 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)

TokenObrigatório?Tipo de dadosDescrição
deleteStransformaçãoNome da transformação
rowSstringExpressã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, veja as Observações sobre a sintaxe da documentação da linguagem.

row

Expressão que identifica uma ou mais linhas para execução da transformação. A expressão precisa avaliar 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 8.

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 não corresponder ao tipo de dados Inteiro.

Exemplo:

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

Saída: exclui qualquer linha no conjunto de dados em que lastContactDate seja anterior a 1º de janeiro de 2010 ou o status seja Inactive.

Observações sobre o uso:

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

Exemplos

Exemplo: remover produtos antigos e manter novos pedidos

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.

Fonte:

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.

É possível adicionar os outros IDs do produto à 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