CN116225455A - 一种统计分析报表快速生成方法 - Google Patents

一种统计分析报表快速生成方法 Download PDF

Info

Publication number
CN116225455A
CN116225455A CN202310447700.4A CN202310447700A CN116225455A CN 116225455 A CN116225455 A CN 116225455A CN 202310447700 A CN202310447700 A CN 202310447700A CN 116225455 A CN116225455 A CN 116225455A
Authority
CN
China
Prior art keywords
node
statistical analysis
analysis report
tree diagram
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310447700.4A
Other languages
English (en)
Other versions
CN116225455B (zh
Inventor
邓亮
康灿平
杨金生
张宝艺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Jiena Pharmaceutical Technology Co ltd
Guangzhou Jiena Pharmaceutical Technology Development Co ltd
Original Assignee
Guangdong Jiena Pharmaceutical Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Jiena Pharmaceutical Technology Co ltd filed Critical Guangdong Jiena Pharmaceutical Technology Co ltd
Priority to CN202310447700.4A priority Critical patent/CN116225455B/zh
Publication of CN116225455A publication Critical patent/CN116225455A/zh
Application granted granted Critical
Publication of CN116225455B publication Critical patent/CN116225455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种统计分析报表快速生成方法,包括以下步骤:S1:获取ADaM数据集以及预定义文件;S2:根据所述ADaM数据集的数据特点以及预定义文件的要求,分别搭建上表头树状图以及左侧表头树状图;S3:解析所述上表头树状图以及左侧表头树状图,生成SAS代码;S4:根据所述SAS代码生成统计分析报表。本发明通过把TFL生成过程抽象成树状图的构建,可以让临床统计程序员非常方便直观的感知TFL的生成过程,同时当自动生成算法生成的TFL与实际情况有偏差时,程序员通过看图可以快速定位到错误的位置,降低了程序员调试程序的时间,提高了工作效率。

Description

一种统计分析报表快速生成方法
技术领域
本发明涉及统计分析报表快速生成技术领域,更具体地,涉及一种统计分析报表快速生成方法。
背景技术
药物临床试验中,临床统计程序员需要设计一系列的TFL (TABLE,FIGURE,LISTING,统计分析报表)来证明研发的新药既有效又安全。TFL的数据来源于ADaM数据集,通常情况下,随着申办方以及试验药物不同,ADaM的数据结构也会有较大的差异,而且ADaM数据不一定全部符合CDISC(Clinical Data Interchange Standards Consortium,临床数据交换标准协会)标准,因此临床统计程序员需要根据数据不同来调试自己的SAS代码。同时申办方会给CRO公司提供一个预定义文件(Shell文件,或Mockup文件,后文统称Shell文件),该文件定义了临床统计程序员需要完成的TFL以及对应的格式和内容。临床统计程序员需要熟悉这些内容并通过SAS编程来完成这些TFL。
TFL是证明一款药物是否有效且安全的最重要的证据之一,生成TFL的工作一般需要临床统计程序员有足够的开发经验。TFL包含三种类型:TABLE、FIGURE 、LISTING。
TABLE通常包含基本的分布信息,如频率、最大值、最小值、均值和中位数等等,同时需要考虑这些分布信息在一个或者多个关键因素,如治疗组别等影响下的区别,以确定在做分析时是否有任何不平衡的患者人群。TABLE还可以包含置信区间,以及用于测试两组数据之间的差异是否有显著的p值,即统计学意义。
FIGURE可以更加方便的理解信息,比如可以更好的理解试验效果随时间变化的实验值,利用瀑布图可以直观的比较治疗后肿瘤的变化大小,用频数直方图来展示AE数据集中SOC的频率等等。
LISTING一般会列举一些关键信息,属于TFL中很小的一部分,主要是需要临床统计程序员做好分页即可。
为了保证TFL的正确性,CRO公司会使用两个临床统计程序员分开来编码一个相同的TFL,当生成的TFL完全相同时,则可以确认此TFL是正确的。这种冗余编程的方式虽然能够保证TFL的准确性,但是极大的造成了人力成本的浪费。
当前大部分CRO公司生成TFL均是使用两名经验丰富的临床统计程序员利用SAS编程实现。国外有一公司利用AI技术开发了一款SimpleStats应用,该应用被用来自动生成TFL,其生成TFL的方式是:用户提供ADaM数据以及Shell文件,然后系统会自动生成一系列的TFL以及对应的SAS代码。该应用存在以下三个明显问题: 1. 要求用户提供的ADaM数据符合CDISC标准;2. 生成TFL的过程对于用户来说属于黑盒操作,用户无法感知中间的计算过程,从而无法做到当TFL生成不准确时,快速的修改有错误的地方,增加了用户调试程序的成本。3. TFL可复用性差,针对不同的项目,该应用无法利用之前已经生成并修改正确的代码,用户必须根据新的数据再次生成代码,并原样修改。
发明内容
本发明提供一种统计分析报表快速生成方法,快速准确的生成TFL。
为解决上述技术问题,本发明的技术方案如下:
一种统计分析报表快速生成方法,包括以下步骤:
S1:获取ADaM数据集以及预定义文件;
S2:根据所述ADaM数据集的数据特点以及预定义文件的要求,分别搭建上表头树状图以及左侧表头树状图;
S3:解析所述上表头树状图以及左侧表头树状图,生成SAS代码;
S4:根据所述SAS代码生成统计分析报表。
优选地,步骤S2中搭建上表头树状图以及左侧表头树状图,具体为:
树状图中由n个有限节点组成一个具有层次关系的集合,每个节点有零个或者多个子节点,每个子节点可以分为多个不相交的子树,每一个节点代表一个变量,而且每个节点具有自己的属性表,根据预定义文件,为每个节点设置对应的属性,同时在树状图中还设置有数据集节点,表示该统计分析报表关联的数据集。
优选地,步骤S3中解析所述上表头树状图以及左侧表头树状图,生成SAS代码,具体为:
S3.1:根据对树状图结构进行分析,找出该统计分析报表关联的数据集,并对该数据集进行预处理;
S3.2:基于多叉树的前序遍历算法,得到左侧表头树状图的全部路径,所述左侧表头树状图的全部路径包含所述上表头树状图中的节点;
S3.3:根据每条路径中各节点属性表中设置的节点属性,转化为对应的SAS代码。
优选地,步骤S3.1中对该数据集进行预处理,具体为:
对数据集进行过滤:设置过滤条件在数据集节点的属性表中,当检测到数据集节点的属性表中的过滤条件时,将该过滤条件转化为对应的SAS代码,并置于对应的DATA步中;
根据树状图结构以及对应的属性表,分析得到该统计分析报表中涉及到的所有变量,并把这些变量在SAS的DATA步中保存下来。
优选地,步骤S4中根据所述SAS代码生成统计分析报表,具体为:
S4.1:根据SAS代码得到每条路径的数据结果;
S4.2:将所有路径输出的数据进行合并;
S4.3:在路径末端节点的属性表中设置统计量属性,根据设置的统计量属性计算具体的统计量;
S4.4:输出目标统计分析报表的SAS数据集,并根据节点在路径中的位置确定对应取值在表格中的缩进。
优选地,还包括步骤S5:
收集大量统计分析报表进行分析聚类,将相似类型的统计分析报表聚类在一起;
根据聚类在一起的统计分析报表涉及到的变量,以及这些变量可能的命名,归纳构建规则簇,并将树状图中的属性设置为规则簇中设置的占位符;
运行步骤S2至S4时,当检测到节点属性表中存在占位符时,通过占位符关联的规则簇,自动从ADaM数据集中分析出对应的变量并替换该占位符,当全部节点替换完成之后,得到自适应ADaM数据的统计分析报表。
优选地,所述规则簇支持name_regex、label_regex和label_inv_regex,其中,name_regex表示该条规则是针对数据集变量的name做匹配,label_regex表示该条规则是针对数据集变量的label做匹配,label_inv_regex表示该条规则是针对数据集中不符合规则的变量的label做匹配。
优选地,当占位符关联的规则簇无法在ADaM数据集找到对应的变量时,有以下三种处理方式:
1)该变量必须出现在该统计分析报表中,且该统计分析报表是需要完成的,此时,令节点属性表中的占位符不做任何更改,当检测到有占位符未被替换时,在对应的节点上给出错误提示,根据实际情况人工替换掉对应的节点;
2)当该变量不存在时,且该统计分析报表不需要生成,当发现有该类型的节点时,则会自动停止该统计分析报表的构建,并跳到下一个统计分析报表的自动构建中;
3)当有些变量不存在时,且该统计分析报表只是不需要当前分支,而其他分支则需要保留,此时需要去掉其所在的分支。
优选地,所述去掉其所在的分支,具体为:
确定节点所在的路径p,并找出该路径上位于该节点之前的不包含数据集节点的节点;
反转该路径,遍历该反转路径,找到第一个节点使其父节点包含有多个子节点,并将找到的节点从树状图结构中删除。
优选地,还包括步骤S6:当树状图的结构需要根据变量的取值进行调整时,具体调整方式为:
定义插入节点,所述插入节点用来标记需要动态构建树状图,所述插入节点存在对应的属性表,属性表里记录变量寻找过程中需要用到的先验信息,包括占位符以及对应的规则簇;
在自动构建统计分析报表时,当检测到插入节点后,取出其占位符以及对应的规则簇,利用步骤S5寻找ADaM数据集中对应的变量,当该变量不存在时,在树状图中直接删除该插入节点;当找到对应的变量时,加载ADaM数据集中该变量的全部取值并去重后,根据所述全部取值构建一颗子树,子树的每个节点由该变量的取值衍生而来;
将构建的子树插入到插入节点所在的位置。
与现有技术相比,本发明技术方案的有益效果是:
根据不同的ADaM以及Shell文件,本发明可以快速高效的生成TFL。首先本发明通过把TFL生成过程抽象成树状图的构建,可以让临床统计程序员非常方便直观的感知TFL的生成过程,同时当自动生成算法生成的TFL与实际情况有偏差时,程序员通过看图可以快速定位到错误的位置,降低了程序员调试程序的时间,提高了工作效率。同时通过简单的树状图构建就可以生成TFL,这极大的降低了对临床统计程序员编程经验的要求,而且也减少了因为冗余编程带来的人力成本开销。其次本发明通过构建通用化的TFL模板,提高了TFL在不同项目间被复用的能力,加快了项目的开发进度。最后本发明通过设计的自动裁剪算法以及自动加枝算法,可以做到对不同的ADaM以及Shell文件的自适应,减少了统计程序员熟悉数据的时间,加快了开发效率。因此本发明在TFL的生成场景中具有非常良好的应用前景与商业价值。
附图说明
图1为本发明的方法流程示意图。
图2为实施例提供的Table结构示意图。
图3为实施例提供的Listing结构示意图。
图4为实施例提供的TFL生成示意图。
图5为实施例提供的数据预处理SAS代码生成示意图。
图6为实施例提供的树状图路径解析SAS代码生成示意图。
图7为实施例提供的树状图路径合并并输出目标数据集SAS代码生成示意图。
图8为实施例提供的规则簇示意图。
图9为实施例提供的TFL模板树状图。
图10为实施例提供的改进后的TFL生成算法流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提供一种统计分析报表快速生成方法,如图1所示,包括以下步骤:
S1:获取ADaM数据集以及预定义文件;
S2:根据所述ADaM数据集的数据特点以及预定义文件的要求,分别搭建上表头树状图以及左侧表头树状图;
S3:解析所述上表头树状图以及左侧表头树状图,生成SAS代码;
S4:根据所述SAS代码生成统计分析报表。
在TFL中的绝大多数Table和Listing类型的表格,都具有明显的分层级列出变量及统计量的特点,如图2和图3所示。
本实施例中称呼位于表格顶部的表头为“上表头”,位于表格左侧的表格侧边栏为“左表头”,上表头与左表头通常由TFL的预定义文件来定义,统计程序员在拿到预定义文件后,需要通过编程,将ADaM数据处理成预定义文件描述的格式,并输出成rtf格式的报告文件。
本实施例通过使用树状结构来描述表格的这种分层级统计的结构,使得表格的数据结构能够更为直观的呈现出来。
实施例2
本实施例在实施例1的基础上,继续公开以下内容:
步骤S2中搭建上表头树状图以及左侧表头树状图,具体为:
树状图是一种数据结构,在本实施例中,树状图中由n(n>= 1)个有限节点组成一个具有层次关系的集合,每个节点有零个或者多个子节点,每个子节点可以分为多个不相交的子树,TFL的生成过程可以抽象成对两颗树状图的构建,其中每一个节点代表一个变量,而且每个节点具有自己的属性表,根据预定义文件,为每个节点设置对应的属性,同时在树状图中还设置有数据集节点,表示该统计分析报表关联的数据集,其中上表头选择的变量是对左侧表头所选变量的进一步分类,因此解析算法需要同时考虑两个表头设置的变量及其属性。临床统计程序员根据Shell的要求和ADaM数据的特点,选择正确的变量放在树状图中合适的位置,并设置好相应的属性。
上表头可以用一颗树状图表示,用于对上表头数据的定义,比如需要计算考虑在治疗组别(TRTAN)的影响下,标准毒性等级(AETOXGR)的统计信息,那上表头的节点就可以设置为治疗组别,本算法会根据治疗组别的取值,自动生成上表头的数据信息。左侧表头也可以用一颗树状图表示,用于对左侧表头数据的定义,比如需要计算标准毒性等级的统计信息,但是需要分别先按照SOC和AETERM进行分类,那么就可以构建一颗树,分别从SOC和AETERM出发,子节点都是标准毒性等级的树状图,示意图如图4所示,其中ADAE节点表示该TFL关联的是ADAE这个数据集,数据集节点是所有TFL中必须提前指定的节点。用户将相应的节点摆在树状图中对应的位置,即可以快速的生成一个初始的TFL TABLE,然后用户根据Shell文件的要求,比如需要计算标准毒性等级的均值和方差,那么在标准毒性等级这个变量的属性表里,设置对应的统计量即可,设置完成之后,用户就可以得到一个符合Shell规定的TFL TABLE。
步骤S3中解析所述上表头树状图以及左侧表头树状图,生成SAS代码,具体为:
S3.1:根据对树状图结构进行分析,找出该统计分析报表关联的数据集,并对该数据集进行预处理;
S3.2:基于多叉树的前序遍历算法,得到左侧表头树状图的全部路径,因为上表头选择的变量是对左侧表头所选变量的进一步分类,因此所述左侧表头树状图的全部路径包含所述上表头树状图中的节点;
如图4所示,得到的全部路径为:a. [ADAE, TRTAN, SOC, AETOXGR], b. [ADAE,TRTAN, AETERM, AETOXGR],其中,TRTAN表示图4中的治疗组别,SOC表示图4中的系统器官分类,AETOXGR表示图4中的标准毒性等级,AETERM表示图4中的不良事件报告词,同时图4中的治疗为Treatment,无效对照剂为Placebo,感染和侵扰为Infections andinfestations,调查为Investigations,体重增加为WEIGHT GAIN,发烧为FEVER,此时算法会根据每条路径中各节点属性表中设置的节点属性(如连续变量还是分类变量、统计量、最大值、最小值等),转化为对应的SAS代码。其转换核心SAS代码如图6所示(以路径a举例);
S3.3:根据每条路径中各节点属性表中设置的节点属性,转化为对应的SAS代码。
步骤S3.1中对该数据集进行预处理,具体为:
对数据集进行过滤:设置过滤条件在数据集节点的属性表中,当检测到数据集节点的属性表中的过滤条件时,将该过滤条件转化为对应的SAS代码,并置于对应的DATA步中;
根据树状图结构以及对应的属性表,分析得到该统计分析报表中涉及到的所有变量,并把这些变量在SAS的DATA步中保存下来。
在本实施例中,如当前TFL只考虑安全数据集,那么就可以将过滤条件SAFFL =‘Y’设置在数据集的属性表中,算法检测到该属性时,会将该规则转化为对应的SAS代码,并置于对应的DATA步中。其次算法会根据树状图结构以及对应的属性,分析出在该TFL中涉及到的所有变量,并把这些变量在SAS的DATA步中keep下来,这样可以去掉数据集中不相关的变量,提高SAS运行效率。根据图4,其核心SAS代码生成示意图如图5所示。
步骤S4中根据所述SAS代码生成统计分析报表,具体为:
S4.1:根据SAS代码得到每条路径的数据结果;
S4.2:将所有路径输出的数据进行合并;
S4.3:在路径末端节点的属性表中设置统计量属性,根据设置的统计量属性计算具体的统计量;
S4.4:输出目标统计分析报表的SAS数据集,并根据节点在路径中的位置确定对应取值在表格中的缩进。
在图3中,统计量属性设置在AETOXGR的属性表中,计算完统计量之后,就可以输出目标TFL SAS数据集了,这一步主要是根据节点在路径中的位置确定对应取值在表格中的缩进,比如路径b中,AETERM变量属于第二行第一个节点,那么其缩进为0,而AETOXGR属于第二行第二个节点,那么其缩进为1,以此类推。其转换核心SAS代码如图7所示。
经过上述步骤,用户可以构建出一个完整的TFL,当发现TFL结果不对,或者需要调整上表头或者左侧表头时,只需要替换或者添加对应的变量节点以及设置正确的属性,再次运行算法即可。
实施例3
本实施例在实施例1和实施例2的基础上,继续公开以下内容:
虽然通过对树状图的操作,可以极大减少临床统计程序员的代码量,但也还是需要程序员对TFL表格理解比较深入,而且对于相似的项目,TFL的复用成本比较高,程序员需要复制之前的TFL,并手动修改对应的节点与属性。因此本发明在以上操作的基础上进行了进一步的改进。
首先虽然申办方提供的Shell文件不同,但是对于大部分TFL如AE、LB、DM等数据集构建的TFL在结构上是大体类似的, 这就为构建通用化模板提供了可能。其次针对不同的ADaM数据集,其不同点主要体现在以下三点:
不同点1:变量名字不同,但是存在某一个变量和该变量的取值是一样的。比如SOC这个变量,有些项目中被命名为AESOC,有些是AEBODSYS,再比如ARELFL这个变量,有些项目会用RELGR1表示,有些会用AREL表示;
不同点2:变量完全不存在。当出现这种情况时,那就说明当前项目生成的TFL中不需要考虑这种变量。
不同点3:树状图的结构需要根据某个变量的取值调整,比如A变量有三种取值,那么树状图就应该有三个分支,如果A有五种取值,那么对应的树状图就应该有五个分支。
综合以上规律,本实施例可以构建一系列通用的TFL模板,通过设计自适应算法,自动分析出ADaM数据集的结构和特点,从而生成适用于该项目的TFL。本实施例优化包含以下三点:1、通用化模板构建;2、自动裁剪算法;3、自动加枝算法。
通用化模板构建包括步骤S5:
收集大量统计分析报表进行分析聚类,将相似类型的统计分析报表聚类在一起;
根据聚类在一起的统计分析报表涉及到的变量,以及这些变量可能的命名,归纳构建规则簇,并将树状图中的属性设置为规则簇中设置的占位符;
运行步骤S2至S4时,当检测到节点属性表中存在占位符时,通过占位符关联的规则簇,自动从ADaM数据集中分析出对应的变量并替换该占位符,当全部节点替换完成之后,得到自适应ADaM数据的统计分析报表。
通用化模板构建主要是解决不同点1,也就是变量名不同的情况。在此阶段不需要考虑不同点2和3,因为此时无法确定哪些变量需要舍弃或者增加树状图分支。
在本实施例中,按照规则簇从前往后在ADaM的数据集中寻找符合条件的变量。比如SOC这个变量,它出现的名字可能是AESOC和AEBODSYS,那么对应的规则簇如图8所示,aesoc_var是占位符,用于在模板中占位。集合中的name_regex表示该条规则是针对数据集变量的name做匹配,除了支持name_regex,同时还支持label_regex(针对数据集变量的label做匹配)以及label_inv_regex(针对数据集中不符合规则的变量的label做匹配)。type_filter是对变量类型做过滤。
构建好规则簇之后,就可以搭建TFL树状图,TFL树状图采用规则簇中的占位符作为节点。
在上述改进中,无法解决不同点2遇到的问题。当占位符关联的规则簇无法在ADaM数据中找到对应的变量时,一般有三种处理方式:
1)该变量必须出现在该统计分析报表中,且该统计分析报表是需要完成的,此时,令节点属性表中的占位符不做任何更改,当检测到有占位符未被替换时,在对应的节点上给出错误提示,根据实际情况人工替换掉对应的节点;
2)当该变量不存在时,且该统计分析报表不需要生成,当发现有该类型的节点时,则会自动停止该统计分析报表的构建,并跳到下一个统计分析报表的自动构建中;
3)当有些变量不存在时,且该统计分析报表只是不需要当前分支,而其他分支则需要保留,此时需要去掉其所在的分支。
如图9所示,当aeterm_var不存在时,此时需要去掉其所在的分支。
针对处理方式3),提出了自动裁剪算法,算法逻辑如下:
确定节点所在的路径p,并找出该路径上位于该节点之前的不包含数据集节点的节点,如图9所示,该路径为p = [phase_var, aeacn_var, aeterm_var];
反转该路径得到p_inv = [aeterm_var, aeacn_var, phase_var],遍历该反转路径p_inv,找到第一个节点使其父节点包含有多个子节点,并将找到的节点从树状图结构中删除,如图9中,该节点是aeacn_var,该节点的父节点phase_var包含两个子节点,因此将phase_var的子结点aeacn_var从树状图结构中删掉即可。
不同点3需要根据ADaM数据中某变量的具体取值动态构建树状图,因此上述改进都无法解决不同点3的问题。针对不同点3,设计了自动加枝算法,算法逻辑如下:
还包括步骤S6:当树状图的结构需要根据变量的取值进行调整时,具体调整方式为:
定义插入节点,所述插入节点用来标记需要动态构建树状图,方便算法去寻找对应的变量;所述插入节点存在对应的属性表,属性表里记录变量寻找过程中需要用到的先验信息,包括占位符以及对应的规则簇,比如该插入节点需要去寻找aeacn及其近似变量,那么在属性表中,就可以设置对应的aeacn_var占位符,以及对应的规则簇;
在自动构建统计分析报表时,当检测到插入节点后,取出其占位符以及对应的规则簇,利用步骤S5寻找ADaM数据集中对应的变量,当该变量不存在时,在树状图中直接删除该插入节点;当找到对应的变量时,加载ADaM数据集中该变量的全部取值并去重后,根据所述全部取值构建一颗子树,子树的每个节点由该变量的取值衍生而来;
将构建的子树插入到插入节点所在的位置,此时就完成了TFL生成过程中的自动加枝。
改进后的TFL生成流程如图10所示。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种统计分析报表快速生成方法,其特征在于,包括以下步骤:
S1:获取ADaM数据集以及预定义文件;
S2:根据所述ADaM数据集的数据特点以及预定义文件的要求,分别搭建上表头树状图以及左侧表头树状图;
S3:解析所述上表头树状图以及左侧表头树状图,生成SAS代码;
S4:根据所述SAS代码生成统计分析报表。
2.根据权利要求1所述的统计分析报表快速生成方法,其特征在于,步骤S2中搭建上表头树状图以及左侧表头树状图,具体为:
树状图中由n个有限节点组成一个具有层次关系的集合,每个节点有零个或者多个子节点,每个子节点可以分为多个不相交的子树,每一个节点代表一个变量,而且每个节点具有自己的属性表,根据预定义文件,为每个节点设置对应的属性,同时在树状图中还设置有数据集节点,表示该统计分析报表关联的数据集。
3.根据权利要求2所述的统计分析报表快速生成方法,其特征在于,步骤S3中解析所述上表头树状图以及左侧表头树状图,生成SAS代码,具体为:
S3.1:根据对树状图结构进行分析,找出该统计分析报表关联的数据集,并对该数据集进行预处理;
S3.2:基于多叉树的前序遍历算法,得到左侧表头树状图的全部路径,所述左侧表头树状图的全部路径包含所述上表头树状图中的节点;
S3.3:根据每条路径中各节点属性表中设置的节点属性,转化为对应的SAS代码。
4.根据权利要求3所述的统计分析报表快速生成方法,其特征在于,步骤S3.1中对该数据集进行预处理,具体为:
对数据集进行过滤:设置过滤条件在数据集节点的属性表中,当检测到数据集节点的属性表中的过滤条件时,将该过滤条件转化为对应的SAS代码,并置于对应的DATA步中;
根据树状图结构以及对应的属性表,分析得到该统计分析报表中涉及到的所有变量,并把这些变量在SAS的DATA步中保存下来。
5.根据权利要求3所述的统计分析报表快速生成方法,其特征在于,步骤S4中根据所述SAS代码生成统计分析报表,具体为:
S4.1:根据SAS代码得到每条路径的数据结果;
S4.2:将所有路径输出的数据进行合并;
S4.3:在路径末端节点的属性表中设置统计量属性,根据设置的统计量属性计算具体的统计量;
S4.4:输出目标统计分析报表的SAS数据集,并根据节点在路径中的位置确定对应取值在表格中的缩进。
6.根据权利要求2至5任一项所述的统计分析报表快速生成方法,其特征在于,还包括步骤S5:
收集大量统计分析报表进行分析聚类,将相似类型的统计分析报表聚类在一起;
根据聚类在一起的统计分析报表涉及到的变量,以及这些变量可能的命名,归纳构建规则簇,并将树状图中的属性设置为规则簇中的占位符;
运行步骤S2至S4时,当检测到节点属性表中存在占位符时,通过占位符关联的规则簇,自动从ADaM数据集中分析出对应的变量并替换该占位符,当全部节点替换完成之后,得到自适应ADaM数据的统计分析报表。
7.根据权利要求6所述的统计分析报表快速生成方法,其特征在于,所述规则簇支持name_regex、label_regex和label_inv_regex,其中,name_regex表示该条规则是针对数据集变量的name做匹配,label_regex表示该条规则是针对数据集变量的label做匹配,label_inv_regex表示该条规则是针对数据集中不符合规则的变量的label做匹配。
8.根据权利要求7所述的统计分析报表快速生成方法,其特征在于,当占位符关联的规则簇无法在ADaM数据集找到对应的变量时,有以下三种处理方式:
1)该变量必须出现在该统计分析报表中,且该统计分析报表是需要完成的,此时,令节点属性表中的占位符不做任何更改,当检测到有占位符未被替换时,在对应的节点上给出错误提示,根据实际情况人工替换掉对应的节点;
2)当该变量不存在时,且该统计分析报表不需要生成,当发现有该类型的节点时,则会自动停止该统计分析报表的构建,并跳到下一个统计分析报表的自动构建中;
3)当有些变量不存在时,且该统计分析报表只是不需要当前分支,而其他分支则需要保留,此时需要去掉其所在的分支。
9.根据权利要求8所述的统计分析报表快速生成方法,其特征在于,所述去掉其所在的分支,具体为:
确定节点所在的路径p,并找出该路径上位于该节点之前的不包含数据集节点的节点;
反转该路径,遍历该反转路径,找到第一个节点使其父节点包含有多个子节点,并将找到的节点从树状图结构中删除。
10.根据权利要求9所述的统计分析报表快速生成方法,其特征在于,还包括步骤S6:当树状图的结构需要根据变量的取值进行调整时,具体调整方式为:
定义插入节点,所述插入节点用来标记需要动态构建树状图,所述插入节点存在对应的属性表,属性表里记录变量寻找过程中需要用到的先验信息,包括占位符以及对应的规则簇;
在自动构建统计分析报表时,当检测到插入节点后,取出其占位符以及对应的规则簇,利用步骤S5寻找ADaM数据集中对应的变量,当该变量不存在时,在树状图中直接删除该插入节点;当找到对应的变量时,加载ADaM数据集中该变量的全部取值并去重后,根据所述全部取值构建一颗子树,子树的每个节点由该变量的取值衍生而来;
将构建的子树插入到插入节点所在的位置。
CN202310447700.4A 2023-04-24 2023-04-24 一种统计分析报表快速生成方法 Active CN116225455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310447700.4A CN116225455B (zh) 2023-04-24 2023-04-24 一种统计分析报表快速生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310447700.4A CN116225455B (zh) 2023-04-24 2023-04-24 一种统计分析报表快速生成方法

