Anyone know a way to dynamically change a variable name in a symput statement? We need to communicate specific date ranges in a subsequent SQL statement and also an environment outside SAS Studio. The bolded 1 we wish to increment to 2, 3, etc. The upper boundary of the array V_From is unknown until data is read in. Current code: call symput("V_From1","'"||compress(put(V_From1,DATE9.))||"'d"); Full code: data &LOCAL.CAMPAIGN_DATES_ARRAY(drop=Valid_From Valid_To x keep); set &LOCAL.CAMPAIGN_DATES_UNIQUE nobs=nobs; array V_From{&MAX_OBS} ; array V_To{&MAX_OBS}; retain; do x = 1 to &MAX_OBS; if _N_ = x then V_From{_N_} = Valid_From; if _N_ = x then V_To{_N_} = Valid_To; end; if _n_ =nobs then keep=1; if keep ne 1 then delete; format V_From1-V_From6 date9.; /* UPDATE: SAS Does not support undefined array formatting */ format V_To1-V_To6 date9.; /* UPDATE: SAS Does not support undefined array formatting */ /* Had to manually do since dynamic wasn't working */ call symput("V_From1","'"||compress(put(V_From1,DATE9.))||"'d"); run; %put &V_From1; run; Thank you!
... View more