【问题标题】:PDF macro in SASSAS 中的 PDF 宏
【发布时间】:2016-03-08 15:17:26
【问题描述】:

我写了一个宏,它接受多个数据集和这些数据集共有的变量,并使用 proc freq 生成频率表,如下所示:

%macro f(input= , vars= );
  %let n_d=%sysfunc(countw(&input));
  %do i = 1 %to &n_d;
     %let dataset = %scan(&input, &i);
     %let n=%sysfunc(countw(&vars));
     %do j = 1 %to &n;
        %let values = %scan(&vars, &j);
        title "Frequency of &dataset and &values";
        proc freq data = &dataset;
          tables &values/nocum;
        run;
     %end;
  %end;
%mend;

我使用 UNIX SAS,但由于某些网络问题,我的 SAS 版本无法访问 HTML 输出。

我想为上述每个频率表创建一个 pdf 输出,并将其存储在单个 pdf 或多个 pdf 中(对此不太特别)。请帮忙!!

【问题讨论】:

    标签: macros sas


    【解决方案1】:

    您可以将代码夹在ODS PDF file='' 和ods pdf close 之间。放置代码的位置决定了您获得的是单个文件还是多个文件。

    例如,要生成单个文件,请将其放在最外层循环:

    %macro f(input= , vars= );
    ods pdf file="myoutout.pdf" style=meadow;
      %let n_d=%sysfunc(countw(&input));
      %do i = 1 %to &n_d;
         %let dataset = %scan(&input, &i);
         %let n=%sysfunc(countw(&vars));
         %do j = 1 %to &n;
            %let values = %scan(&vars, &j);
            title "Frequency of &dataset and &values";
            proc freq data = &dataset;
              tables &values/nocum;
            run;
         %end;
      %end;
      ods pdf close;
    %mend;
    

    【讨论】:

      猜你喜欢
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多