true
se o primeiro argumento for inferior, mas não igual, ao segundo argumento. Equivalente ao operador <
.- Cada argumento pode ser um número Inteiro ou Decimal literal, uma função retornando um número ou uma referência a uma coluna contendo números.
Como a função retorna um valor booleano, ela pode ser usada como uma função ou um condicional.
OBSERVAÇÃO: em uma expressão, use o operador correspondente em vez dessa função. Para saber mais informações, consulte Operadores de comparação.
Uso básico
keep row: LESSTHAN(Errors, 10)
Saída: mantém todas as linhas em que o valor da coluna Errors
é inferior a 10.
Sintaxe
derive type:single value:LESSTHAN(value1, value2)
Argumento | Obrigatório? | Tipo de dados | Descrição |
---|---|---|---|
value1 | S | string | O primeiro valor. Pode ser um número, uma função que retorna um número ou uma coluna contendo números. |
value2 | S | string | O segundo valor. Pode ser um número, uma função que retorna um número ou uma coluna contendo números. |
Para saber mais informações sobre os padrões de sintaxe, consulte as Observações sobre a sintaxe da documentação da linguagem.
value1, value2
Nomes da coluna, expressões ou literais para comparação.
- Os valores ausentes geram resultados de string ausentes.
Observações sobre o uso:
Obrigatório? | Tipo de dados | Valor de exemplo |
---|---|---|
Sim | Referência de coluna, função ou valor numérico ou string | myColumn |
Exemplos
Exemplo: funções básicas de comparação
Neste exemplo simples, demonstramos as funções de comparação disponíveis:
-
LESSTHAN
: consulte a Função LESSTHAN.
-
LESSTHANEQUAL
: consulte a Função LESSTHANEQUAL.
-
EQUAL
: consulte a Função EQUAL. -
NOTEQUAL
: consulte a Função NOTEQUAL. GREATERTHAN
: consulte a Função GREATERTHAN.-
GREATERTHANEQUAL
: consulte a Função GREATERTHANEQUAL.
Fonte:
colA | colB |
---|---|
1 | 11 |
2 | 10 |
3 | 9 |
4 | 8 |
5 | 7 |
6 | 6 |
7 | 5 |
8 | 4 |
9 | 3 |
10 | 2 |
11 | 1 |
Transformação:
Adicione as seguintes transformações à sua receita, uma para cada função de comparação:
derive type:single value:LESSTHAN(colA, colB) as:'lt'
derive type:single value:LESSTHANEQUAL(colA, colB) as:'lte'
derive type:single value:EQUAL(colA, colB) as:'eq'
derive type:single value:NOTEQUAL(colA, colB) as:'neq'
derive type:single value:GREATERTHAN(colA, colB) as:'gt'
derive type:single value:GREATERTHANEQUAL(colA, colB) as:'gte'
Resultados:
colA | colB | gte | gt | neq | eq | lte | lt |
---|---|---|---|---|---|---|---|
1 | 11 | false | false | true | false | true | true |
2 | 10 | false | false | true | false | true | true |
3 | 9 | false | false | true | false | true | true |
4 | 8 | false | false | true | false | true | true |
5 | 7 | false | false | true | false | true | true |
6 | 6 | true | false | false | true | true | false |
7 | 5 | true | true | true | false | false | false |
8 | 4 | true | true | true | false | false | false |
9 | 3 | true | true | true | false | false | false |
10 | 2 | true | true | true | false | false | false |
11 | 1 | true | true | true | false | false | false |
Exemplo: como usar comparações com intervalos de teste
Na cidade de Circleville, os cidadãos podem manter um único círculo de colheita no quintal, desde que sigam os regulamentos municipais. Veja a seguir alguns dados sobre o tamanho dos círculos de colheita na cidade, com uma entrada separada para cada casa. Os limites são exibidos nas colunas adjacentes, com as colunas inclusive
indicando se os valores mínimos ou máximos são inclusivos.
Dica: como parte deste exercício, veja como é possível ampliar seu roteiro para realizar uma análise financeira simples dos dados.
Fonte:
Local | Radius_ft | minRadius_ft | minInclusive | maxRadius_ft | maxInclusive |
---|---|---|---|---|---|
House1 | 55.5 | 10 | Y | 25 | N |
House2 | 12 | 10 | Y | 25 | N |
House3 | 14,25 | 10 | Y | 25 | N |
House4 | 3.5 | 10 | Y | 25 | N |
House5 | 27 | 10 | Y | 25 | N |
Transformação:
Após o carregamento dos dados na página "Transformer", comece a comparar os valores das colunas:
derive type:single value: LESSTHANEQUAL(Radius_ft,minRadius_ft) as:'tooSmall'
Ainda que seja exata, a transformação acima não leva em conta o valor minInclusive
, sujeito a alterações como parte das etapas. Em vez disso, exclua a transformação anterior e use a próxima, que leva em consideração a outra coluna:
derive type:single value: IF(minInclusive == 'Y',LESSTHANEQUAL(Radius_ft,minRadius_ft),LESSTHAN(Radius_ft,minRadius_ft)) as:'tooSmall'
Nesse caso, a função IF
testa se o valor mínimo é inclusivo. Valores de 10
são permitidos. Se for esse o caso, a função LESSTHANEQUAL
será aplicada. Do contrário, a função LESSTHAN
será usada. Para o limite máximo, aplica-se a etapa abaixo:
derive type:single value: IF(maxInclusive == 'Y', GREATERTHANEQUAL(Radius_ft,maxRadius_ft),GREATERTHAN(Radius_ft,maxRadius_ft)) as:'tooBig'
Agora, é possível realizar análises desses dados. Primeiramente, insira uma coluna contendo o valor da multa por pé acima do máximo ou abaixo do mínimo. Antes do primeiro comando derive
, insira este a seguir, que é a multa ($15.00
) para cada pé acima ou abaixo dos limites:
derive type:single value: 15 as:'fineDollarsPerFt'
No final da receita, adicione a nova linha abaixo, que calcula a multa para círculos de colheita que forem muito pequenos:
derive type:single value: IF(tooSmall == 'true', (minRadius_ft - Radius_ft) * fineDollarsPerFt, 0.0) as: 'fine_Dollars'
O exemplo anterior captura violações muito pequenas. Para capturar também violações muito grandes, altere a linha acima para:
derive type:single value: IF(tooSmall == 'true', (minRadius_ft - Radius_ft) * fineDollarsPerFt, if(tooBig == 'true', (Radius_ft - maxRadius_ft) * fineDollarsPerFt, '0.0')) as: 'fine_Dollars'
No lugar da expressão "false" original (0.0
), o procedimento anterior adiciona o teste para valores muito grandes, assim todas as multas são incluídas em uma única coluna. Reformate a coluna fine_Dollars
para o formato em dólar:
set col: fine_Dollars value: NUMFORMAT(fine_Dollars, '$###.00')
Resultados:
Depois de excluir as colunas usadas no cálculo e mover as restantes, você provavelmente acabará com um conjunto de dados semelhante ao seguinte:
Local | fineDollarsPerFt | Radius_ft | minRadius_ft | minInclusive | maxRadius_ft | maxInclusive | fineDollars |
---|---|---|---|---|---|---|---|
House1 | 15 | 55.5 | 10 | Y | 25 | N | US$ 457,50 |
House2 | 15 | 12 | 10 | Y | 25 | N | US$ 0,00 |
House3 | 15 | 14,25 | 10 | Y | 25 | N | US$ 0,00 |
House4 | 15 | 3.5 | 10 | Y | 25 | N | US$ 97,50 |
House5 | 15 | 27 | 10 | Y | 25 | N | $30.00 |
Agora que você criou todos os cálculos para gerar esses valores, altere os valores de minRadius_ft
, maxRadius_ft
e fineDollarsPerFt
para analisar a receita resultante. Antes ou depois da transformação em que o valor de fineDollarsPerFt
é configurado, insira algo com o seguinte formato:
set col: minRadius_ft value:'12.5'
Depois de adicionar esta etapa, selecione a última linha na receita. Assim, veja como os valores na coluna fineDollars
foram atualizados.