Hi,
I want to apply logic while creating a macro as below:
If %let year=202004 then %let year1 should be 202001 and %let year2 should be 202003
But if %let year=202001 then %let year1 should be 201910 and %let year should be 201912
How to make this kind of macros?
Thanks,
Harsh
From SAS 9.4M5, you can do this in open code
%let year = 202004;
%if &year. = 202004 %then %do;
%let year1 = 202001;
%let year2 = 202003;
%end;
%if &year. = 202001 %then %do;
%let year1 = 201910;
%let year2 = 201912;
%end;
%else %do; %end;
%put &=year1. &=year2.;
What version of SAS are you in?
From SAS 9.4M5, you can do this in open code
%let year = 202004;
%if &year. = 202004 %then %do;
%let year1 = 202001;
%let year2 = 202003;
%end;
%if &year. = 202001 %then %do;
%let year1 = 201910;
%let year2 = 201912;
%end;
%else %do; %end;
%put &=year1. &=year2.;
Thanks,
It is working fine
Great. Glad you found your answer.
Hi,
This works fine for me
But suppose if i have a multiple years columns like 201901 201902 201903 202001 202002 202003
Now if i want to write conditions in %let year=201901 similar for 02 and 03
That if last two digits contains 01 then %let year1 should be 201810 and %let year2 should be 201812
if i want to write conditions in %let year=202001
That if last two digits contains 01 then %let year1 should be 201910 and %let year2 should be 201912
i want to use substr or any function which will help me, i dont know
Could you please help me on this?
Whenever programmers want to create many macro variables based on data logic, I always get a bit skeptical 🙂
Why do you want to do this? This seems to be a part of a larger problem for which there is a better solution.
Hi,
I got a solution,
Thanks,
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.