Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
andre_tonini
Contributor 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

Tags (1)
1 Solution

Accepted Solutions

Re: Ligação Tabela do Sistema com Excel

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';

5 Replies
viniciusroteli
New Contributor III

Re: Ligação Tabela do Sistema com Excel

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.

Re: Ligação Tabela do Sistema com Excel

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';

Re: Ligação Tabela do Sistema com Excel

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

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

andre_tonini
Contributor II

Re: Ligação Tabela do Sistema com Excel

Yuri,

  Bom dia, excelente!! deu certo muito obrigado.

abraço

André Tonini

andre_tonini
Contributor II

Re: Ligação Tabela do Sistema com Excel

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