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: 
Not applicable

Linha de referência não acompanha dimensão do gráfico

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:

mostrador.png

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

Labels (3)
1 Solution

Accepted Solutions
nicolett_yuri

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

View solution in original post

5 Replies
nicolett_yuri

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

Not applicable
Author

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!

nicolett_yuri

Não, não deve usar dois aggr.

Depois vou olhar o seu anexo e vejo uma possível solução

nicolett_yuri

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

Not applicable
Author

Muito obrigado, não sabia que era possível usar o If dessa forma.