Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Ribeiro
Specialist
Specialist

Dica de Relacionamento(Boas Praticas)

Bom dia,

Eu tinha criado vários consultas dentro do postgres.

Mas o pessoal de programação, disse para não mexer no banco de dados(risos).

Então começei a fazer todas as tabelas que uso direto pelo Qlikview.

Os valores estão batendo. O unico problema é que está gerando até $Syn 8.

Tiver que usar em todas as tabelas a função

AutoNumber(Text(mlid)) as p_recebimento,

    AutoNumber(Text(produto)) as p_produto,

    AutoNumber(Text(vendedor)) as p_vendedor,

    AutoNumber(Text(empresa)) as p_empresa,

    AutoNumber(Text(grid)) as p_lancto,

    AutoNumber(Text(deposito)) as p_deposito,

    AutoNumber(Text(grid)) as p_abastecimento,

    AutoNumber(Text(bico)) as p_bico,

Pois o Postgres, estava gerando chaves primárias com até 20 caracteres.

Pergunta, isso está errado?

Eu consigo melhorar?

Alguma dica para eu tentar melhorar este relacionamentos, segue o script.

2016-04-19_10-54-25.png

Let v_data = '2015-04-01' ;

Let v_dataf = '2016-12-01';

ODBC CONNECT32 TO fragata1;

//SQL select check_estoque_f();

CNX:

LOAD

empresa_nome ,

empresa_codigo ;       

SQL SELECT *

FROM fragata."public"."empresa_local";

store CNX into C:\postos\qvd\CNX.qvd(qvd);

Informacao_A_Ser_Verificada:

LOAD * INLINE [

    CampoDigitado

    MATRIZ FRAGATA

];

Informacao_Do_Banco:

SQL SELECT

  empresa_nome

FROM fragata."public"."empresa_local";

IF FieldValue('CampoDigitado',1) = FieldValue('empresa_nome',1) THEN

  TRACE Carrega a tabela!;

  Liberacao:

  LOAD

    empresa_nome ;  

  SQL SELECT *

  FROM fragata."public"."empresa_local";

////************************************************************************

LET vHoje = Today();

LET vVencimento = Date(Today()-30, 'DD/MM/YYYY');

LET vDateMin=num(makedate(2015,01,01));

LET vDateMax=floor(monthend(today()));

LET vDateToday = num(today());

////************************************************************************

CLD:

LOAD

Distinct

Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY') AS CalendarDate,

