Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
thiago_alessand
Contributor III
Contributor III

Dúvida Mapping x Join

Boa tarde,

 

Uma dúvida: o Mapping e Apply Map tem a mesma funcionalidade que o JOIN?

 

Estou analisando alguns scripts prontos, para estudo, e me deparei com este caso.

 

Poderiam passar exemplos de aplicação, e de diferença entre eles (caso exista)?

 

Obrigado

1 Solution

Accepted Solutions
danilostochi
Creator II
Creator II

Boa tarde,

O Mapping  seria um "de para" e seguido do ApplyMap você atribuiria tal instrução em seus dados.

exemplo script:

DeParaSetor:
Mapping
LOAD * Inline [
de, para
01, compras
02, faturameto
];

Funcionarios:
LOAD
ApplyMap('DeParaSetor',CodSetor) as NomeSetor,
* Inline [
idFun, CodSetor, Nome
01, 01, nome01
02, 01, nome02
03, 02, nome03
];

Screenshot_2.png

https://help.qlik.com/pt-BR/qlikview/November2018/Subsystems/Client/Content/QV_QlikView/Scripting/Sc...

 

 

 

Já o JOIN Seria algo próximo senão igual ao entendimento do banco de dados (oracle, sql server, etc)

https://help.qlik.com/pt-BR/qlikview/November2018/Subsystems/Client/Content/QV_QlikView/Scripting/Sc...

 

 

 

 

+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com

View solution in original post

3 Replies
danilostochi
Creator II
Creator II

Boa tarde,

O Mapping  seria um "de para" e seguido do ApplyMap você atribuiria tal instrução em seus dados.

exemplo script:

DeParaSetor:
Mapping
LOAD * Inline [
de, para
01, compras
02, faturameto
];

Funcionarios:
LOAD
ApplyMap('DeParaSetor',CodSetor) as NomeSetor,
* Inline [
idFun, CodSetor, Nome
01, 01, nome01
02, 01, nome02
03, 02, nome03
];

Screenshot_2.png

https://help.qlik.com/pt-BR/qlikview/November2018/Subsystems/Client/Content/QV_QlikView/Scripting/Sc...

 

 

 

Já o JOIN Seria algo próximo senão igual ao entendimento do banco de dados (oracle, sql server, etc)

https://help.qlik.com/pt-BR/qlikview/November2018/Subsystems/Client/Content/QV_QlikView/Scripting/Sc...

 

 

 

 

+55(44) 9 9993-3605, WhatsApp
E-Mail or Skype - danilo16stochi@hotmail.com
pedromsouza
Creator II
Creator II

Apenas uma observação complementar:

Join irá unir as tabelas "fisicamente", então a carga será mais lenta (a depender do volume, claro) e, caso a relação não seja de 1 para 1, você poderá multiplicar indevidamente os registros. Já o map será como uma tradução, o verdadeiro "de-para".

Todavia, se você precisa de mais de um campo, o join faz mais sentido.

Tem um artigo de um cara fantástico sobre isso aqui:

https://community.qlik.com/t5/Qlik-Design-Blog/Don-t-join-use-Applymap-instead/ba-p/1467592

Qliking since '09
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

o cara fantástico somente é o segundo funcionário da Qlik.... Smiley Very Happy

Um coisa bacana no applymap() é a opção de caso não tenha um "de-para", poder colocar um "Sem Cadastro" ou algo do gênero. Assim, o campo nunca ficaria nulo como poderia acontecer em um left join que não tenha registros.

furtado@farolbi.com.br