Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
mario_ti
Creator
Creator

Calcular valor baseado em campos de tabelas diferentes

Pessoal,

Boa Tarde

Imaginem a estrutura:

PRODUTO:

LOAD * INLINE [

    PRODUTO, DIAS_ENTREGA  

    A, 10

    B, 15

    C, 20

    D, 25

];

Join

PEDIDO:

LOAD * INLINE [

    PEDIDO, DATA_PEDIDO  

    12, 57100

    13, 57110

    14, 57120

    15, 57130

];

Join

DETALHE_PEDIDO:

LOAD * INLINE [

    PEDIDO, PRODUTO, QTDE  

    12, A, 10

    12, B, 5

    13, C, 8

    14, D, 8

    15, D, 10

];

PROCESSADO:

LOAD

*,

DIAS_ENTREGADATA_PEDIDO as NOVA_DATA

Resident PRODUTO;

Pois bem, dessa forma funcionou, porem ao colocar em produção .. não deu certo .. a qtde de Pedidos X Itens é de mais .. acho q estoura memoria .. pois da um erro sem mensagem depois de 2hs de processamento.

Alguém teria uma ideia para eu realizar o calculo NOVA_DATA de outra forma?

9 Replies
Thiago_Justen_

Mario,

Execute dessa forma:

PRODUTO:

LOAD * INLINE [

    PRODUTO, DIAS_ENTREGA 

    A, 10

    B, 15

    C, 20

    D, 25

];

Left Join

//DETALHE_PEDIDO:

LOAD * INLINE [

    PEDIDO, PRODUTO, QTDE 

    12, A, 10

    12, B, 5

    13, C, 8

    14, D, 8

    15, D, 10

];

Left Join

//PEDIDO:

LOAD * INLINE [

    PEDIDO, DATA_PEDIDO 

    12, 57100

    13, 57110

    14, 57120

    15, 57130

];

PROCESSADO:

LOAD

*,

Date(RangeSum(DIAS_ENTREGA,DATA_PEDIDO)) as NOVA_DATA

Resident PRODUTO;

Drop Table PRODUTO; //Para evitar chaves sintéticas

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_ti
Creator
Creator
Author

Thiago,

Bom Dia

O erro continua .. o servidor tem 192Gb de RAM e vai pra 100% qse todo tempo... será q pode ser isso??

To pensando em fazer isso no extract e não no LOAD.

Thiago_Justen_

Posta seu script pra eu dar uma olhada por favor.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_ti
Creator
Creator
Author

Pelo q pesquisei pode ser timeout:

Hi. Has anyone come across a -129 error when loading data.

Quando rodo somente 5 (debug) funciona perfeitamente, inclusive a minha forma anterior.

Alguém já passou por isso??

mario_ti
Creator
Creator
Author

Dando uma olhada no LOG:

2018-10-15 12:57:16      49.178 lines fetched

2018-10-15 12:57:16      Joining/Keeping

2018-10-15 13:36:09      -129 =

2018-10-15 13:36:35      Execution Failed

Da uns 39 minutos de inatividade .. como esta configurado para 30 minutos no QMC, será que isso pode dar algum problema??? Alterar para 60 minutos por exemplo??

Thiago_Justen_

Alterar para 60 minutos...ok. Mas precisa verificar se não está ocorrendo produto cartesiano.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
Thiago_Justen_

Verifique se as tabelas onde você faz o Join há campo em comum.  Do contrário, como no seu script inicial, haverá produto cartesiano.

Veja o que estou falando:

executar.gif

Agora imagina com uma volumetria de dados elevada...pode ser essa a razão do seu timeout.

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
mario_ti
Creator
Creator
Author

Tem sim .. na de PRODUTO tem o CODITEM .. Tem o cabeçalho do PEDIDO com o NUMERO_PEDIDO  e no detalhe tem CODITEM e NUMERO_PEDIDO ... bem parecido com a ideia inicial.

Thiago_Justen_

Pode postar o seu script ou ainda, o arquivo de log?

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago