Função KTHLARGESTIF

Esta função extrai o valor classificado dentre os valores em uma coluna, em que k=1 retorna o valor máximo quando uma condição especificada é atendida. O valor de k precisa estar entre 1 e 1.000, inclusive.

Os cálculos KTHLARGESTIF são filtrados por uma condicional aplicada ao grupo.

A fim de realizar esse cálculo, duas instâncias do mesmo valor são tratadas como valores separados. Então, se o conjunto de dados contiver três linhas com valores de coluna 10, 9 e 9, o KTHLARGEST retornará 9 para k=2 e k=3.

A coluna de entrada pode ser de tipo número inteiro ou decimal. Os dados não numéricos na coluna são ignorados. Se uma linha contiver um valor ausente ou nulo, ele não será considerado no cálculo.

OBSERVAÇÃO: quando adicionada a uma transformação, esta função é aplicada à amostra atual. Se você alterar a amostra ou executar o job, os valores calculados para essa função serão atualizados. As transformações que alteram o número de linhas nas etapas seguintes da receita não afetam os valores calculados para esta etapa.

Para realizar um cálculo kth maior simples sem condicionais, use a função KTHLARGEST. Consulte Função KTHLARGEST.

Uso básico

pivot value: KTHLARGESTIF(POS_Sales, 1, DayOfWeek == 'Saturday') group:storeNbr limit:1

Saída: é gerada uma tabela de duas colunas que contém os valores únicos de storeNbr e o primeiro valor (classificação = 1) da coluna POS_Sales para cada storeNbr, quando o valor DayOfWeek é Saturday. O parâmetro limit define o número máximo de colunas do resultado.

Sintaxe

pivot value:LISTIF(col_ref, limit, test_expression) [group:group_col_ref] [limit:limit_count]

ArgumentoObrigatório?Tipo de dadosDescrição
col_refSstringReferência à coluna que você quer avaliar.
k_integerSnúmero inteiroA classificação do valor a extrair da coluna de origem
test_expressionSstringExpressão que é avaliada. Precisa ser resolvida como true ou false

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

Para mais informações sobre os parâmetros group e limit, consulte Transformação pivot.

col_ref

Nome da coluna cujos valores você quer usar no cálculo. A coluna precisa ser um tipo numérico (inteiro ou decimal).

Observações de uso:

Obrigatório?Tipo de dadosValor de exemplo
SimString que corresponde ao nome da colunamyValues

k_integer

Inteiro que representa a classificação do valor a extrair da coluna de origem.

OBSERVAÇÃO: o valor de k precisa ser um número inteiro entre 1 e 1.000, inclusive.

  • k=1 representa o valor máximo na coluna.
  • Se k é maior ou igual ao número de valores na coluna, o valor mínimo é retornado.
  • Os valores ausentes e nulos não são considerados na classificação de k.

test_expression

Esse parâmetro contém a expressão a ser avaliada. Essa expressão precisa ser resolvida com um valor booleano (true ou false).

Notas de uso:

Obrigatório?Tipo de dadosValor de exemplo
SimExpressão de string que é avaliada como true ou false(LastName == 'Mouse' && FirstName == 'Mickey')

Exemplos

Exemplo - Segunda maior medida para uma cidade específica

Neste exemplo ilustramos como usar a função de classificação condicional KTHLARGESTIF em suas receitas.

Fonte:

Veja a seguir alguns exemplos de dados meteorológicos:

datecidaderain_cmtemp_Cwind_mph
1/23/17Valleyville0.0012,86,7
1/23/17Center Town0,319,45,3
1/23/17Magic Mountain0.000.07,3
1/24/17Valleyville0,2517,23,3
1/24/17Center Town0,541,17,6
1/24/17Magic Mountain0,325,08,8
1/25/17Valleyville0,023,36,8
1/25/17Center Town0,833,35,1
1/25/17Magic Mountain0,59-1,76,4
1/26/17Valleyville1,0815,04,2
1/26/17Center Town0,966,17,6
1/26/17Magic Mountain0,77-3,93,0
1/27/17Valleyville1,007,22,8
1/27/17Center Town1,3220,00,2
1/27/17Magic Mountain0,775,65,2
1/28/17Valleyville0,12-6,15,1
1/28/17Center Town0,145,04,9
1/28/17Magic Mountain1,501,10,4
1/29/17Valleyville0,3613,37,3
1/29/17Center Town0,756,19,0
1/29/17Magic Mountain0,603,36,0


Transformação:

Neste caso, você precisa descobrir a segunda maior medida de chuva, temperatura e vento em Center Town durante a semana.

pivot value:KTHLARGESTIF(rain_cm,2,city == 'Center Town') limit:1

Observe na visualização que o valor é 1.32. Antes de adicioná-lo à sua receita, altere a etapa para a seguinte:

pivot value:KTHLARGESTIF(temp_C,2,city == 'Center Town') limit:1

O valor é 20. Para o vento, modifique do seguinte modo:

pivot value:KTHLARGESTIF(wind_mph,2,city == 'Center Town') limit:1

Resultados:

Adicione qualquer uma dessas etapas para gerar um resultado agregado. Se preferir, use uma transformação derive para inserir esses resultados calculados em novas colunas.

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.