Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal,
Preciso ler uma arquivo qvd e negar uma data. No entanto, estou encontranto algumas dificuldades. Alguem poderia me dar uma dica de como posso fazer isso?
Em uma das bases o formato é o tradicional: 15/09/2013 por exemplo. Nesse caso em uma base com um ano de informação qual o codigo eu devo inserir no script para negar um mes? Se tenho de janeiro a setembro de 2013 como faço para negar setembro por exemplo?
Um outro problema que tenho, e que em uma das bases a data esta quebrada por campos. Tenho um campo para dia, outro para mes e outro para ano. Como devo proceder para negar nesse caso tabem?
Agradeço a ajuda de todos.
Bom, podes colocar separadamente, Ex:
Where
Date(MakeDate(Ano,Mes),'MMM/YYYY') <> 'set/2013'
And Date(MakeDate(Ano,Mes),'MMM/YYYY') <> 'out/2013';
Ou fazer um load do load pegando o campo já consolidado e incluir um match, ex:
Where Not Match([Mês e Ano],'jan/2013','fev/2013') ;
Dê uma olhada nas duas opções no QVW exemplo que está anexo.
Para a segunda pergunta, se o campo de data for padrão, trazendo apenas o primeiro dia do mês + ano, aí você pode usar o Not Match(Data,'01/09/2013','01/10/2013'). Mas certifique-se de como está vindo esta data da sua base
Ah, não esquece de marcar a resposta como certa
Abraços!
Utilize a cláusula Where para fazer esta negação
EX:
Load
*
From ...
Where Mês <> 'Set';
Raphel,
Para bases com mais de um ano de informação, devo colocar o ano tambem?
Sim, caso contrário ele irá retirar todos os meses ('Set') da seleção.
Abraço!
Raphael,
seria o codigo abaixo? dessa forma ele esta detonando todo o ano de 2013.
[MES ENTRADA],
[ANO ENTRADA],
PLATAFORMA,
Mes,
Ano,
COD_FILIAL,
FILIAL_OU_CD,
TIPO_FILIAL,
MIX2,
MIX,
LINHA,
FORNECEDOR,
FABRICANTE,
COD_PRODUTO,
PRODUTO,
QTDE_COMPRA,
VLR_LIQUIDO
FROM
C:\Users\joao.silva\Desktop\compras\Nova_Base\ME\ME2.qvd
(qvd)
Where Mes <> 9 and Ano <> 2013;
Crie um campo desta forma:
Date(MakeDate(Ano, Mes),'MMM/YYYY') as [Mês e Ano]
No seu Where você coloca assim:
Where
Date(MakeDate(Ano, Mes),'MMM/YYYY') <> 'set/2013';
Raphael,
funcionou cara, perfeito.
So mais duas perguntinhas. rs
Para eu colocar um periodo de dois meses ou mais como eu poderia fazer? Tentei colocar um and e nao funcionaou.
Outra coisa, para um campo que tenha o formato padrao, '01/10/2013' por exemplo faria da mesma forma?
Valeu cara e desculpe o incomodo.
Bom, podes colocar separadamente, Ex:
Where
Date(MakeDate(Ano,Mes),'MMM/YYYY') <> 'set/2013'
And Date(MakeDate(Ano,Mes),'MMM/YYYY') <> 'out/2013';
Ou fazer um load do load pegando o campo já consolidado e incluir um match, ex:
Where Not Match([Mês e Ano],'jan/2013','fev/2013') ;
Dê uma olhada nas duas opções no QVW exemplo que está anexo.
Para a segunda pergunta, se o campo de data for padrão, trazendo apenas o primeiro dia do mês + ano, aí você pode usar o Not Match(Data,'01/09/2013','01/10/2013'). Mas certifique-se de como está vindo esta data da sua base
Ah, não esquece de marcar a resposta como certa
Abraços!