Я пытаюсь написать макрос-код, который генерирует средние продажи за определенный год. Скажем, сегодня я хочу отчет за год = 2008 и завтра за год = 2009.
Данные имеют переменную Order_date в формате mmddyy10.
Я пытаюсь добиться этого с помощью следующего кода:
%macro yearly(yr=%sysfunc(year("&sysdate"d ));
proc means data=salesxls;
class &yr;
where year(order_date) == &yr;
title "yearly avg sales for &yr";
run;
%mend yearly;
Это не работает. Причиной может быть% sysfunc, который я использовал для извлечения года. Любая помощь будет оценена.
P.S Макро новичок здесь
EDIT:
Код для одного года работы выглядит следующим образом:
data new;
set work.salesxls;
yr=year(Order_date); /** I extracted the year from Order_date)**/
run;
proc means data=new mean;
class yr;
var total_retail_price;
where yr=2008;
run;
В приведенном выше коде я сначала создал набор данных, который извлек год. Затем я использовал эти данные для процедуры proc.