Say I have a table containing date variable and I want to recursively referring to taq libraries such as:
data zzz;
set taqms.&type._&yyyymmdd;
if ('9:35:00't) <= time_m <=('14:35:00't);
run;
where &type=ctm and &yyyymmdd is the date variable converted in to the form "yyyymmdd" inside a macro.
But the %let command do not work well with date type variable and I am not able to assign the specific row observation to the &yyyymmdd variable.
For example, the date table:
And I want to recursively referring to taq libraries according to the date values above.
SAS date is a numeric variable containing number of days since 01JAN1960.
In order to assign the date in a format of yyyymmdd into a macro variable yyyyyo need to reformat it.
In the table you have a lot of different dates. Which of them you want to assign to the macro variable?
and how did you try to do it?
a singlae date can be assigned to a macro variable, in a sas datastep, using
call symput('macro_var', put(date_var, yymmdd8.);
Better post your full code in oredr to get more accurate answer.
Thank you for your response. I would like to assign every date (each at the time, I have a do loop in the macro function) to the macro and perform something like this:
proc sql; create table temp as
select a.*, b.cusip, b.secd
from taqms.&type._&day a, loca2 b
where a.sym_root=b.symbol and (b.sect-&window) <= a.time_m <= (b.sect+&window)
order by b.symbol;
quit;
where loca2 is link table for smybol and cusip.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.