本系列是纯属个人根据工作经验写的CDISC和SAS相关文章,正确与否都是个人观点,如有错误坚决不让喷,把错误帮我改正过来,我会谢谢你的。
我看到其他人写此相关的都会是从SDTM讲起,讲SDTM3.4。我想从TFLs先说,再反推到CDISC每一个变量,这样由果及因更容易有成就感。
我们做TFLs都会有一个SAS_Plan,由于目前简单的项目都是用SAS生成的每个表的程序,当然这个过程还在不断完善中,我们就单独说每一个表单的完成。
总览应该分为这几步,中间有记不全的后面遇到了补充。
1.Setup.sas建立,这里面会包含项目进行过程中需要的所有信息。
2.根据SAP写TFL,一般是分工合作,我们项目简单的话一个人搞定。
3.生成的每一个TFL.rtf,合并所有的rtf。
4.发给别人,让别人提意见,再修改。
Setup里面我们项目一般有几个东西:
1.全局宏变量,得到根路径宏变量root。
%global exe_ph fph cph root;
%let exe_ph= %upcase(%sysget(sas_execfilepath));
%let fph=%sysfunc(prxchange(s/(.*)\\(.*)/$1/,-1,&exe_ph));
%let cph=%sysfunc(prxchange(s/(.*)\\(.*)/$1/,-1,&fph));
%let root=%sysfunc(prxchange(s/(.*)\\(.*)/$1/,-1,&cph));
2.再搞点项目信息做成宏变量放进去,这个地方就随便搞,想放什么放什么。
%global opts_globel projid protocol subvar;
%let projid = XXXX;
%let protocol = XXX;
%let subvar=XXXXX;
%let dmid=XXX;
3.再把路径搞一搞,主要有TFL程序放哪儿,输出的rtf放哪儿,程序日志放哪儿,其他路径用得着就搞,用不着就不管了,比如说公司有宏库要读取什么的,有其他的tool文件需要用的什么的。如果前期不知道这些要不要搞,那就不搞,大不了回来重新添加。
%let fpath = xxx;
%let TFL_gpth=xxxx;
4.再搞一搞全局选项options,这一块儿也是随便搞,就是输出的rtf,关心一下A4纸,设置一下选项,其他的爱搞不搞吧,反正选项那么多,我也看不懂几个。
options noxwait noQUOTELENMAX noxsync mprint ;
option nobyline NoDate NoCenter NoNumber orientation=landscape papersize=A4;
5.再搞一搞逻辑库libname,起码得有adam或者sdtm或者rawdata的数据来源,就是你做TFL你得有数据做,数据在哪里就libname哪里,一般是用ADaM来做TFL。
libname rawdata "xxxxxx";
libname adam "xxx";
libname sdtm "xxxxx";
libname tfl "xxxx";
如果现在还没有文件夹结构,那就找我要,我不会给你的,给你我人就没了,但是我可以给你一个精简版,凑合着用没问题。
Setup就这样建立完了,后面开始做TFL,出发!