2016-03-08 3 views
0

Я написал макрос, который принимает несколько наборов данных и переменные общие с этими наборами данных и генерирует таблицу частот, используя ргос частота, следующим образом:PDF макрос в SAS

%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; 
Смежные вопросы