The sql procedure below (within a macro) generates a macro variable 'imp_date' %macro imp_test; /* List of runs as macro variable */ proc sql noprint; select cats(year(date),put(month(date),z2.)) into :imp_date separated by ' ' from grid where flag_qtr = 1 and date >= "&gen_date_first."d and date <= "&gen_date_last."d; quit; [...] %mend ,where gen_date_first=31MAR2018, gen_date_last=31DEC2020. output: IMP_DATE = 201803 201806 201809 201812 201903 201906 201909 201912 202003 202006 202009 202012 Now I need to remove '202003' from imp_date, and tried with imp_date_test = remove(imp_date,9); before quit; within the sql procedure and got error: 'Statement is not valid or it is used out of proper order'. Guessed I was not using the right function for the type of 'imp_date' but also got an error after adding the two lines below (before quit;😞 type_imp_date = type(imp_date); %put &=type_imp_date; Can you please suggest the right way to do remove '202003' from imp_date and finding the type for imp_date?. Thanks in advance!
... View more