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: 
Not applicable

Problemas no Left Join!

Hermanos, boa noite!

Preciso urgentemente da ajuda de vocês!!

Estou desenvolvendo um projeto para acompanhar a Rota de nossos vendedores. Temos 2 bases (apenas um exemplo):

1° base: ROTEIRO

- Data da Agenda

- Empresa

- Cod_Vendedor

- Nome_Vendedor

- Cod_Cliente

- Nome_Cliente

- Prioridade (em formato numero. Caso haja em um dia 15 clientes para visitar.)

- Volume de Vendas

2° base: BASE DE VENDAS

- Cd_Operacao

- Cd_Divisao

- Cod_Vendedor

- Nome_Vendedor

- Cod_Cliente

- Nome Cliente

- Data_de_Lanc

No relatorio final, quero apresentar Por Empresa e (ou) Vendedor e (ou) Agenda a quantidade de Clientes que este teria que atender no dia especifico, e apresentar todos os Resultados! Exemplo:

1° Tabela:

Mostra Todas os clientes da Agenda (em ordem de prioridade (ex; de 1 a 15) e quais destes foram atendidos e quais nao):

=========================

PRIOR. |  AGEND  | CLIENTE | VISITADO

1          |   2245      |      AAA  | SIM

2          |   5244      |      BBB  | SIM

3          |   2448      |     CCC   | NAO

E assim por diante (até o 15, por exemplo).

