Operadores ternários

Os operadores ternários permitem criar uma lógica condicional if/then/else dentro das transformações. Em vez disso, use a função IF.

OBSERVAÇÃO: os operadores ternários foram substituídos pela função IF. Consulte Função IF.

A seguir, se test expression for avaliado como true, o true_expression será executado. Do contrário, false_expression será executado.

Todas essas expressões podem ser constantes (strings, inteiros ou qualquer outro valor literal aceito) ou elementos sofisticados de lógica, ainda que a expressão do teste precise ser avaliada segundo um valor booleano.

Uso

Dados de exemplo

XY
truetrue
truefalse
falseverdadeiro
falsefalse

Transformações:

Resultados:

O resultado tem esta aparência:

XYequals
truetrueyes
truefalseno
falsetrueno
falsefalseyes

Exemplos

Exemplo: cotações de ações

Você tem um conjunto de preços de ações que quer analisar. Com base em um conjunto de regras, você quer determinar qualquer ação de compra, venda ou manutenção a ser realizada.

Origem:

TíqueteQtdPreçoCompraPreçoAtual
GOOG10705,25674,5
FB10084,00101,125
AAPL50125,2597,375
MSFT10038,87545,25

Transformação:

Você pode realizar avaliações desses dados usando operadores ternários para determinar se quer tomar alguma medida.

OBSERVAÇÃO: em um conjunto de dados maior, convém manter as avaliações de compra, venda e manutenção para cada ação em um conjunto de dados separado que você integra ao conjunto de dados de origem antes de realizar comparações entre valores de coluna. Consulte Painel "Mesclagem".

Para ajudar na avaliação, convém primeiro criar colunas que contenham o custo (Basis) e o valor atual (CurrentValue) para cada ação:

derive type:single value:(Qty * BuyPrice) as:'Basis'

derive type:single value:(Qty * CurrentPrice) as:'CurrentValue'

Agora, você pode criar algumas regras com base no spread entre Basis e CurrentValue.

A ação mais importante é determinar se é hora de vender. A regra a seguir gravará uma notificação sell, se o valor atual for US$ 1.000 ou superior ao custo. Do contrário, não será gravado nenhum valor na coluna de ação.

E que tal comprar mais? A transformação a seguir é uma edição feita na anterior. Nesta nova versão, o teste de venda é realizado e gravará uma ação buy se CurrentPrice estiver dentro dos 10% de BuyPrice.

Essa segunda avaliação será realizada depois da primeira, porque substitui a cláusula else, que não fez nada na versão anterior. No painel "Recipe", clique na transformação anterior e a edite, substituindo-a pela nova versão:

Se nenhum teste for avaliado como true, a ação gravada será hold.

Convém formatar algumas das colunas usando a formatação em dólar, como no seguinte item:

OBSERVAÇÃO: a formatação a seguir insere um cifrão ($) na frente do valor, o que altera o tipo de dados para String.

set col:BuyPrice value:NUMFORMAT(BuyPrice, '$ ##,###.00')

Resultados:

Depois de mover as colunas, o conjunto de dados ficará parecido com o item a seguir, se você tiver concluído as etapas de formatação de número:

TíqueteQtdPreçoCompraPreçoAtualBaseValorAtualação
GOOG10705,25$ 674,50$ 7.052,50$ 6.745,00compra
FB10084,00$ 101,13$ 8.400,00$ 10.112,50vende
AAPL50125,25$ 97,38$ 6.262,50$ 4.868,75mantém
MSFT10038,88$ 45,25$ 3.887,50$ 4.525,00mantém

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.