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.

1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

Por exemplo, se o usuário for fazendo várias seleções, você quer que vários objetos vão sendo criados e 'amontoados' na tela?

Para criar um gráfico dinamicamente, abra o arquivo apiguide.qvw (Vem junto com a documentação) com exemplos de código

Serão codigos parecidos com o abaixo

  1. Function CreateGraphs() 
  2.   Set chart = ActiveDocument.ActiveSheet.CreateStraightTable 
  3.   chart.AddDimension "VENDEDOR"  ' você terá que fazer um "for" buscando todos as dimensões a exibir
  4.   chart.AddExpression "SUM(VALOR)" 
  5. End Function 

Outro exemplo: Dynamic Chart Macro and Number Format Problem

De qualquer forma, na minha humilde opinião não é um bom uso do Qlik

View solution in original post

19 Replies
thiago_mlg
Creator II
Creator II

Gustavo, bom dia!

Segue exemplo, veja se te atende.

Neste caso o que eu fiz foi criar uma condicional para cada dimensão.

Qualquer dúvida, estou a disposição.

Att,

Not applicable
Author

Thiago, bom dia.

Obrigado pela ajuda mas o que eu estou precisando é que ao selecionar uma ou mais dimensões em uma lista o Qlikview crie um objeto novo para cara valor selecionado, como por exemplo um gráfico de linha para cada dimensão.

Será criado um objeto distinto para cada dimensão selecionada.

thiago_mlg
Creator II
Creator II

Gustavo, o que você pode fazer é já criar os gráficos com as dimensões em questão e deixa-los ocultos. Quando o usuário selecionar determinada dimensão você exibe os gráfico em questão.

Se quiser, me avise que eu crio um modelo.

Not applicable
Author

Thiago,

Pensei nesta hipótese, porém tenho 80 dimensões possíveis para a criação dos gráficos, rsrs.

Estou tentando criar uma solução onde não tenha que criar 80 gráficos e deixa-los ocultos.

Clever_Anjos
Employee
Employee

Gustavo,

Abra a aplicação "What´s New on Version 11" que vem junto com o Qlikview.

Vá na aba "Reports" e veja se atende

thiago_mlg
Creator II
Creator II

Entendi.. Só me tire uma dúvida..

Vamos imaginar que tenhamos alguma função que faça isso, você quer criar 1 gráfico para cada dimensão.. e se eles selecionarem mtas dimensões, vai extrapolar a tela correto? E teria também que ter uma função que coloque o gráfico no lugar sequente ao que acabou de ser criado.

Eu realmente desconheço, mas espero que alguém tenha alguma solução.

Abraços

Not applicable
Author

Clever,

Neste modelo que você falou há somente um objeto. Preciso que seja gerado um objeto para cada seleção de dimensão.

Not applicable
Author

Thiago,

É exatamente isso.

Clever_Anjos
Employee
Employee

Por exemplo, se o usuário for fazendo várias seleções, você quer que vários objetos vão sendo criados e 'amontoados' na tela?

Para criar um gráfico dinamicamente, abra o arquivo apiguide.qvw (Vem junto com a documentação) com exemplos de código

Serão codigos parecidos com o abaixo

  1. Function CreateGraphs() 
  2.   Set chart = ActiveDocument.ActiveSheet.CreateStraightTable 
  3.   chart.AddDimension "VENDEDOR"  ' você terá que fazer um "for" buscando todos as dimensões a exibir
  4.   chart.AddExpression "SUM(VALOR)" 
  5. End Function 

Outro exemplo: Dynamic Chart Macro and Number Format Problem

De qualquer forma, na minha humilde opinião não é um bom uso do Qlik