Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Tenho várias dúvidas a respeito de um gráfico que estou fazendo:
O gráfico deve mostrar a maior quantidade de tempo gasto por um processo que é executado diariamente no periodo de um mês. Porém o processo deve ignorar os dias em que houve erro no processo. Assim tenho a seguinte dimensão calculada e a seguinte expressão montada em um gráfico mostrador:
dim - =if(IsNull(TIPO_ERRO)=-1, MES_ATUAL)
exp - MAX(AGGR(SUM({<MACRO_PROCESSO= >}DURACAO),ID_DATA))
Além disso criei uma linha de referência que mostra a média mensal deste mesmo processo:
AVG(AGGR(SUM({<MACRO_PROCESSO= >}DURACAO),ID_DATA))
Porém durante esse mês percebi que essa média leva em consideração os dias em que houve erro, levando ao seguinte erro:
O gráfico mostra uma média maior que a máxima.
Dado o problema, gostaria de saber se alguém pode me ajudar com essas perguntas abaixo:
1 - É possível fazer as linhas de referência de um gráfico comportarem exatamente como a dimensão calculada dele?
2 - O valor máximo do gráfico (235) está em minutos, tem como fazer o gráfico mostrar em horas? (3:55)
3 - Eu fiz essa legenda usando um container com vários objetos de texto, existe uma forma mais elegante de fazer uma legenda para um gráfico de mostrador?
Desde já agradeço
att,
Leandro Humberto Vieira
A expressão para calcular a média fica assim: AVG(if( IsNull(TIPO_ERRO),AGGR(SUM({<MACRO_PROCESSO= >} DURACAO),ID_DATA)))
O que adicionei foi o IF antes do AGGR, assim ele vai ignorar as datas que possuírem algum tipo de erro.
Veja como ficou o qvw
Leandro,
1) a linha de referência não respeita a sua dimensão, ela se comporta da mesma maneira de quando é criada uma expressão dentro de um objeto de texto. Para que ela passe a respeitar, você deve adicionar o campo da dimensão em seu aggr e também utilizar a regra da dimensão calculada.
2) Não seria apenas dividir por 60? Você pode fazer isso usando a função Interval, por exemplo: Interval(TEMPO/60, 'hh:mm')
3) Você pode criar a legenda usando um gráfico do tipo de tabela simples
Bom dia Yuri,
Utilizei a função Interval tanto nas expressões quanto nos limites do meu gráfico e funcionou perfeitamente. Obrigado!
Porém não consegui realizar a adaptação da minha linha de referência, pois não sei como agregar a expressão de um forma que respeite a minha dimensão, minha dimensão calculada é baseada em mês, porém eu já uso o aggr para realizar a soma usando o dia, assim teria que usar 2 aggr? Ou ele pode agregar vários parâmetros? Eu também utilizei uma expressão para definir minha dimensão calculada no gráfico, é possível utilizar uma expressão nas linhas de referência também?
Atualmente minha linha de referencia se encontra assim:
=Interval(Interval#(CEIL(AVG(AGGR(SUM({<MACRO_PROCESSO=,TIPO_ERRO=>}DURACAO),DIA_ATUAL))),'mm'),'hh:mm')
Também tentei fazer a legenda pela tabela simples, mas optei por continuar com minha legenda original, obrigado também de qualquer forma!
Não, não deve usar dois aggr.
Depois vou olhar o seu anexo e vejo uma possível solução
A expressão para calcular a média fica assim: AVG(if( IsNull(TIPO_ERRO),AGGR(SUM({<MACRO_PROCESSO= >} DURACAO),ID_DATA)))
O que adicionei foi o IF antes do AGGR, assim ele vai ignorar as datas que possuírem algum tipo de erro.
Veja como ficou o qvw
Muito obrigado, não sabia que era possível usar o If dessa forma.