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

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
cancel
Showing results for 
Search instead for 
Did you mean: 
junior_ehlke
Creator III
Creator III

Join em Projeto

Boa tarde, faz alguns dias que não consigo chegar a uma solução.

Tenho 4 tabelas que são vinculadas por id_unidade e id_tempo, preciso unir elas, porém tentei com todos os tipos de join e as linhas ficam duplicadas.

O Cógido é o seguinte:

Venda:

load

  ApplyMap ('Depara', id_unidade) as id_unidade,

  id_tempo,

  sum(mprd_valor) as mprd_valor_vvd

  From

  $(vCaminho)\Vendadetalhe_*.qvd(qvd)

  group by id_unidade, id_tempo ;

left join

load

  ApplyMap ('Depara', id_unidade) as id_unidade,

  id_tempo,

  sum(mprd_valor) as mprd_valor_vdvd

  From

  $(vCaminho)\DevVendaDetalhe_*.qvd(qvd)

  group by id_unidade, id_tempo ;

Left Join

LOAD

  Unidade as id_unidade,

    Mês as id_tempo,

    Auditoria as auditoria

FROM

$(vCaminho)\calendarioauditoria.xlsx

(ooxml, embedded labels, table is Plan1);

Labels (1)
1 Solution

Accepted Solutions
Clever_Anjos
Support
Support

Evite usar JOIN´s quando estiver carregando vários QVD´s com $(vCaminho)\Vendadetalhe_*.qvd(qvd)

Carregue tudo para tabelas temporárias, depois faça os join

View solution in original post

10 Replies
nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Hamilton, isso pode estar ocorrendo devido ao relacionamento entre elas ser 1 para N... bom, mas ainda estamos sem muitas informações da sua situação.

Poderia, por favor, nos passar um exemplo de seus dados e nos dizer qual o resultado esperado?

junior_ehlke
Creator III
Creator III
Author

Yuri, é a continuação de um código que você mesmo me ajudou em um outro questionamento,

eu ja carrego essas 3 tabelas anteriormente e consegui resolver esse Join fazendo o seguinte:

QUALIFY *;

Venda_Logica:

LOAD

  id_unidade,

  id_tempo,

  mprd_valor_vd,

  mprd_valor_dvd

Resident FatoDetalhe;

UNQUALIFY *;

Venda_Liquida:

load

  Venda_Logica.id_unidade as id_unidade,

  Venda_Logica.id_tempo as id_tempo,

  sum(Venda_Logica.mprd_valor_vd)-sum(Venda_Logica.mprd_valor_dvd) as venda_liquida

Resident Venda_Logica

Group by Venda_Logica.id_unidade, Venda_Logica.id_tempo;

Left Join (Venda_Liquida)

LOAD

  Unidade as id_unidade,

    MêA as id_tempo,

    Auditoria as auditoria

FROM

D:\1-QLIKVIEW_DESENVOLVIMENTO\Dados_Armazenados\Dados_Apoio\calendarioauditoria.xlsx

(ooxml, embedded labels, table is Plan1);

Em todo caso, obrigado pelo seu interesse.

Acredito que eu possa excluir este tópico.

Clever_Anjos
Support
Support

Evite usar JOIN´s quando estiver carregando vários QVD´s com $(vCaminho)\Vendadetalhe_*.qvd(qvd)

Carregue tudo para tabelas temporárias, depois faça os join

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Exatamente, nessas situações o QlikView faz JOIN somente para a primeira tabela carregada

aderlanrm
Partner - Specialist
Partner - Specialist

Olá Hamilton,

Pode marcar tua resposta como correta para fechar o post, isso ajudará outras pessoa com dúvidas.

Não precisa excluir.

Abraço.

Aderlan Rodrigues
Analista, Arquiteto de Dadose e Desenvolvedor
 (41) 9 9917-0869  www.BIdeAZ.com.br  Youtube.com/bideaz  Instagram.com/bideaz.in

"Nada é tão inútil quanto fazer eficientemente o que não deveria ser feito." (Peter Drucker)
junior_ehlke
Creator III
Creator III
Author

Apenas confirmando, a forma que eu fiz acima esta correta?

Carreguei duas tabelas virtuais antes de fazer o Join, é isto mesmo,?

Estou carregando duas tabelas como Venda_Logica e faço o join na Venda_Liquida, depois eu dou um Drop da Venda_Logica.

Como falei, é continuação de uma ajuda que o Yuri Nicolett, agora consegui entender a logica e alterar o código conforme minha necessidade. Desta forma funcionou.

nicolett_yuri
Partner Ambassador/MVP
Partner Ambassador/MVP

Esta sim

Clever_Anjos
Support
Support

Se o Yuri Nicolett falou que está certo, está certo

junior_ehlke
Creator III
Creator III
Author

haha isso eu ja aprendi (Y)