Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
mestredigital
Contributor
Contributor

Loading into multiples qlikSense tables keep only the first one

Hi Guys.

Executing the following script makes QlikSense keep only the fist table. What I'm doing wrong?

See attachments.

[DescontosAtivosItem]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 0;

[DescontosAtivosPromoProd]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 1;

[DescontosAtivosPromo]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 2;

[DescontosAtivosProdCli]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 3;

[DescontosAtivosCli]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 4;

[DescontosAtivosCanal]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 5;

[DescontosAtivosClientePromo]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 6;

LOAD LOG:

Connected

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 829.832

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 883.381

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 883.381

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 932.640

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 1.021.923

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 1.021.923

DescontosAtivosItem << VW_DESCONTOS

Lines fetched: 1.025.203

1 Reply
juraj_misina
Luminary Alumni
Luminary Alumni

Hi Marcelo,

Those tables obviously have exactly identical structure. In such case Qlik automatically concatenates tables with identical structure into one. So you have all the data, but in a single table. You can prevent this behaviour with noconcatenate prefix:

[DescontosAtivosItem]:

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 0;

[DescontosAtivosPromoProd]:

NoConcatenate

Load *;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 1;

etc.

BUT, in your case I would not do that, because you would end up with a huge synthetic key, which is bad. Instead, I'd add one field to identify source table, so that you can use that field as a filter and in set analysis.

[DescontosAtivosItem]:

Load *, 'DescontosAtivosItem' as SourceTable;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 0;

[DescontosAtivosPromoProd]:

Load *, 'DescontosAtivosPromoProd' as SourceTable;

SQL Select * FROM dbo.VW_DESCONTOS WHERE Ativo = 'S' AND TipoDescontoId = 1;

etc.

Hope this helps.

Juraj