j*z 发帖数: 620 | 1 例如我重复使用proc mean计算出不同的output的结果,如何用ods把所有我指定的
output中某一项的结果放入同一个文件当中?我知道假设在用 output xxx(文件名)
可以指定输出路径,但是问题是重新run一轮结果后,后面的结果会覆盖前一次的结果
。我想可不可以在同一个output的输出文件内累加结果,如
第一次使用proc mean。。。output a。。。 后
a 文件内记载了我需要的内容;
第二次使用proc mean。。。output a。。。 后
a 文件继续添加我需要输出的内容;
菜鸟SAS恳求达人指导!!
包子感谢! |
h******e 发帖数: 1791 | 2 我用到是笨办法,一先判断a是否存在,用%sysfunc(exist(a))。如果yes,将其改名为
b。然后每得到一个a,就将其追加到b,用proc append。 |
d*******o 发帖数: 493 | 3 proc sql;
create table out as
select mean(age) as a from sashelp.class
union
select mean(weight) as a from sashelp.cars
;quit; |
j*z 发帖数: 620 | 4 谢谢你的答复!我大概知道你的意思,但是我不太会用macro,能不能在具体介绍一下
啊?
例如
proc mean data=x;
var aa;
output out=a mean_aa=mean;
......
随后如何把你介绍的方法用上?
我实在是菜鸟,还请你多指教,谢谢!
【在 h******e 的大作中提到】 : 我用到是笨办法,一先判断a是否存在,用%sysfunc(exist(a))。如果yes,将其改名为 : b。然后每得到一个a,就将其追加到b,用proc append。
|
A*******s 发帖数: 3942 | 5 proc printto print="./output.lst";
run;
【在 j*z 的大作中提到】 : 例如我重复使用proc mean计算出不同的output的结果,如何用ods把所有我指定的 : output中某一项的结果放入同一个文件当中?我知道假设在用 output xxx(文件名) : 可以指定输出路径,但是问题是重新run一轮结果后,后面的结果会覆盖前一次的结果 : 。我想可不可以在同一个output的输出文件内累加结果,如 : 第一次使用proc mean。。。output a。。。 后 : a 文件内记载了我需要的内容; : 第二次使用proc mean。。。output a。。。 后 : a 文件继续添加我需要输出的内容; : 菜鸟SAS恳求达人指导!! : 包子感谢!
|
h******e 发帖数: 1791 | 6 例如:
%if %sysfunc(exist(a)) %then %do;
proc append base = b data = a;run;
%end;
%else %do;
data b; set a; run;
%end;
【在 j*z 的大作中提到】 : 谢谢你的答复!我大概知道你的意思,但是我不太会用macro,能不能在具体介绍一下 : 啊? : 例如 : proc mean data=x; : var aa; : output out=a mean_aa=mean; : ...... : 随后如何把你介绍的方法用上? : 我实在是菜鸟,还请你多指教,谢谢!
|
g*********n 发帖数: 441 | |
A*******s 发帖数: 3942 | 8 not necessary.
proc append first searches the base= dataset. if it does not exist, sas will
create a new one. so does proc datasets with append statement.
a better programming style is to initialize an empty base= dataset before
using proc append
【在 h******e 的大作中提到】 : 例如: : %if %sysfunc(exist(a)) %then %do; : proc append base = b data = a;run; : %end; : %else %do; : data b; set a; run; : %end;
|
c****y 发帖数: 584 | 9 2nd this.
【在 A*******s 的大作中提到】 : proc printto print="./output.lst"; : run;
|