Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Tenho uma aplicação qvw que seu tamanho é cerca de 7MB.
A disposição de tabelas do meu arquivo é a seguinte:
Porém, por uma necessidade da aplicação, estou fazendo (ao final do script), um left join da tabela Info_Tarefas à tabela Frota_Aeronaves, para poder utilizar um campo concatenado entre 2 campos que estão na tabela à esquerda, e 1 campo que está na tabela à direita.
Ao simplesmente fazer este left join, a minha aplicação cresce de tamanho de forma absurda, já utilizei o NoConcatenate para me certificar de que o Qlik não esteja mantendo a tabela Frota_Aeronaves no script, porém não sei o que pode estar acontecendo.
Estão sendo carregadas 12 milhões de linhas na minha nova tabela final, e meu arquivo, apenas com esse trecho de código da foto, passa de 7MB para 133MB...
Alguém tem alguma ideia do que pode estar acontecendo?
Obrigado e um abraço a todos!
Vi seu post na area em ingles, conseguiram resolver seu problema?
Uma solução de contorno já que você precisa apenas de um campo é gerar um mapa e quando estiver fazendo a carga da tabela fato usar o Appymap()
Eduardo, ainda estou tentando resolver, mas já consegui evoluir... Identifiquei o problema e estou tentando aplicar uma solução paleativa.
A princípio estou fazendo a contagem desse campo concatenado PN+Modelo&Tarefa+S/N apenas no front-end da aplicação através de uma expressão..
Existe o problema de que eu preciso contar apenas os registros que os PNs são não nulos, e não consegui fazer a condicional dentro da expressão.
Sendo assim utilizei a condicional dentro da dimensão do gráfico, não sei se é a maneira propriada de fazê-lo.
Clever obrigado pela sugestão, irei dar uma olhada em como gerar o mapa e fazer a utilização do applymap!
o Mapping é como um De->Para, bem trnaquilo de usar.
Esse é um exemplo que eu to usando:
ChrMap:
MAPPING
LOAD * INLINE [
From,To
á,a
â,a
ã,a
é,e
ê,e
í,i
ó,o
ô,o
õ,o
ú,u
Á,A
Â,A
Ã,A
É,E
Ê,E
Í,I
Ó,O
Ô,O
Õ,O
Ú,U
ç,c
Ç,C
];
Load
CATEGORY_ID,
mapsubstring('ChrMap', CATEGORY_VALUE) AS CATEGORY_VALUE
Resident STORAGE_TYPE;
Troca Left Join() por Left Keep()
A app fica grande por que o resultado do join gera 10 x mais linhas do que você tem nas tabelas originais. Pelo visto você tem uma relação N x N entre elas.
Verifique os campos de ligação entre as tabelas, pois acredito que esteja faltando campos nesse join.