一种自动化网页报告生成方法及生成***
技术领域
本发明涉及数据处理技术领域,尤其涉及一种自动化网页报告生成方法及生成***。
背景技术
目前大多数公司项目分析的报告,大多数为word或者pdf格式,缺少交互性。能提供网页化报告的公司基本上均是针对特定的项目的报告生成方法,缺乏通用性,而且具有以下缺陷:
1.成本高,现有技术生成报告需要人工介入,随着分析内容的增加,耗用的人力成本,时间成本,风险成本均显著增加;
2.效率低,现有技术无法自动化生产,需要考虑的各种因素,出具一个报告往往需要几十分钟至几个小时,同时,还受所用电脑的资源影响;
3.生成的网页报告,包含多个额外的css,以及js文件,传输过程中容易丢失导致网页呈现内容出错;
4.没有更好的网页交互措施,如报告开始的报告解读呈现,如图片及表格的交互查看逻辑。
发明内容
本发明的目的在于创建一种新型的自动化报告生成框架,定义相应的数据结构,可以快捷的应用于各个分析项目的结果内容呈现,统一输出风格,提高自动化程度,提高效率。
本发明提了一种自动化报告生成方法,包括以下步骤:
a)定义报告模型数据结构,包括:报告信息结构和报告主体结构:
所述报告信息结构包含报告的初始输入信息,用于渲染到网页报告的开始位置,用于显示报告内容;
所述报告主体结构能够实现递归式加载;
b)报告主体结构包含的自动化方法,包括:
add_section方法,用于自动化增加子主体结构,并同时实现根据name从配置的yaml文件中读取对应的description信息,自动化渲染成网页结构或者word结构;
add_fig/add_plot方法,用于动态的增加报告中生成的图片结果,其中匹配报告中对应的结果的时候,利用*号进行通用匹配;同时需要实现在生成图片的网页化结构的时候,自动记录图片顺序,章节;能够实现图片的点击浏览;生成网页报告结构的时候,图片元素包含嵌入在网页中的缩略图以及链接指向具体报告文件夹中的实际文件用于报告查询;
add_table方法,用于动态的增加网页报告中的表格文件,表格文件可以用于智能读取报告生成的表格文件;同时能够实现网页报告中的每列点击排序,当表格文件行数大于20行以上的时候,能够增加快速搜索模块,表格中单元格内容较多的时候的滚动栏设计逻辑;
add_comment方法,用于增加报告图片与table之间的额外字段;
write_to方法,用于将主体结果保存为网页结构和word结构;
首次访问网站页面自动展开帮助信息,再次访问自动折叠帮助信息;
网页中所有区域的help文本显示均设置为悬停鼠标显示对应的文本帮助信息;
c)实际生产使用逻辑
根据对应产品,配置对应的生产文档,结合脚本,根据文档内容结合本方法设定好的逻辑及显示内容自动生成网页化报告;报告中自动生成相关交互式内容。
其中,所述初始输入信息包括项目名称,客户姓名,单位,样本类型。
其中,所述主体结构包含以下关键字段:
i.name用于确定对应的章节;
ii.description用于确认对应的章节描述信息,其中description可以支持输入markdown格式,用于更灵活的网页框架呈现;
iii.help_text用于显示帮助信息;
iv._results用于按顺序存储自动化增加的报告子主体结构;
v.faq用于自动化存储对应章节的FAQ信息,用于收集整理后显示在报告的特定区域;
vi.reference用于自动化存储章节description中的参考文献信息,最终生成报告的时候自动在报告的特定区域生成文献引用并实现点击跳转的功能。
基于以上方法,本发明还提出了一种自动化报告生成***,包括以下模块:
定义模块,其用于定义报告模型数据结构,包括:报告信息结构和报告主体结构;
自动化模块,其用于报告主体结构的自动化;
逻辑模块,其用于根据对应产品,配置对应的生产文档,结合脚本,根据文档内容结合本方法设定好的逻辑及显示内容自动生成网页化报告;报告中自动生成相关交互式内容。
本发明自动化报告生成方法及生成***,实现高度统一的报告输出,强化了风格统一类型。生成网页报告的同时,自动化生成word报告,word报告中自动***链接,自动生成文档目录。生成的网页报告仅保存为单一文件,所有数据均存储在文件中,统一呈现,避免显示错误。网页报告中充满了各种交互式操作内容,可以非常方便客户进行结果查看。
附图说明
图1为实施例1中的网页报告示意图。
图2为实施例2中的网页报告示意图。
图3为实施例3中的网页报告示意图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提出的自动化报告生成方法,包括以下步骤:
b)定义报告模型数据结构及相关方法
c)报告信息结构,包含报告的初始输入信息,如项目名称,客户姓名,单位,样本类型等,最终用于渲染到网页报告的开始位置,用于显示报告内容;
d)报告主体结构,报告包含关键主体结构,同时主体结构能够实现递归式加载。
主体结构包含几个关键字段:
i.name用于确定对应的章节;
ii.description用于确认对应的章节描述信息,其中description可以支持输入markdown格式,用于更灵活的网页框架呈现;
iii.help_text用于显示帮助信息;
iv._results用于按顺序存储自动化增加的报告子主体结构,
v.faq用于自动化存储对应章节的FAQ信息,用于收集整理后显示在报告的特定区域;
vi.reference用于自动化存储章节description中的参考文献信息,最终生成报告的时候自动在报告的特定区域生成文献引用并实现点击跳转的功能。
主体结构包含自动化方法:
i.add_section方法用于自动化增加子主体结构,并同时实现根据name从配置的yaml文件中读取对应的description信息,自动化渲染成网页结构或者word结构;
ii.add_fig/add_plot方法用于动态的增加报告中生成的图片结果,其中匹配报告中对应的结果的时候,可以利用*号进行通用匹配;同时需要实现在生成图片的网页化结构的时候,自动记录图片顺序,章节。能够实现图片的点击浏览。生成网页报告结构的时候,图片元素包含嵌入在网页中的缩略图以及链接指向具体报告文件夹中的实际文件用于报告查询。
iii.add_table方法用于动态的增加网页报告中的表格文件,表格文件可以用于智能读取报告生成的表格文件。同时能够实现网页报告中的每列点击排序,当表格文件行数大于20行以上的时候,能够增加快速搜索模块,表格中单元格内容较多的时候的滚动栏设计逻辑。
iv.add_comment方法用于增加报告图片与table之间的额外字段。
v.write_to方法用于将主体结果保存为网页结构和word结构。
实际生产使用逻辑
根据对应产品,配置对应的生产文档,结合脚本,可以根据文档内容结合本方法设定好的逻辑及显示内容自动生成网页化报告。报告中自动生成相关交互式内容。
本发明提出的自动化报告生成***,包括以下模块:
定义模块,其用于定义报告模型数据结构,包括:报告信息结构和报告主体结构;
自动化模块,其用于报告主体结构的自动化;
逻辑模块,其用于根据对应产品,配置对应的生产文档,结合脚本,根据文档内容结合本方法设定好的逻辑及显示内容自动生成网页化报告;报告中自动生成相关交互式内容。
实施例1
欧易生物Agilent芯片常规项目的网页报告(对应图1)。
1.准备工作
a)文档信息预处理;
b)将分析模块的文档信息提取对应,如名称对应,描述信息对应,帮助信息对应,图片信息处理,表格信息处理,注释信息处理;
2.分析过程
a)在分析过程1完成后提取预处理信息的数据生成分析过程文档1;
b)在分析过程2完成后提取预处理信息的数据生成分析过程文档2;
c)以此类推,每个分析过程完成后均生成对应过程的文档;
3.报告生成
a)基于分析过程得到的各个过程文档,自动整合为一个完成的网页报告;
b)基于网页报告转化为对应的文档报告。
4.本实施例主要用于生成文档与现有流程整合合并一起使用。
实施例2
欧易生物全转录组项目的网页报告(对应图2)。
1.准备工作
a)文档信息预处理;
b)将分析模块的文档信息提取对应,如名称对应,描述信息对应,帮助信息对应,图片信息处理,表格信息处理,注释信息处理;
2.分析过程
a)分析过程分别按照预定的脚本自动生成对应结果;
3.文档生成
a)根据分析过程中生成的文档结果,自动提取准备工作中的文档信息,生成各个文档模块;
4.报告生成
a)基于分析过程得到的各个过程文档,自动整合为一个完成的网页报告;
b)基于网页报告转化为对应的文档报告。
5.本实施例主要用于已有的分析流程和自动化报告生成的文档先结合使用。
实施例3
欧易生物质控项目的自动化网页报告(对应图3)。
1.准备工作(无)
2.分析过程与文档生成
a)分析过程中可以灵活的将文档内容与各个质控步骤整合;
b)分析结束及各个步骤文档模块均生成;
3.报告生成
a)基于分析过程得到的各个过程文档,自动整合为一个完成的网页报告;
b)基于网页报告转化为对应的文档报告。
4.本实施例主要用于个性化或者定制化的模块分析文档生成使用。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。