Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Preciso fazer Join
no custo_medio(LCT) e quantidade(VND):
Alguém poderia me da uma dica.
***********************************************
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);
******************************************************
VND:
//Vendas_lancto
LOAD data,
turno,
hora,
seq,
produto,
operacao,
valor_desconto,
preco_unit_orig,
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,
Hour(hora) as Hora,
pessoa,
documento,
"preco_unit",
preco_unit_venda,
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
Agnaldo
Conforme mencionei, com aquelas alterações você terá as tabelas ligadas.
Se você precisa manter a fórmula existente, além do que comentei você precisará então fazer um join entre as tabelas, conforme abaixo:
Left Join (LCT)
Load
LOAD data,
turno,
hora,
seq,
produto,
operacao,
valor_desconto,
preco_unit_orig,
AutoNumber(Text(mlid)) as p_recebimento,
AutoNumber(Text(vendedor)) as p_vendedor,
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,
Hour(hora) as Hora,
pessoa,
documento,
"preco_unit",
preco_unit_venda,
valor,
vendedor,
abastecimento,
usuario,
empresa,
mlid,
grid as gridvnd
resident VND;
Drop table VND;
Com isso você terá todos os campos em uma tabela. Depois, é só fazer outro join para criar o campo:
Left Join (LCT)
Load <campo_chave_que_você_criou>,
quantidade * "custo_medio" As Custo
Resident LCT;
Agnaldo,
Do jeito que estão as tabelas, ao carregar no Qlikview já vai gerar um relacionamento entre elas, através dos campos
p_lancto, p_empresa e p_produto, o que vai gerar uma chave sintética.
Para evitar isso, você deve concatenar os campos e não carregá-los individualmente em uma das tabelas.
Crie uma chave entre os campos "p_lancto, p_empresa e p_produto" nas duas tabelas, após isso de o left join da chave e do campo quantidade.
left join(VND)
Chave,
Quantidade
..
Da uma olhada nesse post que aprofunda nos conceitos de união.
htt ps: / / community.qlik.com/thread/39177
(Tire o espaço do link)
Eu tinha todos este campos relacionados dentro do Postgress.
Mas precisei fazer direto no qlik.
Era assim:
quantidade*preco_medio As custo:
Preciso criar algo assim. Me disseram para usar o JOIN
Dentro do sql com o relacionamento.
Eu preciso criar novamente este campo custo. Pois tem muita expressões para corrigir.
Agnaldo
Conforme mencionei, com aquelas alterações você terá as tabelas ligadas.
Se você precisa manter a fórmula existente, além do que comentei você precisará então fazer um join entre as tabelas, conforme abaixo:
Left Join (LCT)
Load
LOAD data,
turno,
hora,
seq,
produto,
operacao,
valor_desconto,
preco_unit_orig,
AutoNumber(Text(mlid)) as p_recebimento,
AutoNumber(Text(vendedor)) as p_vendedor,
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,
Hour(hora) as Hora,
pessoa,
documento,
"preco_unit",
preco_unit_venda,
valor,
vendedor,
abastecimento,
usuario,
empresa,
mlid,
grid as gridvnd
resident VND;
Drop table VND;
Com isso você terá todos os campos em uma tabela. Depois, é só fazer outro join para criar o campo:
Left Join (LCT)
Load <campo_chave_que_você_criou>,
quantidade * "custo_medio" As Custo
Resident LCT;