2016-03-08 63 views
0

我寫了一個宏這需要多個數據集和變量與數據集共同使用PROC頻率產生一個頻率表,如下所示:PDF宏觀

%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(不太特別)。請幫忙!!

回答

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;