Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia.
Caros,
Venho aqui novamente pedir um auxilio.
Tenho uma tabela de Ocorrências onde possuo o Código da Ocorrência, Nome da Ocorrência, Data da Ocorrência, Descrição e responsável. Então eu estou tentando pegar os dados da Ocorrência X com a maior data dentro do mês. Exemplo.
Suponhamos que a ocorrência X ocorreu nos dia 01/01, 10/01 e 18/01, eu quero pegar os dados somente da ocorrência X que ocorreu no dia 18/01, ou seja, a maior data dentro do mês.
Bom tentei fazer isso de algumas formas, mas não obtive sucesso, por isso gostaria de um auxilio de vocês.
1 - tentativa.
Ocorrencias:
load DataOc,
CodOc,
NomeOc,
DescOc,
RespOc
from ocorrencias.qvd;
Temp-Table:
load date(max(DataOc)) as maiorData resident Ocorrencias;
newOcorrencias:
loas DataOc as [Data OC],
CodOc,
NomeOc,
DescOc,
RespOc
resident Ocorrencias where DataOc = maiorData;
Este da Erro dizendo que o campo maiorData não existe.
2 - tentativa.
Ocorrencias:
load DataOc,
CodOc,
NomeOc,
DescOc,
RespOc
from ocorrencias.qvd;
Temp-Table:
load date(max(DataOc)) as maiorData resident Ocorrencias;
let vMaiorData = PEEK('maiorData);
newOcorrencias:
loas DataOc as [Data OC],
CodOc,
NomeOc,
DescOc,
RespOc
resident Ocorrencias where DataOc = $(vMaiorData);
resident Ocorrencias where DataOc = Date($(vMaiorData));
resident Ocorrencias where DataOc = Date#($(vMaiorData));
Nesta já fiz as 3 combinações a cima e nenhum deu certo, não carrega os dados.
3- tentativa.
Ocorrencias:
load DataOc,
CodOc,
NomeOc,
DescOc,
RespOc
from ocorrencias.qvd;
Temp-Table:
load date(max(DataOc)) as maiorData resident Ocorrencias;
newOcorrencias:
loas DataOc as [Data OC],
CodOc,
NomeOc,
DescOc,
RespOc
resident Ocorrencias where DataOc = PEEK('maiorData);
Nesta aqui também não carrega os dados.
Se alguém poder me dar um auxilio nesta questão eu agradeço e muito.
Luiz, você vai ter que usar uma MAX para pegar essa maior data por Oc e depois remover da tabela principal.
Segue um exemplo (pode ser que precise de alteração):
MaiorDataOc:
load
DISTINCT Date(MAX(DataOc), 'DD/MM/YYYY') & '|' & CodOc as ChaveMaiorDataOc
from ocorrencias.qvd
GROUP BY
CodOc;
Ocorrencias:
load DataOc,
CodOc,
NomeOc,
DescOc,
RespOc
from ocorrencias.qvd
WHERE Exists(ChaveMaiorDataOc, DataOc & '|' & CodOc);
DROP TABLE MaiorDataOc;
Luiz, você vai ter que usar uma MAX para pegar essa maior data por Oc e depois remover da tabela principal.
Segue um exemplo (pode ser que precise de alteração):
MaiorDataOc:
load
DISTINCT Date(MAX(DataOc), 'DD/MM/YYYY') & '|' & CodOc as ChaveMaiorDataOc
from ocorrencias.qvd
GROUP BY
CodOc;
Ocorrencias:
load DataOc,
CodOc,
NomeOc,
DescOc,
RespOc
from ocorrencias.qvd
WHERE Exists(ChaveMaiorDataOc, DataOc & '|' & CodOc);
DROP TABLE MaiorDataOc;
Fiz os Ajustes e Funcionou perfeitamente.
Obrigado Yuri.