Я хочу автоматизировать ежедневный отчет для своей компании, но столкнулся с небольшой проблемой. Отчет обновляется только 2-го рабочего дня каждого месяца. Я нашел код на веб-сайте SAS, который вычисляет, что такое второй рабочий день любого месяца.
data scdwrk;
/* advance date to the first day of the month using the INTNX function */
second=intnx('month',today(),0);
/* determine the day of the week using the WEEKDAY function */
day=weekday(second);
/* if day=Monday then advance by 1 */
if day=2 then second+1;
/* if day=Sunday then advance by 2 */
else if day=1 then second+2;
format second date9.;
run ;
Я также установил флаг, который сравнивает сегодняшнюю дату с датой, сгенерированной этим фрагментом кода. Теперь мне нужно найти способ, чтобы, если код запускается в первый рабочий день месяца, он запускал определенный набор переменных даты макроса.
%let start_date="&prevmnth;
%let end_date= &endprevmnth;
%let month= &prevyearmnth;
а затем, когда он запускается во 2-й рабочий день месяца, он использует другой набор переменных даты макроса (календарный месяц)
%let start_date="&currmnth;
%let end_date= &endcurrmnth;
%let month= &curryearmnth;
Любая помощь по этому вопросу будет принята с благодарностью.