Макрос с двумя аргументами SAS 9.4 - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть таблица с 4 переменными: Штат (Алабама, Аризона и Арканзас), Округ, Уровень бедности и Плотность населения.Я хочу короткий макрос с двумя аргументами (штат и округ), который будет печатать данные для любого штата / округов.Я придумал следующий код, который я протестировал для графства Ковингтон в Алабаме, и он дал мне то, что предполагалось, но не уверен, является ли это наиболее эффективным / правильным способом создания этого макроса?Любые отзывы / предложения будут оценены.Спасибо.

%macro state_county(state,county);  
  data NEW3;
    set NEW; 
    where state="&state"; 
  run; 
  data new4; 
    set NEW3; 
    where county="&county"; 
  proc print data=NEW4 NOOBS; 
  run; 
%mend state_county; 

%state_county(Alabama,Covington);

1 Ответ

0 голосов
/ 20 декабря 2018

Если вам нужно только распечатать, тогда есть только ПЕЧАТЬ.Вы можете поместить WHERE непосредственно в PROC PRINT, либо как собственный оператор, либо как параметр набора данных.Если у вас большие данные, опция набора данных может быть более эффективной.

%macro state_county(state,county);

proc print data=NEW NOOBS; 
where state="&state" and county="&county"; 
run; 

%mend state_county; 



 %state_county(Alabama,Covington);
...