Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
junior_ehlke
Contributor 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);

Tags (1)
1 Solution

Accepted Solutions
Employee
Employee

Re: Join em Projeto

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

10 Replies

Re: Join em Projeto

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
Contributor III

Re: Join em Projeto

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.

Employee
Employee

Re: Join em Projeto

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

Re: Join em Projeto

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

aderlanrm
Valued Contributor

Re: Join em Projeto

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.

junior_ehlke
Contributor III

Re: Join em Projeto

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.

Re: Join em Projeto

Esta sim

Employee
Employee

Re: Join em Projeto

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

junior_ehlke
Contributor III

Re: Join em Projeto

haha isso eu ja aprendi (Y)