Моя цель довольно проста. Просто хочу дать некоторые значения наборам данных. Есть 2 шага. Во-первых, считываются значения в макропеременные. Во-вторых, передайте макропеременные в набор данных. Коды:Макро переменная не читается правильно
Сначала создайте макропеременные.
proc sql;
select procdate, prim,side,orgnname,orgnid,OrgnStTe into :procdate, :prim, :side, :orgnname, :orgnid, :OrgnStTe from ours
where objid=783125;
quit;
Этот шаг работает хорошо. Затем передайте значения.
data test;
set m1;
if id=184 then DO;
objid=783125;procdate=&procdate.;prim=&prim.;side=&side.;orgnname=&orgnname.;orgnid=&orgnid.;OrgnStTe=&OrgnStTe.;
END;
run;
Для этого шага ошибка относится к имени orgn. Не совсем уверен в ошибке. Я пробовал% bquote (& orgnname.) И% str (& orgnname.). Оба не работали.
ПРИМЕЧАНИЕ: Строка, генерируемая макропеременной "ORGNNAME". 1 КАЛЬВАРИЙ ДЖОН ДЖЕЙМС МЕМОРИАЛЬНАЯ БОЛЬНИЦА ---- ОШИБКА 388-185: Ожидание оператора арифметики.
ОШИБКА 76-322: Синтаксическая ошибка, инструкция будет проигнорирована.