Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
paulinhok14
Creator
Creator

Arquivo cresce muito ao unir tabelas

Pessoal bom dia,

Tenho uma aplicação qvw que seu tamanho é cerca de 7MB.

A disposição de tabelas do meu arquivo é a seguinte:

tabelas_antes.png

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...

o que acontece.png

Alguém tem alguma ideia do que pode estar acontecendo?

Obrigado e um abraço a todos!

Labels (3)
7 Replies
eduardo_dimperio
Specialist II
Specialist II

Vi seu post na area em ingles, conseguiram resolver seu problema?

Clever_Anjos
Employee
Employee

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()

paulinhok14
Creator
Creator
Author

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.

paulinhok14
Creator
Creator
Author

Clever obrigado pela sugestão, irei dar uma olhada em como gerar o mapa e fazer a utilização do applymap!

eduardo_dimperio
Specialist II
Specialist II

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;

eduardo_dimperio
Specialist II
Specialist II

Troca Left Join() por Left Keep()

pablolabbe
Luminary Alumni
Luminary Alumni

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.