Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Possuo uma base de dados que simplifiquei para exemplo: um código de evento, atividade, funcionário e valor (tempo gasto para concluir atividade).
Devo exibir um gráfico com a quantidade de eventos por atividade, com tempo superior à média dos tempos da atividade.
Tentei a expressão abaixo agrupando pela atividade, mas só está contando a primeira ocorrência
sum(if(aggr(Sum(Tempo)/Count({$<[Tempo]={">0"}>} IdEvento),Atividade)<Tempo,1,0))
Na imagem abaixo é possível ver o resultado exibido. No gráfico da direita era para exibir o total de 2 eventos para "Ajuste de porta", mas está contando apenas 1. Na tabela à esquerda mostro os valores e a média também só é exibida no primeiro evento de uma atividade, sendo que preciso exibir a média em todos os eventos.
Pensei em criar um script para calcular a média com base nos registros do QVD, mas isso não me parece uma boa opção.
Em anexo o QVW.
Obrigado!
Faça assim:
SUM(
AGGR(
if( Sum(Tempo) > (Sum(TOTAL <Atividade> Tempo)/Count(TOTAL <Atividade>{$<[Tempo]={">0"}>} IdEvento)), 1,0
)
,Atividade, IdEvento)
)
Faça assim:
SUM(
AGGR(
if( Sum(Tempo) > (Sum(TOTAL <Atividade> Tempo)/Count(TOTAL <Atividade>{$<[Tempo]={">0"}>} IdEvento)), 1,0
)
,Atividade, IdEvento)
)
Segue no qvw o resultado
Muito obrigado Yuri! Funcionou perfeitamente.
Você teria alguma sugestão de material ou discussão aqui no Community para melhor compreensão do método aggr em casos semelhantes a esse e até mesmo mais complexos?
Peguei alguns materiais aqui no Community, mas os casos geralmente eram bem simples. No projeto que estou trabalharei com muitas situações semelhantes a essa, algumas bem mais complexas.