Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal,
Sou novo com o Qlik e estou precisando de uma ajuda para fazer um gráfico de barras calculando o market share de meus clientes. A ideia é que o gráfico fique desta maneira:
Neste gráfico estão contidas as dimensões 'MES' e 'CLIENTE'.
Calculo de medida está assim:
Sum({$<[Date.autoCalendar.Month]=, [Year+]={'0'} >}[Sales - Customers])/
Sum({$<[Date.autoCalendar.Month]=, [Year+]={'0'} >} Total [Sales - Customers])
Porem o resultado final não está como o esperado e esta saindo desta maneira:
Alguém consegue me dar uma ajuda?
O problema está na utilização de duas dimensões com a função total, quando utilizada ela traz o valor do tal de todo a referencia de dados dimensionados não sendo limitado por uma dimensão ou outra. Como você precisa da representatividade com relação ao total de cada mês utilizando o total não funcionaria.
O que pode ser feito é utilizar um if para cada mês com a medida especifica para cada mês,
if(Mes= 'Jan', sum({<Mes={'Jan'}>}total valor)
assim você terá o valor total de cada mês para fazer a divisão.
Boa tarde.
O que muitos colegas se queixam é que justamente essa data que vem do autocalendar não se dá muito bem com expressões SET, na maioria dos casos é isso apenas.
Seu campo tem esta nomenclatura mesmo? - [Year+]
O problema está na utilização de duas dimensões com a função total, quando utilizada ela traz o valor do tal de todo a referencia de dados dimensionados não sendo limitado por uma dimensão ou outra. Como você precisa da representatividade com relação ao total de cada mês utilizando o total não funcionaria.
O que pode ser feito é utilizar um if para cada mês com a medida especifica para cada mês,
if(Mes= 'Jan', sum({<Mes={'Jan'}>}total valor)
assim você terá o valor total de cada mês para fazer a divisão.
O autocalendar só está mencionado para não mudar com os filtros da pasta, o campo Year+ é do meu banco mesmo.
Entendi Rafa,
Realmente o 'total valor' esta pegando todo o valor do sum.
Você sabe se existe uma maneira de eu somar todo o valor da dimensão CLINTE? Desta maneira eu faria algo parecido com a expressão abaixo:
sum(Valor) /* que irá somar todo o valor do cliente no periodo */
/
Sum({$<[CLIENTE]=,>} Valor) /* que iria somar o valor total, independendo o cliente que está dimencionado no gráfico. */
Como eu disse você precisa usar um if para cada mês e ter a dimensão de mes no gráfico e a de cliente para dar a cor da barra , dessa forma ficaria do jeito que vc exemplificou.
Sim, apliquei sua solução e deu certo, como sou muito newby, perguntei pois poderia ter uma outra maneira da qual eu não precisasse fazer 12 if's. Muito obrigado!
Pode ser que tenha uma outra maneira más nada que me venha a mente agora