Publications (2)

Publication Number Publication Date
CN116225455A true CN116225455A (zh) 2023-06-06
CN116225455B CN116225455B (zh) 2023-08-11

Family

ID=86571579

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310447700.4A Active CN116225455B (zh) 2023-04-24 2023-04-24 一种统计分析报表快速生成方法

Country Status (1)

Country Link
CN (1) CN116225455B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289930A (zh) * 2023-11-27 2023-12-26 杭州比智科技有限公司 一种适用于数据大屏自定义主题样式的构建方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094060A1 (en) * 2005-10-25 2007-04-26 Angoss Software Corporation Strategy trees for data mining
CN115917658A (zh) * 2020-06-23 2023-04-04 盐野义制药株式会社 用于辅助临床试验的分析程序的生成的程序生成辅助系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094060A1 (en) * 2005-10-25 2007-04-26 Angoss Software Corporation Strategy trees for data mining
CN115917658A (zh) * 2020-06-23 2023-04-04 盐野义制药株式会社 用于辅助临床试验的分析程序的生成的程序生成辅助系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐晓艳等: "ADaM 提交评审材料的核查路径及SAS 宏实现", 《临床药理学》, pages 1388 - 1392 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117289930A (zh) * 2023-11-27 2023-12-26 杭州比智科技有限公司 一种适用于数据大屏自定义主题样式的构建方法及系统
CN117289930B (zh) * 2023-11-27 2024-02-02 杭州比智科技有限公司 一种适用于数据大屏自定义主题样式的构建方法及系统

