Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Criar gráficos de forma dinâmica

Senhores, bom dia.

Estou com o seguinte desafio em um cliente e gostaria da ajuda de vocês para soluciona-la.

Preciso criar em um QVW uma solução em que o usuário selecione uma ou várias dimensões e o Qlikview gere um gráfico para cada dimensão de acordo com uma métrica pré determinada.

Ex:

     Dimensões selecionadas: Cliente, Ano, Mês, UF

     Métrica: Sum (Quantidade)

     Objetos: Gráfico de Cliente x Quantidade

                  Gráfico de Ano x Quantidade

                  Gráfico de Mês x Quantidade

                  Gráfico de UF x Quantidade

Desde já agradeço pela força.

19 Replies
Not applicable
Author

Clever,

Acho que vai funcionar com essa macro.

Tem algum comando que eu possa passar na macro que define a posição do gráfico na pasta.

Pensei em fazer isso para ir gerando o posicionamento dos gráfico dinamicamente.

Not applicable
Author

Thiago,

Criei uma macro para solucionar o problema com a ajuda do Clever.

Mesmo assim obrigado pela força.

Not applicable
Author

Clever,

Criei a macro abaixo baseado na sua para solucionar o problema.

Function CreateGraphs()

              For i = 0 to ActiveDocument.Fields("Vendedor").GetSelectedValues.Count -1

              Set chart = ActiveDocument.ActiveSheet.CreateLineChart

              chart.AddDimension "Mês/Ano Pedido"

              chart.AddExpression "SUM( {$< Vendedor={'"&ActiveDocument.Fields("Vendedor").GetSelectedValues.Item(i).Text  &"'}>}[Valor Total Pedido])"  

       

              Set sh = ActiveDocument.ActiveSheet

              Set obj = sh.SheetObjects(i)

       

                  pos = obj.GetRect

              pos.Left = 350

              pos.Width = 820

              pos.Height = 360

              pos.Top = (360 * (i)) + 10

              obj.SetRect pos

           

            next

     

     

End Function 

Obrigado pela ajuda.

pablolabbe
Luminary Alumni
Luminary Alumni

Gustavo,

  Quando se acessa a aplicação via servidor, um usuário pode criar seus próprios objetos se for dada a permissão. Funciona com plugin do IE e Ajax.

  Esta dica com macro funciona somente quando usuário acessa a aplicação via desktop ou plug-in do IE.

Abraço,

Pablo Labbe

Clever_Anjos
Employee
Employee

Gustavo,

Desculpe pelo atraso, ontem e hoje fiquei enrolado com consultas e exames médicos.

Pelo visto já resolveu, né?

Precisando, chama aí.

nicolett_yuri

Até acho legal você fazer a criação desses gráficos de forma dinâmica, mas será que o melhor caso não seria já deixar esses gráficos criados e controlar se eles devem ou não aparecer de acordo com variáveis? Mesmo que no final você tenha 100 gráficos diferentes.

A sugestão do pablolabbe também é válida.

Not applicable
Author

Pablo,

Pelo que preciso no meu projeto a solução que me atende mais é usando a macro mesmo.

Ainda não testei no access point mas no ambiente do cliente o acesso ao Qlikview é feito somente pelo Plug-in do IE.

Acho que vai funcionar. Quando testar aviso a todos do forum.

Not applicable
Author

Yuri,

Vou ter que usar a macro mesmo. Foi a melhor maneira encontrada para a solução que o cliente me pediu.

Ainda vou testar se funciona pelo IE Plug-in.

nicolett_yuri

Funciona, já utilizei esse método uma vez.

Not applicable
Author

Oi Gustavo, bom dia. Tudo bom?

Tenho o mesmo problema que você ( uma pancada de dimensões)

Tem como você publicar um exemplo dessa aplicação?

Muito obrigado