今天试了一下用Pinnacle21验证SDTM数据集,发现很简单,只要几分钟就好了。
上次我讲了如何用SAS导出XPT格式的文件,然后我今天去官网找这个宏,我去!发现这个宏更新了,直接给你写成一个循环,而不是只有一个宏介绍。
我直接把代码copy下来,设定好自己的逻辑库,立马把所有的数据集都转换成XPT格式的文件。
接着将XPT文件导入到Pinnacle里面(目前P21暂不接受.sas的文件格式),点击Validate,等一会儿就可以查看报告了。
我们选择FDA,你要验证SDTM数据集就选择SDTM,验证ADaM数据集就选择ADaM,目前NMPA只有SDTMig3.2选项,我就不选了,感兴趣的你们自己可以导出看看。
之后直接将你的XPT文件导入进来
你可以根据报告看看你创建的数据集有什么问题,然后进行相应的修改。但是并不是P21显示的所有问题你都要修改。
报告主要看“ISSUE SUMMARY”,里面是具体数据集有哪些问题:
像这种控制术语的问题,因为local项目的话,CT是用中文,这个就没必要改了。
detail sheet就更详细了,具体到你的数据集哪个观测出现了问题。
rules sheet列举了你出的问题违反了哪个rules,如果闲的蛋疼的话,可以没事就看看这些rules,说不定你写SPEC就能避免犯这些错。
就这样了,接下来就是根据报告修改SPEC,修改数据集了。
注意的是:目前Pinnacle21注册只能用公司邮箱,个人的邮箱,像XX是不行的啊!
下面附上SAS官网的代码
libname sdtm 'D:\A_WORK\Practice\dataset';
proc sql;
create table sdtmDomains as
select libname
,memname
from dictionary.tables
where libname eq 'SDTM'
order by memname;
quit;
data _null_;
set sdtmDomains end=eof;
call symput('domain_' || strip(put(_n_,2.))
,strip(lowcase(memname))
);
if eof then
call symput('domainCnt',strip(put(_n_,2.)));
run;
%macro xpt;
%do idx=1 %to &domainCnt;
filename xptfile "D:\A_WORK\Practice\xpt\&&domain_&idx...xpt";
%loc2xpt(libref=sdtm
,memlist=&&domain_&idx
,filespec=xptfile
);
%end;
%mend xpt;
%xpt