Skip to main content
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
Partner - Specialist III
Partner - Specialist III

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