ceil(Month(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY'))/3) & 'Trim' as Trimestre,

month(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY')) AS Mês,

WeekDay(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY')) AS Semana,

Day(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY')) AS Dia,

year(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY')) AS Ano,

monthname(Date($(vDateMin) + RowNo() - 1,'DD-MMM-YYYY')) AS MesAno

AutoGenerate 1 While $(vDateMin) + IterNo() - 1 <=$(vDateMax);

store CLD into C:\postos\qvd\CLD.qvd(qvd);

////************************************************************************

PES:

//Vendedor_Pessoa

LOAD codigo as codigovendedor,

    nome as nomevendedor,

    AutoNumber(Text(grid)) as p_vendedor, 

    AutoNumber(Text(cargo)) as p_cargo,

     SubField(nome,' ',1) as Apelido,

    grid as nrcodigovendedor;  

SQL SELECT *

FROM fragata."public".pessoa;

store PES into C:\postos\qvd\PES.qvd(qvd);

////************************************************************************

VND:

//Vendas_lancto

LOAD data,

    turno,

    hora,

    seq,

    produto,

    operacao,

    AutoNumber(Text(mlid)) as p_recebimento,

    AutoNumber(Text(produto)) as p_produto,

    AutoNumber(Text(vendedor)) as p_vendedor,

    AutoNumber(Text(empresa)) as p_empresa,

    AutoNumber(Text(grid)) as p_lancto,

    AutoNumber(Text(deposito)) as p_deposito,

    AutoNumber(Text(grid)) as p_abastecimento,

    AutoNumber(Text(bico)) as p_bico,

    abastecimento as nrabastecimento,

    bico,

    quantidade,

    Date(Floor(data),'DD/MM/YYYY')     as     CalendarDate,

    pessoa,

    documento, 

    "preco_unit",

    valor,

    vendedor,

    abastecimento,

    usuario,

    empresa,

    mlid,

    grid as gridvnd;  

SQL SELECT *

FROM fragata."public".lancto

WHERE data>= '$(v_data)' and data <='$(v_dataf)';

store VND into C:\postos\qvd\VND.qvd(qvd);

////************************************************************************

EMP:

//Empresa

LOAD codigo AS codigofilial,

  nome AS nomeempresa,

  AutoNumber(Text(grid)) as p_empresa,

  grid as gridemp;

       SQL SELECT *

FROM fragata."public".empresa;

store EMP into C:\postos\qvd\EMP.qvd(qvd);

////************************************************************************

LCT:

LOAD lancto,

     AutoNumber(Text(lancto)) as p_lancto,

     AutoNumber(Text(empresa)) as p_empresa,

     AutoNumber(Text(produto)) as p_produto,

    data,  

    "custo_medio",

    "ult_custo";   

SQL SELECT *

FROM fragata."public"."estoque_lancto"

WHERE data>= '$(v_data)' and data <='$(v_dataf)';

store LCT into C:\postos\qvd\LCT.qvd(qvd);

////*************************************************

PRD:

LOAD codigo as codigoproduto,   

    nome as nomeproduto,

    grupo,

    subgrupo,

    "unid_med",   

    comissao,

    AutoNumber(Text(grupo)) as p_grupo,

    AutoNumber(Text(grid)) as p_produto, 

    grid as gridprd;

SQL SELECT *

FROM fragata."public".produto;

store PRD into C:\postos\qvd\PRD.qvd(qvd);

////*************************************************

GRP:

LOAD codigo as codigogrupo,

    nome as nomegrupo,

    AutoNumber(Text(grid)) as p_grupo,

    grid as gridgrp;

  

SQL SELECT *

FROM fragata."public"."grupo_produto";

store GRP into C:\postos\qvd\GRP.qvd(qvd);

////*************************************************

DEP:

LOAD codigo as codigodeposito,

    nome as nomedeposito,

    capacidade,

    AutoNumber(Text(grid)) as p_deposito,

    grid as griddpt;

   

SQL SELECT *

FROM fragata."public".deposito;

store DEP into C:\postos\qvd\DEP.qvd(qvd);

////*************************************************

ABT:

LOAD grid,

    AutoNumber(Text(grid)) as p_abastecimento,

    quantidade AS quantidadeabast,

    valor AS valorabast,

    Date(Floor(dia_fiscal),'DD/MM/YYYY')     as     dia_fiscal,

    operacao,

    codigo AS abastecimento;

 

SQL SELECT *

FROM fragata."public"."abastecimento_fiscal"

WHERE dia_fiscal>= '$(v_data)' and dia_fiscal <='$(v_dataf)';

store ABT into C:\postos\qvd\ABT.qvd(qvd);

////*************************************************

RCB:

LOAD

    data as datarecebidas,

   

  

    AutoNumber(Text(forma_pgto)) as p_formapgto,

    AutoNumber(Text(mlid)) as p_recebimento,

    "forma_pgto",

    "valor_venda_rateio",

    "valor_venda",

    "valor_forma_pgto",

    "total_forma_pgto",

    troco,

    pgto,

    "conta_debitar";

SQL SELECT *

FROM fragata."public"."venda_pgto_view"

WHERE data>= '$(v_data)' and data <='$(v_dataf)';

store RCB into C:\postos\qvd\RCB.qvd(qvd);

////*************************************************

PGT:

LOAD codigo as codigoformapgto,

    nome as nomeformapgto,

    grid as gridpgt,

    AutoNumber(Text(grid)) as p_formapgto;

   

SQL SELECT *

FROM fragata."public"."forma_pgto";

store PGT into C:\postos\qvd\PGT.qvd(qvd);

////*************************************************

CRG:

LOAD codigo as codigocargo,

    nome as nomecargo,

    AutoNumber(Text(grid)) as p_cargo,

    grid as gridcrg;

SQL SELECT *

FROM fragata."public".cargo;

store CRG into C:\postos\qvd\CRG.qvd(qvd);

//-------- Start Multiple Select Statements ------

LOAD  data as dataestoque,

     AutoNumber(Text(produto)) as p_produto,

    AutoNumber(Text(empresa)) as p_empresa,

    estoque,

    custo_medio as medioestoquex,

    ult_custo;

   

   

   

SQL SELECT *

FROM fragata."public"."estoque_produto";

TRACE NÃO VAI CARREGAR NADA!;

END IF

DROP TABLE Informacao_A_Ser_Verificada, Informacao_Do_Banco;

Neves
1 Solution

Accepted Solutions
Ribeiro
Specialist
Specialist
Author

Vir coisas repetidas e consertei

LCT:

LOAD lancto,

     AutoNumber(Text(lancto)) as p_lancto,

     AutoNumber(Text(empresa)) as p_empresa,

     AutoNumber(Text(produto)) as p_produto,

    data as datalancto,  

    "custo_medio",

    "ult_custo";   

SQL SELECT *

FROM fragata."public"."estoque_lancto"

WHERE data>= '$(v_data)' and data <='$(v_dataf)';

store LCT into C:\postos\qvd\LCT.qvd(qvd);

EST:

LOAD  data as dataestoque,

     AutoNumber(Text(produto)) as p_produto,

    AutoNumber(Text(empresa)) as p_empresa,

    estoque,

    custo_medio as medioestoquex,

    ult_custo as ult_custoestoquex;

   

   

   

SQL SELECT *

FROM fragata."public"."estoque_produto";

Neves

View solution in original post

1 Reply
Ribeiro
Specialist
Specialist
Author

Vir coisas repetidas e consertei

LCT:

LOAD lancto,

     AutoNumber(Text(lancto)) as p_lancto,

     AutoNumber(Text(empresa)) as p_empresa,

     AutoNumber(Text(produto)) as p_produto,

    data as datalancto,  

    "custo_medio",

    "ult_custo";   

SQL SELECT *

FROM fragata."public"."estoque_lancto"

WHERE data>= '$(v_data)' and data <='$(v_dataf)';

store LCT into C:\postos\qvd\LCT.qvd(qvd);

EST:

LOAD  data as dataestoque,

     AutoNumber(Text(produto)) as p_produto,

    AutoNumber(Text(empresa)) as p_empresa,

    estoque,

    custo_medio as medioestoquex,

    ult_custo as ult_custoestoquex;

   

   

   

SQL SELECT *

FROM fragata."public"."estoque_produto";

Neves