Also Published As

Publication number Publication date
CN116225455B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
US8108765B2 (en) Identifying and annotating shared hierarchical markup document trees
CN116225455B (zh) 一种统计分析报表快速生成方法
CN111950263B (zh) 一种日志解析方法、系统及电子设备
US20080091649A1 (en) Processing queries on hierarchical markup data using shared hierarchical markup trees
CN111984669A (zh) 一种支持动态变量的函数式sql查询方法、装置、设备和介质
CN113704343A (zh) 一种数据治理中的数据血缘可视化实现方法及系统
CN113608903A (zh) 一种基于xml语言的故障管理方法
CN111259082B (zh) 大数据环境下实现全量数据同步的方法
CN117251517A (zh) 大数据视野下的年鉴行政区划信息匹配方法和模型
CN111984826A (zh) 基于xml的数据自动入库方法、系统、装置和存储介质
CN108509187B (zh) 一种自动生成软件平台mib功能代码的方法及系统
CN114860668A (zh) 数据文件在线动态生成方法及装置
CN115905353A (zh) 关联数据导出、导入方法、装置、设备及存储介质
JP3758282B2 (ja) 情報検索装置
CN116126918A (zh) 数据生成方法、信息筛选方法、设备以及介质
JP2010170287A (ja) データ抽出システム
CN108563665A (zh) 一种基于大数据技术的数据处理系统及方法
CN113792067A (zh) 一种基于递归算法的sql自动生成系统与方法
CN114519071A (zh) 规则匹配模型的生成方法、匹配方法、系统、设备和介质
CN111352824B (zh) 测试方法、装置及计算机设备
EP3488359A1 (en) Systems and methods for database compression and evaluation
Marotta et al. Managing source schema evolution in web warehouses
US20230060475A1 (en) Operation data analysis device, operation data analysis system, and operation data analysis method
CN117370620B (zh) 一种数据血缘的构建方法、装置、终端设备及存储介质
CN114676136B (zh) 一种面向内存键值表的子集过滤器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230714

Address after: D105 D107, No.3 Juquan Road, Huangpu District, Guangzhou City, Guangdong Province, 510663

Applicant after: Guangdong Jiena Pharmaceutical Technology Co.,Ltd.

Applicant after: Guangzhou Jiena Pharmaceutical Technology Development Co.,Ltd.

Address before: 510663 D105, d107, No. 3, Juquan Road, Huangpu District, Guangzhou, Guangdong

Applicant before: Guangdong Jiena Pharmaceutical Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Room 701-708, Building H, No. 3 Juquan Road, Huangpu District, Guangzhou City, Guangdong Province, 510663

Patentee after: Guangdong Jiena Pharmaceutical Technology Co.,Ltd.

Patentee after: Guangzhou Jiena Pharmaceutical Technology Development Co.,Ltd.

Address before: D105 D107, No.3 Juquan Road, Huangpu District, Guangzhou City, Guangdong Province, 510663

Patentee before: Guangdong Jiena Pharmaceutical Technology Co.,Ltd.

Patentee before: Guangzhou Jiena Pharmaceutical Technology Development Co.,Ltd.