Графики SAS добавляют автоматический номер фигуры в заголовок или сноску - PullRequest
0 голосов
/ 27 февраля 2012

Привет! Я строю некоторые данные, используя параметр BY GROUP, и сохраняю каждый график в отдельный файл. Я хочу добавить номер автоматического рисунка к каждому заголовку или сноске.

Допустим, у меня есть три уровня переменных BY GROUP, поэтому я сохраню 3 графика в трех файлах. Я хочу добавить заголовки или сноски:

title "Figure 01. Plot of #byval"; or footnote "Figure 01. Plot of #byval"; 
title "Figure 02. Plot of #byval"; or footnote "Figure 02. Plot of #byval"; 
title "Figure 03. Plot of #byval"; or footnote "Figure 03. Plot of #byval"; 

Здесь я добавил 01, 02 и 03 вручную, но я хочу автоматизировать его, чтобы я мог дать начальное значение, и оно автоматически увеличивается на 1 до последнего уровня переменной BY GROUP.

Ваша помощь будет принята с благодарностью. Спасибо

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Имеют две переменные BY, где первая переменная BY - "01", "02" и т. Д., А затем используйте:

title "Figure #byval1. Plot of #byval2";
1 голос
/ 27 февраля 2012

это может быть достигнуто макросом.Ниже приведен пример.

    %macro bygraph(dset=,byvar=);

     %do i=1 %to %sysfunc(countw(&byvar));
     %let byvari=%sysfunc(scan(&byvar,&i));
       proc sort data=&dset; 
        by &byvari;
       run;

      ods rtf file="plot&i..rtf" startpage=no; 
/*output,modify as you need.the graph will be stored to plot1.rtf, plot2.rtf... */
       proc plot data=&dset;
        by &byvari;
        plot .... ;  /* your plot statements */
        title "Figure &i Plot of &byvari"; 
       run;
       quit;
      ods rtf close;
     %end;

     %mend;

    /* run macro, fill in data set, byvars (separated by blanks) as parameters */
    %bygraph(dset=dataset, byvar=var1 var2 var3); run;  
...