Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia meus amigos,
tenho a seguinte necessidade, estou carregando um projeto com vários QVDs, nesta carga eu preciso excluir 3 unidades apenas para o primeiro semestre de 2016.
Comecei fazendo campo por campo com if, exemplo,
if(unidade='029' and ano_mes_numero<='2016-01',0,venda) as venda
porém desta forma é muito complicado, terei que fazer essa condição para todas as linhas de todos os QVDs,
existe alguma forma que eu faça esse filtro logo apos o FROM, exemplo:
FROM D:\ARQUIVO.QVD where not in (condição)?
Hamilton, o ideal é trabalhar com Exists, já que deseja excluir da sua tabela.
Crie uma tabela contendo as condições que deseja excluir, conforme exemplo:
TabelaExclusao:
LOAD * INLINE [
CHAVE_EXCLUSAO
029|2016-01
015|2015-03
];
Fato:
LOAD
*
FROM Teste.qvd (qvd)
WHERE NOT Exists(CHAVE_EXCLUSAO, Unidade & '|' & MesAno);
OBS: Se preferir, crie o campo CHAVE_EXCLUSAO na sua tabela.
Hamilton, o ideal é trabalhar com Exists, já que deseja excluir da sua tabela.
Crie uma tabela contendo as condições que deseja excluir, conforme exemplo:
TabelaExclusao:
LOAD * INLINE [
CHAVE_EXCLUSAO
029|2016-01
015|2015-03
];
Fato:
LOAD
*
FROM Teste.qvd (qvd)
WHERE NOT Exists(CHAVE_EXCLUSAO, Unidade & '|' & MesAno);
OBS: Se preferir, crie o campo CHAVE_EXCLUSAO na sua tabela.
Yuri, MUITO obrigado pela sua agilidade em responder,
vou verificar e dou o retorno,
Certíssimo, obrigado novamente.
Lembre-se que você pode deixar o processo com ainda mais performance se sua base estiver em QVD e você utilizar o nome do mesmo campo a ser excluído. Este processo realizará uma leitura otimizada do QVD.
Maiores dúvidas? Veja este meu artigo: Melhores Práticas – QVD Optimized | Blog do Nicolett
Dando um feedback,
estou utilizando esta em vários outros projetos,
esta me ajudando de uma maneira incrível.
Obrigado.