0
변수가 date = 201611이고 다음 달의 첫째 날을 '2016-12-01'형식으로 만들어야합니다. 다음 코드는 11 일까지 최대 개월 동안 잘 작동 :SAS - 조건부 매크로 변수
%let date = 201611;
%let rok = %sysfunc(substr(&date,1,4));
%let month = %sysfunc(substr(&date,5,2));
%let xdat2_ii = &rok-%eval(&month + 1)-01;
%let xdat1 = %str(%')&xdat2_ii.%str(%');
%put &xdat1;
'2016-12-01'
내가 날짜가 '2017년 1월 1일를 얻기 위해 다음 201612 때, 즉 월 12 일에 대한 작동 코드를 만들기 위해 몇 가지 개선을 추가해야합니다 '.
제 아이디어는 매크로를 사용하여 수행하는 것이지만 작동하지 않습니다.
%macro promenne;
%if &month < 12 %then %let xdat2_ii = &rok-%eval(&month + 1)-01
%else %if &month= 12 %then %let xdat2_ii = %eval(&rok + 1)-01-01;
%mend promenne;
어떤 제안을 해주셔서 감사합니다.
고맙습니다. –