Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
junior_ehlke
Creator III
Creator III

Gráfico Não Aparece na WEB

Boa tarde,

ha uma situação que estou ficando estressado em tentar testar,

tenho um projeto de analise de produtos onde a tabela de apenas 1 mes possui 8 Milhões de  registros, tenho um gráfico do tipo Tabela Dinâmica com as dimensões de Produtos, Unidades e um ValueList com alguns dados.

Ele demora alguns segundos a cada seleção e carrega, agora na WEB ele fica em branco..

Ele nem tenta processar. Existe alguma forma de trabalhar em uma tabela, uma quantidade grande de dados?

OBS: Os dados exibidos são de uma tabela teste.

Labels (5)
23 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Hamilton, bom dia.

Eu normalmente reduzo o tempo padrão de 60 segundos para que caso algum objeto necessite mais tempo, possa ser feito um trabalho nele para não inviabilizar o server (imagina 2 ou 3 usuários abrindo um objeto que consuma muita RAM....pode colocar o server como não respondendo....)

2015-08-13 10_21_18-QlikView Management Console.png

Comecei a fazer isto e ao mesmo tempo usar as condicionais mencionadas pelo nicolett.yuri‌ depois que um cliente estava com o server volta e meia com o uso de RAM e CPU no teto....

Eu tenho por premissa que a resposta tem que ser em sub-segundo, mas nada nunca pode levar mais do que alguns segundos. Se algo for muito pesado, adoto os filtros / condicionais para agilizar.


Sobre o erro de aparecer o gráfico na web, não pode ser versão de desenvolvimento e a versão server diferente e esta acontecendo o que esta no link abaixo.

Using SR11 “SilentErrorInChart” Switch | Qlikview Cookbook

furtado@farolbi.com.br
nicolett_yuri

Hamilton, com o ValueList você já perde bastante da performance de cálculo de seu gráfico. A melhor prática nesse caso é criar uma tabela isolada de seu modelo (data island) com com as strings que precisa, por exemplo:

TIPO_EXPRESSAO:

LOAD

  dual('PM',1) as %Tipo

AutoGenerate(1);

CONCATENATE

LOAD

  dual('PD',2) as %Tipo

AutoGenerate(1);

CONCATENATE

LOAD

  dual('RD',3) as %Tipo

AutoGenerate(1);

/* Depois você pode, se quiser, melhorar esse código para montar o %Tipo */

Em seu gráfico, utilize o %Tipo na dimensão e a expressão deve conter:

Pick(%Tipo,

  Num(SUM(QTDE), '#.##0,00'),

  Num(( SUM(QTDE) * DIAS_UTEIS_MES ) / DIAS_UTEIS, '#.##0,00'),

  Num(SUM(QTDE), '#.##0,00')

)

OBS: o Pick vai respeitar a ordenação, ou seja, a primeira expressão se refere ao PM, a segunda ao PD e a terceira ao RD.

Fazendo dessa forma você já vai melhorar bastante a performance de seu gráfico.

Em relação a quantidade de linhas, você consegue criar apenas condicionais para que o gráfico seja, ou não, calculado. Em relação ao número de linhas, provavelmente você deve Contar o número de produtos, por exemplo: if( Count(Cod_Produto)>500,0,1) --- Assim ele só exibe o gráfico caso tenha até 500 produtos, ou seja, 500 linhas.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Yuri, lembrando que o QlikView não é "short circuiting", então todas as expressões serão resolvidas e apresentada a correta.

Segue um post que fala sobre isto.

help - performance improvements

2015-08-13 11_01_20-help - performance improvements _ Qlik Community.png

furtado@farolbi.com.br
nicolett_yuri

Sim sim, a vantagem é a não utilização de uma dimensão calculada.

junior_ehlke
Creator III
Creator III
Author

Alessandro, o problema não é aparecer nulo, o problema que o gráfico não carrega os dados, selecionando UMA loja ele aparece os produtos, agora quando eu seleciono outras, ele "trava" na quela loja. Veja a imagem abaixo, deveria aparecer várias lojas, mas travou na primeira seleção.

Yuri, fiz a questão dos gráficos e do Count, acredite se quiser, não resolveu.

Se eu mandar exportar o gráfico para o excel, exporta normalmente, mas não exibe na tela.

Sem título.png

Tentei com outro tipo de gráfico, de tabela, a mesma coisa da errada. Se eu seleciono poucos produtos ele aparece, caso contrário ele nem calcula. Não fica calculando como seria o normal, ele apenas "desiste"

junior_ehlke
Creator III
Creator III
Author

ACHEI O ERRO, porém não entendi.

Existem algumas expressões da qual eu coloquei ONLY(bloqueado), Only(situacao) para aparecer os dados do produto, ao comentar essas expressões, aparece os valores normalmente, independente de quantos registros.

Pode ser isto mesmo?

nicolett_yuri

Estraho...

o ONLY vai retornar o valor ou descrição da coluna caso este resultado seja único para a dimensão avaliada, caso contrário retorna Null.

junior_ehlke
Creator III
Creator III
Author

Yuri, você tem razão, me equivoquei. Fiz vários testes e fiquei feliz quando pareceu funcionar, mas não hehe. Acredito que tenha achado outro problema. Imagine que o diretor da empresa ele quer as informações em 2 níveis na mesma tela, ele quer ter a visão dos produtos por loja, e os grupos por loja, quando ele arrastar a tela para o lado ele quer que fique uma coluna em baixo da outra

  

Sem título.png

Como temos mais de 20 lojas, o gráfico cria a barra horizontal, então eu deixei a tela em 25% e arrastei o gráfico todo para o lado, então voltei para 100%. Resultado, o gráfico perdeu o slidebar e a barra ficou na tela do projeto, ao correr para o lado, os dois gráficos andam juntos.

Sem título2.png

Fiz os testes com o gráfico do tamanho normal e ele funcionou. Acredito que esse possa ser o problema de não aparecer nada, o gráfico por algum motivo não pode ser tão grande. Agora eu pergunto, caso seja isso, como vou fazer para dois gráficos com informações diferentes andarem juntos para que as lojas fiquem uma em baixo da oura?

nicolett_yuri

Hamilton, se for objetos diferentes eles não vão rodar juntos...

Eu já vi uma solução com o Objeto Deslizador, mas acho que é muita gambiarra

Vou ver se encontro e te envio (foi aqui no grupo Brasil mesmo)

nicolett_yuri

Procurei e procurei, mas ainda não encontrei....