Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Junção de tabelas (5 tabelas)


Prezados.


Eu preciso juntar tabelas que estão disponíveis todas numa mesma planilha do Excel (são sheets diferentes) e em cada uma delas tenho alguns campos que são considerados campos que deveriam ser concatenados a fim de ter uma chave composta a ser utilizada nessa junção.

Fazendo a primeira atividade que é o mapeamento da fonte de dados, a marcação dos campos que vou importar em cada uma das tabelas e gerando o script, tenho o script que posto à seguir:

Ocorre que no momento da importação eu preciso já criar esse "campo chave" em cada uma dessas tabelas e concatená-las a partir desse campos chave criado aqui no script....

Os campos comuns em todas as tabelas são "

Campos que serão concatenados nos campos "Chave"
"DEPTOS"
"AGRUPADOR"
"TIPO_ACESSO"
"SIGLA_DO_PERFIL_COMPOSTO"
"DESCRIÇÃO_DO_PERFIL_COMPOSTO"

A minha idéia é então, a partir desse campos, criar um campo único, que será denominado na primeira tabela como CHAVE_JOB, na segunda como CHAVE_CARGO na terceira como CHAVE_PERFIS, na quarta como CHAVE_CCUSTO e na última como CHAVE_LICENC (Só não sei como fazer isso kkkkk).

Depois de criado esse campo, pretendo então, concatenar as tabelas a partir do mesmo.


Esse é o script que gerei a partir do mapeamento da fonte de dados e para possibilitar uma ajuda mais eficaz por parte de vocês que conhecem o Qlik Sense mais do que eu, anexei a planilha com uma amostra com pelo menos um registro de cada tabela (com suas respectivas correspondências).

Poderiam me ajudar na tratativa desse script para que o JOIN dessas tabelas fosse possível?

Outra dúvida, eu só consigo fazer isso a partir da manipulação do script ou tem outro formato mais visual de fazer esses JOINs ?

Obrigado!

SET ThousandSep='.';

SET DecimalSep=',';

SET MoneyThousandSep='.';

SET MoneyDecimalSep=',';

SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';

SET TimeFormat='hh:mm:ss';

SET DateFormat='DD/MM/YYYY';

SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';

SET FirstWeekDay=6;

SET BrokenWeeks=1;

SET ReferenceDay=0;

SET FirstMonthOfYear=1;

SET CollationLocale='pt-BR';

SET CreateSearchIndexOnReload=1;

SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';

SET LongMonthNames='janeiro;fevereiro;março;abril;maio;junho;julho;agosto;setembro;outubro;novembro;dezembro';

SET DayNames='seg;ter;qua;qui;sex;sáb;dom';

SET LongDayNames='segunda-feira;terça-feira;quarta-feira;quinta-feira;sexta-feira;sábado;domingo';

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is JOBs);

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_CARGO,

    DESCRIÇÃO_DO_CARGO,

    LISTA_SOL

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X CARGOS]);

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    PERFIL_FILHO,

    DESCRIÇÃO_DO_PERFIL_FILHO,

    ATIVO?,

    DATA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X PERFIS]);

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_C_CUSTO,

    DESCRIÇÃO_C_CUSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is [JOB X CCUSTO]);

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    COD_TIPO_LICENÇA,

    DESC_TIPO_LICENÇA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 6 lines, table is [JOB X TIPO LICENÇA]);


1 Solution

Accepted Solutions
Employee
Employee

Re: Junção de tabelas (5 tabelas)

Um possível solução simples é

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is JOBs);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_CARGO,

    DESCRIÇÃO_DO_CARGO,

    LISTA_SOL

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X CARGOS]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    PERFIL_FILHO,

    DESCRIÇÃO_DO_PERFIL_FILHO,

    ATIVO?,

    DATA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X PERFIS]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_C_CUSTO,

    DESCRIÇÃO_C_CUSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is [JOB X CCUSTO]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    COD_TIPO_LICENÇA,

    DESC_TIPO_LICENÇA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 6 lines, table is [JOB X TIPO LICENÇA]);

3 Replies
Employee
Employee

Re: Junção de tabelas (5 tabelas)

Um possível solução simples é

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is JOBs);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_CARGO,

    DESCRIÇÃO_DO_CARGO,

    LISTA_SOL

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X CARGOS]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    PERFIL_FILHO,

    DESCRIÇÃO_DO_PERFIL_FILHO,

    ATIVO?,

    DATA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 4 lines, table is [JOB X PERFIS]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    SIGLA_C_CUSTO,

    DESCRIÇÃO_C_CUSTO

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 3 lines, table is [JOB X CCUSTO]);

OUTER JOIN 

LOAD

    DEPTOS,

    AGRUPADOR,

    TIPO_ACESSO,

    SIGLA_DO_PERFIL_COMPOSTO,

    DESCRIÇÃO_DO_PERFIL_COMPOSTO,

    COD_TIPO_LICENÇA,

    DESC_TIPO_LICENÇA

FROM [lib://Base_JOBs/Base de JOBs.xlsx]

(ooxml, embedded labels, header is 6 lines, table is [JOB X TIPO LICENÇA]);

Not applicable

Re: Junção de tabelas (5 tabelas)

Clever,

Muito obrigado pelo apoio, o resultado foi exatamente o que eu esperava.

Acredito que com essa opção será possível aplicar esse conceito em diveros dashboards que estou montando, que tem essa característica e necessidade.

Obrigado!

Employee
Employee

Re: Junção de tabelas (5 tabelas)

Disponha, mantenha contato!