Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Referenciando campo de outra tabela em join

Pessoal, boa tarde!

Estou com o seguinte problema:

Em um join no script de carga necessito acessar dados de outra tabela na criação de uma fato. Exemplo: Pedido de Compras, vou exibir a quantidade pedida, e quantidade em carteira (que ainda não foi entregue).

Se não existir nota, alimento a Quantidade em Carteira. Para isso utilizo o IsNull no campo da Nota. Porem é retornado o erro 'Field not found' NOTA_PEDIDO.

Sou iniciante em Qlik e preciso acessar informações da tabela ENTRADA no Load da tabela COMPRA, é possível? Se sim, como? Segue trecho do script como exemplo:

COMPRAS_CARTEIRA:

  Load PEDIDO_NUM AS PEDIDO

  PEDIDO_EMISSAO AS EMISSAO_COMPRA,

  PEDIDO_QUANT AS QTD_COMPRA,

if(iSNull(NOTA_PEDIDO),PEDIDO_QUANT,0) AS QTD_COMPRA_CARTEIRA // Quantidade dos itens que estão em carteira, ainda não foram entregues

From [LIB://QLIKSENSE/E_COMPRA.QVD] (qvd);

Left Join

  Load NOTA_PEDIDO AS PEDIDO,

From [LIB://QLIKSENSE/E_ENTRADA.QVD] (qvd)

;

Conto com a colaboração de vocês.

Desde já, grato.

Att,

  Wanderley R. Neto

Labels (1)
1 Solution

Accepted Solutions
sunny_talwar

May be try this:

TEMP:

  Load PEDIDO_NUM AS PEDIDO

  PEDIDO_EMISSAO AS EMISSAO_COMPRA,

  PEDIDO_QUANT AS QTD_COMPRA

From [LIB://QLIKSENSE/E_COMPRA.QVD] (qvd);

Left Join (TEMP)

  Load NOTA_PEDIDO AS PEDIDO,

From [LIB://QLIKSENSE/E_ENTRADA.QVD] (qvd);

COMPRAS_CARTEIRA:

LOAD PEDIDO,

    EMISSAO_COMPRA,

    QTD_COMPRA,

    if(iSNull(NOTA_PEDIDO),PEDIDO_QUANT,0) AS QTD_COMPRA_CARTEIRA // Quantidade dos itens que estão em carteira, ainda não foram entregues

Resident TEMP;

DROP Table Temp;

View solution in original post

2 Replies
sunny_talwar

May be try this:

TEMP:

  Load PEDIDO_NUM AS PEDIDO

  PEDIDO_EMISSAO AS EMISSAO_COMPRA,

  PEDIDO_QUANT AS QTD_COMPRA

From [LIB://QLIKSENSE/E_COMPRA.QVD] (qvd);

Left Join (TEMP)

  Load NOTA_PEDIDO AS PEDIDO,

From [LIB://QLIKSENSE/E_ENTRADA.QVD] (qvd);

COMPRAS_CARTEIRA:

LOAD PEDIDO,

    EMISSAO_COMPRA,

    QTD_COMPRA,

    if(iSNull(NOTA_PEDIDO),PEDIDO_QUANT,0) AS QTD_COMPRA_CARTEIRA // Quantidade dos itens que estão em carteira, ainda não foram entregues

Resident TEMP;

DROP Table Temp;

Not applicable
Author

Absolutely!


Thaks for help!


Att,

Wanderley R. Neto