2012-02-27 4 views
0

Привет Я пытаюсь использовать оператор BY GROUP в SAS для генерации нескольких графиков. Я хочу печатать каждый график в отдельный файл с именем BY GROUP varaible value, плюс я хочу добавить сноску к каждому графику, где я хочу добавить текст «Этот график 2300-01» на график 1, и хотите увеличить его на 1 для следующего графика «Этот график 2300-02» и т. Д.Добавление счетчика графа в сноске в SAS

goptions reset=all border; 
data grainldr; 
length country $ 3 type $ 5; 
input year country $ type $ amount; 
megtons=amount/1000; 
datalines; 
1995 BRZ Wheat 1516 
1995 BRZ Rice  11236 
1995 BRZ Corn  36276 
1995 CHN Wheat 102207 
1995 CHN Rice  185226 
1995 CHN Corn  112331 
1995 INS Wheat . 
1995 INS Rice  49860 
1995 INS Corn  8223 
1995 USA Wheat 59494 
1995 USA Rice  7888 
1995 USA Corn  187300 
; 

proc sort data=grainldr out=temp; 
by country; 
run; 

proc sgplot data=temp (where=(megtons gt 31)); 
by country; 

series x=type y= amount; 
series x=type y=megtons; 
title "Leading #byval(country) Producers" 
    j=c "1995 and 1996"; 
footnote1 j=r "This graph is 2300-&XY."; 
run; 

quit;

ответ

1

Если у вас есть переменная BY в вашем наборе данных, вы можете ее использовать. Например, если вы имели переменную CID (ID страна), и она имела значение «01», «02» и т.д., вы могли бы сделать что-то вроде этого:

proc sort data=grainldr out=temp; 
    by country cid; 
run; 

footnote1 j=r "This graph is 2300-#byval2"; 
proc sgplot data=temp (where=(megtons gt 31)); 
    by country cid; 
    ... 
    ... 

перспективы;

В этом случае # BYVAL2 относится к значению второго переменным, т.е. CID

+0

, что сделает это! THANKS – user877204

+0

Убедитесь, что вы отметили этот ответ как принято! – sasfrog