我是SAS的初学者,遇到以下问题。

我需要从一个数据集中计算多个变量(A B C)的计数和百分比,然后将结果保存到另一个数据集中。
我的代码是:

proc freq data = mydata;
表A B C/out = data_out;运行;

每个变量的过程结果将显示在SAS输出窗口中,但data_out仅包含最后一个变量的结果。如何将它们全部保存在data_out中?
任何帮助表示赞赏。

最佳答案

ODS OUTPUT是您的答案。您不能使用OUT=直接输出,但可以这样输出:

ods output OneWayFreqs=freqs;
proc freq data=sashelp.class;
  tables age height weight;
run;
ods output close;

OneWayFreqs是单向表,(n> 1)路表是CrossTabFreqs:
ods output CrossTabFreqs=freqs;
ods trace on;
proc freq data=sashelp.class;
  tables age*height*weight;
run;
ods output close;

您可以通过运行ods trace on;,然后运行您的初始proc(在屏幕上执行任何操作)来找到正确的名称;它会告诉您日志中输出的名称。 (当您厌倦了看到它时,使用ods trace off;。)

关于sas - 使用多个表保存SAS proc freq的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27992514/

10-10 22:21