Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Expressão para somar maior valor

Olá galera,

Estou com uma dúvida, tenho um gráfico onde utilizo um GRUPO de dimensões: 'STATUS' do pedido e 'PEDIDO'.

Então no gráfico sem seleções ele me mostra separado por STATUS, (Média dos dias em aberto em cada status).

Quando seleciono algum STATUS ele me gera o Gráfico por PEDIDO(Mostrando os dias em aberto de cada pedido individualmente).

Eu utilizo a expressão: FLOOR(SUM({<ATUAL={SIM}>}TEMPO)/COUNT({<ATUAL={SIM}>} PEDIDO))

Porém houve uns 'bugs' nos dados, e acabou que duplicou alguns Pedidos (um com a data certa, e outro com a data do dia 10).

Acabou que minha expressão 'bugou' também.

Preciso agora de uma expressão que consiga somar o maior valor de TEMPO, para cada número de PEDIDO.

ex: Pedido 1012 TEMPO 41 dias
      Pedido 1012 TEMPO 2 dias
    Pedido 1013 TEMPO 13 dias

   Pedido 1013 TEMPO 2 dias

preciso somar 41 + 13 (maiores dias) / 2 (numero distinto de pedidos)

Usando o max(), ele vai deixar de Somar quando o gráfico está da maneira 'Geral'.

Tentei o  load com distinct mas a tabela contém o Código único para cada entrada então esses pedidos duplicados ainda tem códigos diferentes!

Alguma idéia em como tratar isso na expressão?

Labels (2)
1 Solution

Accepted Solutions
lucianosv
Specialist
Specialist

Boa tarde.

Concordo com o Márcio e o Yuri, mas caso você deseje fazer o work-around, você pode tentar usar isso:

AVG(aggr(Max(TEMPO),Pedido ))

Obs: Não recomendo, os dados devem ser corrigidos. Use somente como paliativo.

View solution in original post

4 Replies
Marcio_Campestrini
Specialist
Specialist

Boa tarde Erick

A minha sugestão é tratar isso na origem dos dados, preferencialmente "eliminando" os dados gerados com erro.

Márcio.

Márcio Rodrigo Campestrini
nicolett_yuri

Erick, como dito anteriormente pelo marcio.campestrini , o ideal é corrigir esse erro que aconteceu com sua base de dados e não tentar alterar suas expressões.

lucianosv
Specialist
Specialist

Boa tarde.

Concordo com o Márcio e o Yuri, mas caso você deseje fazer o work-around, você pode tentar usar isso:

AVG(aggr(Max(TEMPO),Pedido ))

Obs: Não recomendo, os dados devem ser corrigidos. Use somente como paliativo.

lucianosv
Specialist
Specialist

Conseguiu?