Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Valores divergentes em tabela e mostrador

Boa tarde,

Sou praticamente novo no Qlik e estou apanhando para conseguir resolver este problema, se puderem me ajudar, agradeço.

Acredito que a imagem é auto explicativa, mas o problema é o seguinte:

O mostrador está com as mesmas expressões e dimensões da tabela, porém está apresentando valores diferentes.

O valor de 42,26% - é a média de todos os meses

O problema é o valor apresentado no mostrador 0,188 (referente a primeira competência 01/2010)..., preciso que seja 0,4226..., a média total do período selecionado.

Já tentei utilizar o AVG antes do cálculo no mostrador, para assim fazer a média total, porém gera erro de expressão.

Se puderem me ajudar, agradeço.

Abraços

erro.png

1 Solution

Accepted Solutions
Not applicable
Author

Bom dia,

Primeiro agradeço a todos pelo empenho em tentar resolver meu problema.

Segundo, resolvi o problema da seguinte maneira:

Como estava precisando que o mostrador apresentasse a média, fiz o seguinte,

(Sum (if(mot_obito='T', (data_alta-data_atendimento)+1, data_alta-data_atendimento))/((AVG(Floor(MonthEnd (Date#(data_alta, 'DD/MM/YYYY')))-Floor(MonthStart (Date#(data_alta, 'DD/MM/YYYY')))+1))*LeitosTotais)

/

Count (DISTINCT (Right (data_alta, '7')))

A primeira expressão vai me trazer o total, a segunda vai dividir o total pela quantidade de meses apresentados.

Muito obrigado e bom final de semana.

View solution in original post

11 Replies
mauroponte
Creator II
Creator II

Henrique,

Acredito que o problema esteja na maneira e o objetivo para o qual voce esteja utilizando o gráfico de ponteiros.

Primeiro, o gráfico de ponteiros não utiliza dimensões, e é utilizado para analisar proporções de um valor sobre outro.

Por exemplo, se voce tem uma expressão de valor realizado e outra de um valor de Meta ou Orçamento. Nesse caso você poderia demonstrar quando da meta ou orçamento o valor realizado atingiu, fazendo uma expressão que divida um pelo outro no gráfico de ponteiro. Assim você poderia avaliar se o realizado estaria dentro do desejado ou não. Os valores vão reagir aos filtros que voce faça, seja ano, mês ou outra seleção.

Pela imagem não entendi bem seus dados, mas se voce puder disponibilizar o QVW e explicar melhor sua necessidade talvez possa te orientar melhor a utilizar o gráfico da maneira correta ou outro objeto que permita voce ter a informação desejada.

TiagoCardoso
Creator II
Creator II

Olá Henrique, pode disponibilizar um QVW para que a comunidade possa melhor lhe ajudar?

Olhando assim penso que uma expressão Exp(TOTAL<Campo> campo) pode lhe ajudar, coisa de detalhe, sabe?

Abraços,

Att,

tiagocardoso

Not applicable
Author

Bom dia, Mauro

Pois então... se minha meta é atingir 100% de ocupação, estou querendo apresentar a média da meta alcançada no período selecionado.

Meu QVW tá um pouco grande para compartilhar aqui, e também não tenho autorização para isso, pois possui informações "confidenciais" de pacientes atendidos desde o ano de 2010.

A dimensão que estou utilizando é =(Date# (Right(data_alta, 7), 'MM/YYYY')) - para trazer ex: 03/2017.

A expressão é essa, =Sum (if(mot_obito='T', (data_alta-data_atendimento)+1, data_alta-data_atendimento))/((AVG(Floor(MonthEnd (Date#(data_alta, 'DD/MM/YYYY')))-Floor(MonthStart (Date#(data_alta, 'DD/MM/YYYY')))+1))*LeitosTotais

Tentei dividir a meta 100/expressão, não funcionou, porque preciso da média total da expressão, no momento que adiciono AVG acontece o Erros in expression.

Outro detalhe é que, se eu selecionar apenas um mês, o mostrador apresenta o valor correto, o problema está na visualização da média de um determinado período.

Obrigado

Not applicable
Author

Bom dia, Tiago

Meu QVW tá um pouco grande para compartilhar aqui, e também não tenho autorização para isso, pois possui informações "confidenciais" de pacientes atendidos desde o ano de 2010.

Já tentei esse detalhe, mas não trouxe o resultado desejado, talvez não utilizei corretamente.

A dimensão que estou utilizando é =(Date# (Right(data_alta, 7), 'MM/YYYY')) - para trazer ex: 03/2017.

A expressão é essa, =Sum (if(mot_obito='T', (data_alta-data_atendimento)+1, data_alta-data_atendimento))/((AVG(Floor(MonthEnd (Date#(data_alta, 'DD/MM/YYYY')))-Floor(MonthStart (Date#(data_alta, 'DD/MM/YYYY')))+1))*LeitosTotais

Logo, tentei EXP(SUM<expressão>expressão)

Tentei dividir a meta 100/expressão, não funcionou, porque preciso da média total da expressão, no momento que adiciono AVG acontece o Erros in expression.

Outro detalhe é que, se eu selecionar apenas um mês, o mostrador apresenta o valor correto, o problema está na visualização da média de um determinado período.

Obrigado

TiagoCardoso
Creator II
Creator II

É, ficou complicado para ajudar, mas vamos lá:

Você utiliza dimensão neste gráfico de mostrador? Até onde sei e usei, não se faz necessário, apenas a expressão serve.


TiagoCardoso
Creator II
Creator II

Este campo data_alta é do tipo String? Por isso você utiliza Date# ?

Se o campo for numérico, utilize apenas o Date .


Se o campo for String, me avise: 'data_alta'


Já tentou criar uma variável com o trecho AVG da sua expressão para ver se funciona?

Ex.:

SUM(TOTAL <data_alta> (

    if(mot_obito='T', (data_alta-data_atendimento)+1, data_alta-data_atendimento)

    /

    $(vVar)

) * LeitosTotais


onde vVar é a variável que conterá o trecho:

((AVG(Floor(MonthEnd (Date#(data_alta, 'DD/MM/YYYY')))-Floor(MonthStart (Date#(data_alta, 'DD/MM/YYYY')))+1))



Não esqueça de tirar qualquer dimensão do gráfico de mostrador, e vá adaptando sua expressão até ela chegar de fato ao valor que se deve, no caso: 42%

Not applicable
Author

Vou testar aqui para ver, o campo data é trazido como por exemplo: 01/05/2017, como quero apenas a competência poderia utilizar o Right (data_alta, 7), porém no momento de classificar os resultados por ordem crescente ou decrescente, os períodos se misturam, por isso utilizei o Date#.

Obrigado

TiagoCardoso
Creator II
Creator II

Você poderia utilizar para isto, também, o Date(data_alta, 'MM/YYYY')

Anonymous
Not applicable
Author

Henrique,

Coloca na sua expressão o seguinte:

     if(Dimensionality() < 1

            , Expressão do total

            , Sua expressão

        )

Acho que a função Dimensionality() vai resolver seu problema.

Atenciosamente,

Tiago Ferrucio