Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Senhores boa tarde,
Existe solução ALTERNATIVA para containers? Pergunto pq sempre ouço que containers são pesados, e comprometem o desempenho da aplicação. Aqui na empresa as aplicações foram constituídas 99% de containers + gráficos.
Perguntas:
1) O container contendo X gráficos ou tabelas pesa realmente e compromete o desempenho?
2) Qual a solução prática e visual para substituir containers e manter um aspecto visual similar?
Exemplo de como está por aqui (informações confidenciais ocultas)
Obrigado
Olá Rodrigo, na minha visão os containers de fato são um pouco mais pesado.
Porém não acredito que chega impactar isso ao usuário final.
Questões de performance se esta tendo problema, interessante analisar sua nuvem de dados, suas expressões, quantidade de dados nas tabelas, as vezes uma ligação ou a falta de um distinct pode inchar consideravelmente sua base.
Quanto as expressões, avaliar se faz muito cálculo em tempo de execução, se existe possibilidade de gerar via script, que é o que mais pesa mesmo. Exemplo : Ideal Sum(Campo), o que pode dar muito problema sum(aggr(campo),cliente) ou seja a função aggregate.
Ctrl + T - Avalia sua nuvem de dados - se quiser postar um print para tentarmos analisar e poder sugerir algo.
Ctrl + Alt + D - Aba tabelas. Você pode verificar a quantidade de tabelas e registros em cada uma delas.
Espero de alguma forma poder ter ajudado.
Abraço
You can replace container with buttons or text objects and charts.
Add a variable, set the variable value to a different value in every buttons.
In the Layout tab of the charts, display (or not) the chart depending on the value of the variable.
AFAIK all charts in containers are calculated if the container isn't minimized.
When you have one chart only visible, only 1 chart is calculated.
Boa tarde Rodrigo,
Na empresa que atuo utilizamos bastante containers também... Seja para gráficos como para tabelas... É possível sentir um pouco de lentidão na primeira visualização de cada objeto presente no container... Mas não chega a ser algo tão impactante no desempenho da aplicação.
Segue um modelo de containers que utilizo em uma aplicação (os dados foram apagados para não comprometer a empresa):
Note que utilizo 04 containers em uma mesma visão, onde dentro desses containers temos gráficos e tabelas.
Caso queira substituir os containers, existe a possibilidade de criar um botão e associar uma variável ao mesmo onde ao ser clicado essa variável mude de valor (ex: Botão clicado variável igual à 01, senão igual a 0) e então colocar uma condição no objeto desejado (aba Layout do objeto / Mostrar) ao invés de deixar a opção "SEMPRE" ativado, altere para "CONDICIONAL", e então coloque a condição de mostrar esse objeto somente quando o valor da variável definida no botão for igual a 01.
Exemplo:
Crie uma variável e set o valor dela igual a zero:
Crie um botão e defina a ação dele conforme print abaixo:
Depois crie um objeto qualquer (no exemplo foi usado uma caixa de texto) e vá até a aba Layout e defina a condição conforme print:
Feito isso, ao clicar no botão, o valor da variável irá mudar e junto com ele o objeto irá ficar oculto. Após clicar novamente o objeto irá aparecer novamente.
Espero ter ajudado.
Att,
Gustavo Ferreira.
>>AFAIK all charts in containers are calculated if the container isn't minimized.
I have the same feeling
Na minha modesta opinião a melhor saída é trabalhar com botões (ou melhor ainda, objetos texto) que alteram o valor de variáveis e os gráficos pertinentes são exibidos conforme os valores destas.
Ganhos:
Dê uma navegada em Qlik Demos: See QlikView in Action | Demo.Qlik.Com , são vários exemplos disponíveis para baixar e ver como funcionam
alem do que o cleveranjos falou ainda tem o fato de que alguns objetos (gráfico tabela dinâmica ) fique "cortado" se ele for maior que o conteiner.
Trabalhar com variáveis fica mais flexível e pratico, mas da um pouco mais de trabalho......Embora não muito.
Boa tarde
Conseguiu resolver o seu problema? Se sim, por gentileza marque a resposta correta para nos ajudar a manter a comunidade organizada.