Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal boa tarde,
Alguma ideia / Luz / melhor maniera /melhor prática etc.. sobre fazer um gráfico de barras mostrando a evolução mensal de uma determinado dado?
Hoje tenho o a dimensão Month e a dimensão Item, juntamente com a expressão Valeu ( Count([Invoice ID]) ), gostaria de comprar um gráfico de barras a variação dos itens com referencia ao mês anterir.
Months | Item A | Item B | Item C |
Jun | 1162 | 2051 | 1931 |
Jul | 990 | 2580 | 2559 |
Aug | 936 | 2877 | 2744 |
Sep | 918 | 2238 | 2296 |
Oct | 761 | 2685 | 2610 |
Para terntar ser mais claro, quero comparar os valores da expressão do item A comparando o mês de Jul com o mês de Jun, o mesmo para os 03 itens (A, B, e C). E o mesmo para os meses seguintes comparando sempre com o mês anterior.
Alguém afim de partilhar suas experiencia com essa situação ?
Desde já agradeço
Desculpe, eu cometi um erro na expressão que coloquei, veja:
((Sum({<Item = {'A'}>} Valor) / Above(Sum({<Item = {'A'}>} Valor), -1)) - 1) * 100
Troque o valor sublinhado -1 por 1 que irá funcionar.
Para pegar o mês anterior com o Above() neste caso use 1 e não -1.
Boa tarde Weslley,
Encontrei um tópico na comunidade que semelhante a sua duvida, ve se ajuda:
Considerando que no seu gráfico a dimensão seja o campo 'Months' sua expressão poder ser definida como:
( ([expressão item_A] / Above([expressão item_A], -1) ) - 1 ) * 100
A função Above(x, -1) retorna o valor x da dimensão com valor anterior a atual, neste caso o mês anterior.
Considerando [expressão item_A] do mês junho = 135 e [expressão item_A] do mês de julho = 98 temos:
( (98 / 135) -1 ) * 100
(0,726 - 1) * 100
-0,274 * 100 = -27,4
Ou seja, no mês de julho comparado à junho o rendimento foi de -27,4%.
Acho que é mais ou menos isso que você quer e é assim que eu uso.
Quaquer dúvida coloca ae.
Abraço!
Thiago Cunha, obrigado, no link indicado tenho ( http://community.qlik.com/thread/60481 ) é um calculo no script, gostaria de fazer o calculo no proprio gráfico, além do que no script me limito tendo a comparação apenas do mês corrente. // data ( AddMonths ( max ( PERÍODO ), -1))
Para o calculo no gráfico criei a expressão Sum(TOTAL <[Month Name]>Value) que tenho o total no mês corrente, e Above(Sum (TOTAL <[Month Name]>Value)) que tenho o total do mês anterior.
apartir das expressoes fiz o calculo ((mês / mês anterior ) - 1 ) *100 aqui tenho o caculo em % da variação
// (((Sum(TOTAL <[Month Name]>Value))/(Above(Sum (TOTAL <[Month Name]>Value))))-1)*100
O problema é que se adciono as dimensões Itens não faz calulo.
E ainda, se crio 02 expressões mês / mês anterior e habilito a opções relativo do QlickViw (%) da diferença entre os valores calculado manualmente ( // (((Sum(TOTAL <[Month Name]>Value))/(Above(Sum (TOTAL <[Month Name]>Value))))-1)*100 ).
Rafael Neiva boa tarde,
è isso que eu desejo, e cheguei nesse ponto conforme mencionado acima.
A expressão final é a abaixo:
/ / ((Sum ((TOTAL <[Nome do Mês]> Valor)) / (Above (Sum (TOTAL <[Nome do Mês]> Valor)))) -1) * 100
Porem gostaria de adcionar uma Dimensão pelo campo Item de forma a obter a variação por Item.
Quando adciono o item os gráficos zeram.
Veja as imagens abaixo:
Sem a dimensão itens:
Com a dimensão itens adcionada:
Desde já agradeço a todos
Eu acho que entendi o que você deseja. Você pode usar o Set Analysis para cada uma das suas expressões, assim você soma o valor de cada item individualmente.
Estou enviando um exemplo pra você.
Se não for o que você deseja, detalhe mais aqui que nós damos um jeito.
Rafael seu exemplo me ajudou muito, porem tenho algumas dúvidas.......
Observe a variação do Item A de Feb comparado a Jan que tem a variação de - 33,33.
O correto seria 0 e esta setado como -33,33, este item não teve variação do mês de jan para o mês de feb.
Mês | Item | Valor |
2012-01-01 | A | 10 |
2012-02-01 | A | 10 |
Implementei seu código de Expressões no meu script, deu certo, mas estou achando diferenças entre os valores, conforme apontado acima.
((Sum({<Item = {'A'}>} Valor) / Above(Sum({<Item = {'A'}>} Valor), -1)) - 1) * 100
Ps: Observe também que o mês de Jan 2012 não deveria trazer variações, pois não se tem dado do mês anterior para se calcular (dez 2011).
Mais uma vez obrigado.
Desculpe, eu cometi um erro na expressão que coloquei, veja:
((Sum({<Item = {'A'}>} Valor) / Above(Sum({<Item = {'A'}>} Valor), -1)) - 1) * 100
Troque o valor sublinhado -1 por 1 que irá funcionar.
Para pegar o mês anterior com o Above() neste caso use 1 e não -1.
Correto , também não tinha me atentado a este detalhes.
Muito obrigado.