2°Tabela: Quero apresentar as vendas que ocorreram somente fora da Rota.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Para isso fiz diversos testes, mas nada que ficou 100% (sendo que todos foram cruzados por Cod_Vendedor e Data (agenda x Lanc).

- NO Left Join aparece todos visitados fora da Rota e somente os que foram visitados na Rota (Sendo que quero ver tudo. Os visitados e nao visitados tanta da tabela Rota, como o da Base).

Depois de muitos testes (Gerando QVD a parte, Criando tabelas temporárias...) acabei travando (devido a pouco tempo de experiência no QlikView).

Alguem poderia me ajudar??

Labels (1)
6 Replies
fosuzuki
Luminary
Luminary

Não entendi muito bem o problema, mas me parece que ao invés do Left Join você deveria usar um Outer Join...

Será que te ajudar?

Abraço

Fernando

Not applicable
Author

Se utilizar também apenas o relacionamento das tabelas através dos campos (com o mesmo nome) sem utilizar "Joins", não conseguea visão desejada?

Teria como disponibilizar seu modelo para que conseguissemos visualizar melhor?

Abraços

Not applicable
Author

Nao.

Ja tentamos aqui mas o Problema e que na tabela Rota o mesmo continua a travar.

Vou add. o Projeto para visualização.

Na ABA Relatorio, na Empresa (usada como Exemplo) RJN, especificamente na coluna PRIORIDADE são apresentadas os valores 13 / 19 / 21 / 22 / 23. Sendo que o correto teria que ser: 1 / 2 / 3 / 4 / ... (até o 23).

Ele apresenta somente o que cruza com o FollowUp (sendo que teria que apresentar tudo da Rota).

Grato e no Aguardo.

Not applicable
Author

Bom Dia,

O problema esta na montagem dos dados (script) para que consiga apresentar as informações da forma mencionada.

Atualmente a tabela demonstra  os valores 13/19/12/22/23 pois existem somente estes registros para o filtro selecionado. Se desejar demonstrar os valores do 1 ao 23 por exemplo, deve ser realizado um tratamento no script para que estes valores existam.

O problema é que não consigo dar executar o script para tentar te ajudar, pois temos os arquivos qvd para realizar a recarga.

Not applicable
Author

Eduardo, bom dia!

Desde já agradeço a resposta! Abaixo segue o Codigo apresentado no QVD (Que alteração você acharia necessário realizar)?:

SET ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='R$ #.##0,00;(R$ #.##0,00)';
SET TimeFormat='hh:mm:ss';
SET DateFormat='D/M/YYYY';
SET TimestampFormat='D/M/YYYY hh:mm:ss[.fff]';
SET MonthNames='jan;fev;mar;abr;mai;jun;jul;ago;set;out;nov;dez';
SET DayNames='seg;ter;qua;qui;sex;sáb;dom';

//$(Include=..\..\qlikviewincludes-Dev\includes_comercial\comercial.txt);

DivisoesComerciais:
LOAD * INLINE [
   nCdDivisaoComercial
   18
   29
   37
   22
   42
   43
   36
   39];

OperacoesComerciais:
LOAD * INLINE [
   nCdOperacaoComercial
   9
   281
   76
   92
   258
   259
   271
   272
   264];
  
FollowUp:
LOAD
     nCdOperacaoComercial,
     nCdTerceiro,
     nCdRepresentante,
     nCdRepresentante & '|' & nCdTerceiro & '|' & date (dLancamento) as Chave_Terceiro,
     nCdEmpresa,
     nCdDivisaoComercial,
     nCdProduto,
     DATE (dLancamento) AS dLancamento,
     nCdPedidoComercial,
     nPesoLiquidoEstimado,
     nPesoEmbarcado,
     nQtdePedida
        
FROM
[\\10.255.0.94\QlikViewDataFiles-Dev\Follow_UP_Completo.qvd](qvd)
WHERE dLancamento >= '01/06/2011'
AND Exists(nCdDivisaoComercial)
AND Exists(nCdOperacaoComercial);

left join

LOAD //nCdTerceiroRepresentante as nCdRepresentante,
     //nCdTerceiroCliente as nCdTerceiro,
     //date (dDataAgenda) as dLancamento,
     nCdTerceiroRepresentante & '|' & nCdTerceiroCliente & '|' & date (dDataAgenda) as Chave_Terceiro,
     nCdAgendaVendedor,
  cNmMotivoNaoVenda,
     nCdMotivoNaoVisita,
     cNmMotivoNaoVisita,
     cObservacao,
     dCancelamentoVisita,
  'SIM' as Rota,
  iPrioridade
        
FROM
[\\10.255.0.94\QlikViewDataFiles-Dev\RotaVendedores.qvd]
(qvd)
 
  WHERE dDataAgenda >= '01/06/2011';

Base_Geral_TMP:
load
     nCdOperacaoComercial,
     nCdTerceiro,
     nCdRepresentante,
     //Chave_Terceiro,
     nCdEmpresa,
     nCdDivisaoComercial,
     nCdProduto,
     DATE (dLancamento) AS dLancamento,
     nCdPedidoComercial,
     nPesoLiquidoEstimado,
     nPesoEmbarcado,
     nQtdePedida,
     iPrioridade,
     nCdAgendaVendedor,
     cNmMotivoNaoVenda,
     nCdMotivoNaoVisita,
     cNmMotivoNaoVisita,
     cObservacao,
     dCancelamentoVisita, 
     if (Rota = 'SIM', 'SIM','NÃO') as Rota
         
     resident FollowUp;
 
    drop table FollowUp;
  
  
   FollowUp:
LOAD
     nCdOperacaoComercial,
     nCdTerceiro,
     nCdRepresentante,
     nCdRepresentante & '|' & nCdTerceiro & '|' & date (dLancamento) as Chave_Terceiro,
     nCdEmpresa,
     nCdDivisaoComercial,
     nCdProduto,
     DATE (dLancamento) AS dLancamento,
     nCdPedidoComercial,
     nPesoLiquidoEstimado,
     nPesoEmbarcado,
     nQtdePedida
        
FROM
[\\10.255.0.94\QlikViewDataFiles-Dev\Follow_UP_Completo.qvd](qvd)
WHERE dLancamento >= '01/06/2011'
AND Exists(nCdDivisaoComercial)
AND Exists(nCdOperacaoComercial);


Empresa:
LOAD nCdEmpresa,
  cNmEmpresa,
     Empresa,
     nCdGrupoempresa,
     cNmGrupoEmpresa
FROM
[\\10.255.0.94\QlikViewDataFiles-Dev\DIMEmpresa.qvd]
(qvd);

CD_FABRICA:
LOAD nCdEmpresa,
     //Empresa,
     DIVISAO
FROM
[\\10.255.0.94\QlikViewDocumentos\Adm Vendas Varejo\Dados\Metas_Performance\CD.xls]
(biff, embedded labels, table is DIC_EMPRESA$);

//QUALIFY *;
//UNQUALIFY;
//LOAD nCdTerceiroRepresentante as nCdRepresentante,
//     nCdTerceiroCliente as nCdTerceiro,
//     date (dDataAgenda) as dLancamento,
//     //'SIM' as Rota,
//  nCdAgendaVendedor,
//  cNmMotivoNaoVenda,
//     nCdMotivoNaoVisita,
//     cNmMotivoNaoVisita,
//     cObservacao,
//     dCancelamentoVisita,
//  'SIM' as Rota,
//  iPrioridade
//        
// FROM
// [\\10.255.0.94\QlikViewDataFiles-Dev\RotaVendedores.qvd]
// (qvd)
// 
//  WHERE dDataAgenda >= '01/06/2011';
//
//UNQUALIFY *;

Not applicable
Author

Bom Dia,

Os arquivos que menciono são os:

[\\10.255.0.94\QlikViewDataFiles-Dev\Follow_UP_Completo.qvd]

[\\10.255.0.94\QlikViewDataFiles-Dev\RotaVendedores.qvd]

[\\10.255.0.94\QlikViewDocumentos\Adm Vendas Varejo\Dados\Metas_Performance\CD.xls]

Para que possamos verificar como as informações estão armazenadas e assim trata-las de forma a satisfazer os indicadores.

Abraços