科技改变生活 · 科技引领未来
不知道你有没有发现,黑色背景+橙色文字的logo越来越多,无论你刷B站、微博、抖音,这种略带西方神秘主义的图像总让人微微一笑。
直男吸铁石半佛老师引人入胜的视频封面
当然,作为阳光向上的SAS程序员,我们更多的时间当然是在宽敞的工位上潇洒地编程。有时领导悄悄走过你的身边,拍拍你的肩膀跟你说:现在这个study的数据你拿Pinnacle 21跑一下。
不知道Pinnacle 21是啥的你,默默打开搜索引擎,却发现了一个让人羞涩又心动的头像。
不开玩笑,这真是Pinnacle 21在linkedIn上的官方头像,不是PxxxHub 21+的缩写。
如果你没听过Pinnacle 21这个工具,我们先来介绍一下它的地位。在医药公司和CRO里,SAS程序员打开次数最多的软件一定是SAS,第二名就可能是Pinnacle 21。
那么这个神奇的软件是怎么来的呢?Pinnacle 21是一家2011年成立的公司,如果说医药行业是一座金矿,那么药厂就是在这座金矿的掘金者,众多CRO就是为掘金者送外卖的小哥,但Pinnacle 21公司相当于是卖铲子和牛仔裤的商贩。
Pinnacle 21在2016年前,它们开发的产品不叫这个名字,而是一个更通俗易懂的名称:OpenCDISC。
然而,强大的CDISC组织可不希望这家公司打着自己的名号四处招揽用户,于是要求产品改名,公司于是将产品名称改成了这个略带中二的感觉:巅峰21。
Pinnacle 21的界面极其简单,主要功能有两个:检测CDISC数据和创建define文件。这篇文章我们来讲讲用Pinnacle 21的第一个功能。
实现这个功能有多简单呢?总共分三步:把数据集放进去、点击运行按钮、把结果文档打开。
Pinnacle 21无法接受SAS数据集,我们需要先把数据转化为xpt文件,然后读取到Pinnacle 21之中。
在点击Validate按钮之前,你还可以选择所用的CDISC版本,Control Term的版本等等,确认所有需要检测的数据都上传成功后就可以点击Validate按钮等待它产生结果了。
在运行几秒到几十秒后,程序会显示生成了一个Excel文件,现在我们打开它:
放大来看,这个文件总共有5张表,分别是Validation Summary 、Dataset Summary、 Issue Summary 、Details 、Rules。我们需要注意的是其中的三个表格:
Dataset Summary-这个表中显示被检查的每个数据集名称和错误类型的数量,我们需要根据这些信息确定哪些数据中有错误。
Issue Summary-如果你想了解每个数据中的具体错误类型,就需要进入Issue Summary这个表。它显示了每个数据集里各种错误的描述和数量。
Details-如果你想了解哪条数据有错误,如何定位它们,就需要进入Details表进行查看。
说到这里,我们可以发现,三个重要的表是一个层层递进的过程。下面我们用一个具体的数据集来了解一下通过Pinnacle 21如何找出数据集的错误。
进入Dataset Summary表,发现ADEG数据集看上去一切完美,没有任何Reject。可事实是这样吗?
不要高兴太早,我们进入Issue Summary表,发现ADEG下有三条记录。
第一条记录说明有变量的label与CDISC标准不相同,第二条记录说明COMPFL的值有问题,应该是Y或空,第三条则是ABLFL=Y的记录中base不等于AVAL。这三个问题明显是都不符合CDISC标准,那么我们如何知道究竟是哪条记录有这种错误呢?请打开第三个表Details。
我们可以看到,Details表中包含了更多的数据,从这些数据里我们可以得出以下信息:
1. 变量ADTM的label不正确
2. 变量COMPFL的值存在N,应该改为缺失值
3. 很多记录的基准线值里base为缺失值而非AVAL
有了以上这些信息,我们就可以明确地修改数据集。
这就是Pinnacle 21这个软件的重要功能之一,即让我们可以快速地找出数据集与CDISC标准相左之处。如果说SAS程序员是一个游戏高手,那么Pinnacle 21就相当于开图外挂,你不需要对着CDISC标准一个变量一个记录地看,用Pinnacle 21直接完成全图扫描,然后告诉你敌人在哪里。
当然,以上只是Pinnacle 21软件的一个功能,它的另一个重要功能——创建define文件,我们将在后续逐步分享。
王熙明