Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
andre_tonini
Creator II
Creator II

Ligação Tabela do Sistema com Excel

Pessoal,

         Estou com uma dúvida, em como fazer uma ligação entre dados do sistema com uma tabela do Excel, ou seja:

1) Mensalmente faço a extração dos dados de vendas do banco de dados do ERP, para saber o valor e para qual cliente vendemos.

2) Mensalmente recebemos um arquivo em Excel com dados de emplacamentos realizados no Brasil para saber quem adquiriu tais produtos.

Problema:

Preciso fazer um cruzamento entre essas duas base de dados e que em uma coluna me diga se é cliente SIM ou NÃO, conforme ilustração abaixo:

999999.jpg

A lógica seria a seguinte, verificar na tabela NOTAS_VENDAS todos os NTV_CLI_CODIGO e confrontar se na tabela do Excel tem o mesmo código de cliente CLI_CODIGO (NTV_CLI_CODIGO = CLI_CODIGO), caso seja igual então na coluna 'É Cliente?' = SIM caso contrário NÃO.

SET ThousandSep='.';

SET DecimalSep=',';

SET MoneyThousandSep='.';

SET MoneyDecimalSep=',';

SET MoneyFormat='R$ #.##0,00;-R$ #.##0,00';

SET TimeFormat='hh:mm:ss';

SET DateFormat='DD/MM/YYYY';

SET TimestampFormat='DD/MM/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';

ODBC CONNECT TO BI;

// ------- Notas de Vendas ------ //     

SQL SELECT

  NTV_CLI_CODIGO AS CLI_CODIGO, //(Esse campo faço a ligação a tabela abaixo)

  NTV_NUMERO,

  NTV_DATA,

  NTV_VALORLIQUIDO

FROM NOTAS_VENDAS WHERE NTV_DATA > '30.09.2015';

// ------- Banco de Dados de Emplacamentos ------ //

LOAD

     PLACA,

     FABRICANTE,

     CLI_CODIGO

FROM

(ooxml, embedded labels, table is Plan1);




Desde já agradeço.


att,


André Tonini

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

André, faça por ApplyMap. Ficaria mais ou menos assim:

Banco_Emplacamento:

Mapping LOAD

     CLI_CODIGO,

      'SIM' as FLG_CLIENTE

FROM (ooxml, embedded labels, table is Plan1);



ODBC CONNECT TO BI;


// ------- Notas de Vendas ------ //    

Base:

LOAD

      *,

      ApplyMap('Banco_Emplacamento', NTV_CLI_CODIGO, 'NÃO') as FLG_CLIENTE;

SQL SELECT

  NTV_CLI_CODIGO AS CLI_CODIGO, //(Esse campo faço a ligação a tabela abaixo)

  NTV_NUMERO,

  NTV_DATA,

  NTV_VALORLIQUIDO

FROM NOTAS_VENDAS WHERE NTV_DATA > '30.09.2015';

View solution in original post

5 Replies
viniciusroteli
Contributor III
Contributor III

André,

Você criar um Campo fixo no load da tabela Excel, ou na extração do BD.

LOAD

     PLACA,

     FABRICANTE,

     CLI_CODIGO,

     'S' AS FLAG

FROM

(ooxml, embedded labels, table is Plan1);

Depois você teria duas opções na dimensão ou na expressão de uma tabela.

Na Dimensão calculada voc~e colocaria

=if(flag='S','SIM','NÃO') e colocaria o rótulo “CLIENTE”

Ou faça  a mesma coisa na expressão na definição dela coloque

=if(flag='S','SIM','NÃO') e colocaria o rótulo “CLIENTE”   o Flag seria ‘S’  pra todos registros do excel, precisa ver se antende o flag pode ser também na sua tabela principal que deve ser a do BD, faça o teste e se tiver alguma dúvida me avise.

nicolett_yuri

André, faça por ApplyMap. Ficaria mais ou menos assim:

Banco_Emplacamento:

Mapping LOAD

     CLI_CODIGO,

      'SIM' as FLG_CLIENTE

FROM (ooxml, embedded labels, table is Plan1);



ODBC CONNECT TO BI;


// ------- Notas de Vendas ------ //    

Base:

LOAD

      *,

      ApplyMap('Banco_Emplacamento', NTV_CLI_CODIGO, 'NÃO') as FLG_CLIENTE;

SQL SELECT

  NTV_CLI_CODIGO AS CLI_CODIGO, //(Esse campo faço a ligação a tabela abaixo)

  NTV_NUMERO,

  NTV_DATA,

  NTV_VALORLIQUIDO

FROM NOTAS_VENDAS WHERE NTV_DATA > '30.09.2015';

nicolett_yuri

Apenas corrigindo a linha do ApplyMap (ja que o campo foi renomeado)

ApplyMap('Banco_Emplacamento', CLI_CODIGO, 'NÃO') as FLG_CLIENTE;

andre_tonini
Creator II
Creator II
Author

Yuri,

  Bom dia, excelente!! deu certo muito obrigado.

abraço

André Tonini

andre_tonini
Creator II
Creator II
Author

Vinicius,

        Show de bola fiz pelo seu processo e deu certo também, criando esse critério no LOAD já me deu uma luz pra outras situações que venho enfrentando!

       Obrigado.

att,

André Tonini