Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Amigos
Poderiam me auxiliar necessito criar uma tabela mês apenas com os dia utéis extraíndo finais de semana e feriados e possivél ???
Como fazer, poderiam me auxiliar.
Agradeço aos amigos
+- assim
Feriados:
LOAD * INLINE [
F1
1/1/2015
25/12/2015
];
LOAD
Data
WHERE WeekDay(Data) < 5 and not Exists(F1,Data);
LOAD
Date(Recno() + $(DataInicio) - 1) as Data
AUTOGENERATE (Today() - $(DataInicio));
Foi aproveitada a solução do cleveranjos, assim o ano gera diferente de 1900; além de criar uma variável para quantidade de dias que deseja gerar.
Sugiro utilizar uma tabela de feriados ou criar, devido haver feriado municipal/estadual e, outros que mudam a cada ano. Ex.: sexta-feira da paixão.
DataInicio = '01/01/2015'; // Gerar a partir desta data;
SET v_qtdDias = 364; // Limite de dias
LOAD * INLINE [
F1
1/1/2015
04/06/2015
25/12/2015
];
LOAD
Data
WHERE WeekDay(Data) < 5 and not Exists(F1,Data);
LOAD
Date(Floor(Recno() + '$(DataInicio)')) as Data
AUTOGENERATE ('$(v_qtdDias)');
Espero ter ajudado!
Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados
Bom dia, tudo bem?
Segue minha solução para criar calendário com os dias úteis, caso queira desconsiderar algum feriado basta apenas colocar como paramento da função NetWorkDays()
let vDataMin = Today()-31;//Variavel auxiliar de data minima
let vDataMax = num(Today());//Variavel auxiliar de data maxima
CalendarioTemporario:
Load
date($(vDataMin)+(RowNo()-1)) as DataTemp //-1 para começar o incremento do zero
AutoGenerate ($(vDataMax)-$(vDataMin))+1; //+1 para incluir o limite da data Max
Calendario:
Load
DataTemp as Data, //Data Completa
year(DataTemp) as Ano,
month(DataTemp) as Mês,
day(DataTemp) as Dia,
WeekDay(DataTemp) as DiaSemana //Nome do dia da semana
Resident CalendarioTemporario
where NetWorkDays(DataTemp,DataTemp) >=1; //Função que traz a quantidade de dias úteis entre as datas caso seja maior que 1 trazer o dia
Drop Table CalendarioTemporario;