SAS导出数据集到excel(第二章)

以前关于SAS导出到EXCEL写过一篇,今天继续写第二篇,也是今天遇到的几个问题。

SAS导出数据集到excel(第一章)

在DM进行改库的时候,往往需要进行数据集的比较(我问过了,改库确实是因为试验方案有调整,然后需要重新设计CRF等),这些数据集,也是我们以后写SDTM需要用到的数据集。

但是一个项目往往有几十个数据集,如果你写一个宏程序处理好了比较过程,然后你还得将这个宏复制几十次,像下面这样,对每一个数据集进行操作,效率低了点。

因此,合理利用库和循环,能极大地提高你的效率,下面来看下具体怎么做:

就是这两步,将SASHELP里面有多少数据集一下显示出来了,原来SASHELP里面有152个数据集。库名当然要换成你自己的库名。

有了数量,有了具体数据集名称(已经用空格分割开了),我们接下来就可以进行处理了。

%do i=1 %to &obss;

%let rawname=%scan(&nameall.,&i.);

%end;

在这个循环里面进行你要对数据集进行的处理,当然有一些小细节你可能会遇到,到时候自己慢慢琢磨吧。

当我们对数据集进行处理完成后,就是导出到EXCEL了,同样的,我们依旧可以利用循环,不用一个一个对数据集进行输出选项。

同样是先获取你数据集处理后的库(也就是你在本地创建的文件夹),看看有多少数据集。

就这一个宏程序,就能将你输出的数据集导出到excel,你所做的就是先创建文件夹,然后libname一下。注意程序中的3个位置,最好不要写错,要不然很有可能会报错。

ods excel options( sheet_name="&dataname" ) 允许你定义输出的表名叫什么,proc print/proc report都可以用,因为DM那边要求以变量的label作为列标题,所以用了label选项。noobs是因为用proc print输出的时候,excel会显示前面的顺序,所以要取消就才用了这个选项。

因为这次数据量比较少,所以用proc report/proc print也没有报内存不足的错误,至于怎么解决,以后再说。

感觉自己就是懒,然后想着法子看看能不能简化程序,在这个过程中学到了很多,最重要的是效率提高了很多。

**************************************************

天气忽然就转凉了,前天还是热气腾腾,今天就得穿上秋衣了,天气太反常了,秋天也来的太晚了。大家记得多穿衣服,别感冒了。

想想自己好像快10个月没有得过感冒了,上次挺严重的我记得是在一月份,其他即使有也是很快就好了。不知道是因为成年人本身就比较少生病还是因为我经常锻炼的原因。

你可能感兴趣的:(SAS导出数据集到excel(第二章))