Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde, começo com a configuração do meu servidor:
Xeon 2.40GHz com 8 núcleos
32GB RAM
Server 2008
Tenho um projeto do qual contém mais ou menos 90 a 100 variáveis com cálculos dentro delas.
Por exemplo, na var_Venda eu tinha o codigo =sum(venda) agora eu alterei para sum(venda).
Nesta alteração eu retirei o sinal de igual, isto me permite utilizar a variável em um gráfico =($var_Venda), dessa forma consigo trabalhar com dimensões. A questão é que pela quantidade de cálculos que meu projeto faz, a cada seleção o processador da pico em 100% e fica até finalizar a seleção, da forma antiga o projeto era bem mais rápido, porém eu perco a facilidade de usar variáveis em gráficos.
O que me dizem a respeito disso? Será que é necessário um upgrade na máquina ou não devo me preocupar com isto?
Olá Hamilton,
Qual a versão do seu Qlikview Server ?
Achei estes dois blogs que explicam que não há muita diferença em usar formulas em varíaveis ou diretamente nas expressões.
Seu problema parece ser outro.
http://www.naturalsynergies.com/q-tip-6-those-tricky-sign-expansions/
Abraço,
Bom dia Pablo, a versão do server é a 11.0.11440.0.
Vou ler os links que você me mandou, porém tenho duas versões do projeto e a primeira a consulta é consideravelmente mais rápida.
Pablo, fiz o teste como mostra em um dos sites que você mandou e a diferença foi bem significativa, veja o que me diz. O Comparativo Original é a primeira forma de eu usar a variável =var_venda, o Comparativo Beta é a variável no formato novo $(=var_venda)
Resultado nos Objetos de Texto
Resultado das Variáveis
Media:
Hamilton,
Resultados interessantes, meio que contradizem o que se falou nos blogs, mas é importante considerar o ambiente em que você está fazendo o teste.
Sua versão do Qlikview é bem antiga. Tem como você baixar a ultima versão do Qlikview (11.2 SR7 ou SR8) e refazer os testes ?
Você está testando em um desktop ou via remoto no servidor ? Se for no servidor, ele é físico ou virtualizado ?
Abraço,
Boa tarde Pablo,
realmente o resultado me surpreendeu também, executei o mesmo teste pelo menos 4 vezes após fazer cargas e seleções, o resultado foi o mesmo, isso mostra a importância de fazer os testes com projetos reais, a diferença do processamento em cálculos mais complexos foi gigantesca perto de testes com apenas Soma, independente da quantidade de registros.
Estou executando diretamente no servidor físico do qual falei anteriormente a configuração. Referente a versão, vou ver para atualizar o quanto antes e comparar os resultados.
Você consegue testar no seu desktop com a mesma versão do qlikview desktop que está no server ?
Lembrei que existem algumas considerações a serem tomadas em conta na configuração do servidor. Segue link com dicas sobre configuração relacionadas a BIOS e hardware para uma melhor performance
Hamilton,
posso estar enganado, mas entendo que existe uma diferença em cada abordagem.
Quando na variável você coloca '=Sum(Venda)', o QlikView primeiro avalia a variável (a cada mudança no estado das seleções), guarda o resultado e copia este resultado nos lugares onde vc usa a expansão de dólar. Então o QV faz uma espécie de pré-cálculo.
Agora quando na variável você coloca 'Sum(Venda)', sem o igual, o QlikView guarda apenas a fórmula, e quando você usa a expansão de dólar, o QV primeiro troca a variável pela fórmula e depois calcula ela.
Então, faz sentido que nos seus testes a primeira opção "Original" tenha sido mais rápida, já que há um pré-cálculo.
Dependendo de como você está criando seus objetos, o resultado também poderá ser diferente. Por exemplo em uma tabela simples com uma dimensão, a variável com '=Sum(Venda)' vai mostrar um mesmo número para todas as linhas, e a variável com 'Sum(Venda)' vai avaliar a fórmula para cada item da dimensão.
Edit: Acho que nas referências que o Pablo Labbe comentou, eles não comentam sobre a opção da variável com o sinal de igual na frente, pois conceitualmente ele dá um resultado diferente (como no meu exemplo acima).