CN112199928A - 基于机器学习的报表系统及报表生成方法 - Google Patents
基于机器学习的报表系统及报表生成方法 Download PDFInfo
- Publication number
- CN112199928A CN112199928A CN202011108235.4A CN202011108235A CN112199928A CN 112199928 A CN112199928 A CN 112199928A CN 202011108235 A CN202011108235 A CN 202011108235A CN 112199928 A CN112199928 A CN 112199928A
- Authority
- CN
- China
- Prior art keywords
- report
- execution
- components
- input parameters
- component
- 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.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000009877 rendering Methods 0.000 claims abstract description 38
- 238000013461 design Methods 0.000 claims abstract description 20
- 230000002452 interceptive effect Effects 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 abstract description 10
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
本发明揭示了一种基于机器学习的报表系统及报表生成方法,所述机器学习报表系统包括:组件定义模块,用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;报表设计模块,用以定义本报表用到的组件、组件的输入参数值以及渲染模板类型;报表执行模块,用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据;根据渲染模板类型,生成渲染结果文件。本发明采用组件化思想,能够处理各种复杂的数据源和报表类型,具有高度的易用性和可扩展性。
Description
技术领域
本发明属于计算机技术领域,涉及一种报表系统,尤其涉及一种基于机器学习的报表系统及报表生成方法。
背景技术
目前常规的报表平台有以下问题:(1)只适用于结构化数据(关系型数据库表),无法处理非结构化的复杂数据;(2)灵活度不够,适用场景有限,难以开发复杂的机器学习报表;(3)有限的交互性。
基于此,对于复杂的机器学习报表通常只能手工开发,开发难度大(需要精通机器学习的专家),周期长,并且难以维护。
有鉴于此,如今迫切需要设计一种新的报表平台,以便克服现有报表平台存在的上述至少部分缺陷。
发明内容
本发明提供一种基于机器学习的报表系统及报表生成方法,能够处理各种复杂的数据源和报表类型,具有高度的易用性和可扩展性。
为解决上述技术问题,根据本发明的一个方面,采用如下技术方案:
一种基于机器学习的报表系统,所述机器学习报表系统包括:
组件定义模块,用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;所述组件定义模块定义的输入参数包括名称、类型、默认值、输入格式;所述组件定义模块执行一次性任务,完成后即可被任意报表引用;所述组件的输入参数值包括数据库表、本地csv、外部系统;
报表设计模块,用以定义报表用到的组件、组件的输入参数值以及渲染模板类型;所述报表设计模块定义的渲染模板类型包括html、pdf;以及
报表执行模块,用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据;所述报表执行模块还用以根据渲染模板类型,生成渲染结果文件;所述报表执行模块还用以进行报表展示。
根据本发明的另一个方面,采用如下技术方案:一种基于机器学习的报表系统,所述机器学习报表系统包括:
组件定义模块,用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;
报表设计模块,用以定义报表用到的组件、组件的输入参数值以及渲染模板类型;以及
报表执行模块,用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。
作为本发明的一种实施方式,所述组件定义模块定义的输入参数包括名称、类型、默认值、输入格式。
作为本发明的一种实施方式,所述组件定义模块执行一次性任务,完成后即可被任意报表引用。
作为本发明的一种实施方式,所述组件的输入参数值包括数据库表、本地csv、外部系统。
作为本发明的一种实施方式,所述报表设计模块定义的渲染模板类型包括html、pdf。
作为本发明的一种实施方式,所述报表执行模块还用以根据渲染模板类型,生成渲染结果文件;进行报表展示。
根据本发明的又一个方面,采用如下技术方案:一种基于机器学习的报表生成方法,所述报表生成方法包括:
组件定义步骤;定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;
报表设计步骤;定义本报表用到的组件、组件的输入参数值以及渲染模板类型;以及
报表执行步骤;供用户通过浏览器访问前置服务,供前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。
作为本发明的一种实施方式,所述组件定义步骤中,定义的输入参数包括名称、类型、默认值、输入格式。
作为本发明的一种实施方式,所述报表设计步骤中,定义组件的输入参数值包括数据库表、本地csv、外部系统;定义的渲染模板类型包括html、pdf。
作为本发明的一种实施方式,所述报表执行步骤中,还包括:根据渲染模板类型,生成渲染结果文件;进行报表展示。
本发明的有益效果在于:本发明提出的基于机器学习的报表系统及报表生成方法,采用组件化思想,能够处理各种复杂的数据源和报表类型,具有高度的易用性和可扩展性。
本发明支持组件库管理,可轻松自定义组件;本发明支持交互性组件(滑动条、文本框、选择框、按钮、多选框、动画、文件选择、日期选择、网格、标签页等)。本发明支持常用的机器学习评估和统计图表,如ROC曲线、KS曲线、Precision/Recall曲线等;此外,本发明支持常规的bi报表(柱状图、折线图等)。
附图说明
图1为本发明一实施例中基于机器学习的报表系统的组成示意图。
图2为本发明一实施例中基于机器学习的报表生成方法的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
为了进一步理解本发明,下面结合实施例对本发明优选实施方案进行描述,但是应当理解,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制。
该部分的描述只针对几个典型的实施例,本发明并不仅局限于实施例描述的范围。相同或相近的现有技术手段与实施例中的一些技术特征进行相互替换也在本发明描述和保护的范围内。
说明书中的“连接”既包含直接连接,也包含间接连接。
本发明揭示了一种基于机器学习的报表系统,图1为本发明一实施例中基于机器学习的报表系统的组成示意图;请参阅图1,所述机器学习报表系统包括:组件定义模块1、报表设计模块2及报表执行模块3。
组件定义模块1用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件。在一实施例中,所述组件定义模块1定义的输入参数包括名称、类型、默认值、输入格式;所述组件定义模块1执行一次性任务,完成后即可被任意报表引用。
报表设计模块2用以定义本报表用到的组件、组件的输入参数值以及渲染模板类型。在一实施例中,所述组件的输入参数值包括数据库表、本地csv、外部系统;所述报表设计模块2定义的渲染模板类型包括html、pdf。
报表执行模块3用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。在本发明的一实施例中,所述报表执行模块还用以根据渲染模板类型,生成渲染结果文件;进行报表展示。
本发明还揭示一种基于机器学习的报表生成方法,图2为本发明一实施例中基于机器学习的报表生成方法的流程图;所述报表生成方法包括(各步骤不限定先后次序):
【步骤S1】组件定义步骤;定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件。在一实施例中,定义的输入参数包括名称、类型、默认值、输入格式。
【步骤S2】报表设计步骤;定义本报表用到的组件、组件的输入参数值以及渲染模板类型。在一实施例中,定义组件的输入参数值包括数据库表、本地csv、外部系统;定义的渲染模板类型包括html、pdf。
【步骤S3】报表执行步骤;用户通过浏览器访问前置服务,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。在一实施例中,所述报表执行步骤中,还包括:根据渲染模板类型,生成渲染结果文件;进行报表展示。
本发明使用组件化思想来设计机器学习报表,将复杂报表的设计和开发流程通过组件实现解耦,配合拖拉拽的可视化界面,具有高度的易用性和可扩展性。
在本发明的一实施例中,组件定义流程包括如下步骤:
1、打开组件管理页面,新建或修改组件。
2、定义组件的输入参数,包括名称、类型、默认值、输入格式等。
3、定义组件用到的编程语言和使用框架。
4、定义组件功能的源码。
5、定义需要展示的图表和交互控件。
在本发明的一实施例中,报表设计流程包括如下步骤:
1、创建报表工程,可以包含多个报表。
2、通过拖拽方式,将需要的组件加入工程。
3、定义组件的输入参数值,可以是数据库表、本地csv、外部系统等。
4、定义渲染模板类型,默认是html。
5、保存报表工程,将可视化设计的报表自动转换为一张DAG有向无环图,并保存到数据库中。
在本发明的一实施例中,报表执行流程包括如下步骤:
1、用户通过浏览器访问前置服务。
2、前置服务对请求进行解析和分发。
3、报表引擎接收请求进行解析。
4、根据报表id从数据库中读取相应的流程节点并组装成DAG有向无环图。
5、解析出DAG中的所有组件及其属性,包括输入参数、返回参数、调用关系、执行语言、组件源码、右键菜单项、引用的绘图库等,支持常用绘图库如matplotlib、seaborn等。
6、代码引擎根据DAG的解析结果拼装成后台可执行Python代码,并传给渲染引擎。
7、渲染引擎解释执行后台Python代码,转换成对应的前台html文件,保存到本地并将其url传给浏览器。
8、浏览器打开html文件展示交互式报表。
综上所述,本发明提出的基于机器学习的报表系统及报表生成方法,采用组件化思想,能够处理各种复杂的数据源和报表类型,具有高度的易用性和可扩展性。
本发明支持组件库管理,可轻松自定义组件;本发明支持交互性组件(滑动条、文本框、选择框、按钮、多选框、动画、文件选择、日期选择、网格、标签页等)。本发明支持常用的机器学习评估和统计图表,如ROC曲线、KS曲线、Precision/Recall曲线等;此外,本发明支持常规的bi报表(柱状图、折线图等)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。实施例中所涉及的效果或优点可因多种因素干扰而可能不能在实施例中体现,对于效果或优点的描述不用于对实施例进行限制。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。
Claims (10)
1.一种基于机器学习的报表系统,其特征在于,所述机器学习报表系统包括:
组件定义模块,用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;所述组件定义模块定义的输入参数包括名称、类型、默认值、输入格式;所述组件定义模块执行一次性任务,完成后即可被任意报表引用;所述组件的输入参数值包括数据库表、本地csv、外部系统;
报表设计模块,用以定义报表用到的组件、组件的输入参数值以及渲染模板类型;所述报表设计模块定义的渲染模板类型包括html、pdf;以及
报表执行模块,用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据;所述报表执行模块还用以根据渲染模板类型,生成渲染结果文件;所述报表执行模块还用以进行报表展示。
2.一种基于机器学习的报表系统,其特征在于,所述机器学习报表系统包括:
组件定义模块,用以定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;
报表设计模块,用以定义报表用到的组件、组件的输入参数值以及渲染模板类型;以及
报表执行模块,用以在用户通过浏览器访问前置服务时,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。
3.根据权利要求2所述的基于机器学习的报表系统,其特征在于:
所述组件定义模块定义的输入参数包括名称、类型、默认值、输入格式。
4.根据权利要求2所述的基于机器学习的报表系统,其特征在于:
所述组件定义模块执行一次性任务,完成后即可被任意报表引用。
5.根据权利要求2所述的基于机器学习的报表系统,其特征在于:
所述组件的输入参数值包括数据库表、本地csv、外部系统。
6.根据权利要求2所述的基于机器学习的报表系统,其特征在于:
所述报表设计模块定义的渲染模板类型包括html、pdf。
7.根据权利要求2所述的基于机器学习的报表系统,其特征在于:
所述报表执行模块还用以根据渲染模板类型,生成渲染结果文件;所述报表执行模块还用以进行报表展示。
8.一种基于机器学习的报表生成方法,其特征在于,所述报表生成方法包括:
组件定义步骤;定义输入参数、用到的编程语言和使用框架、功能逻辑的实现源码以及需要展示的图表和交互控件;
报表设计步骤;定义报表用到的组件、组件的输入参数值以及渲染模板类型;以及
报表执行步骤;用户通过浏览器访问前置服务,前置服务对请求进行解析和分发;根据组件和报表的定义对组件解析,分解出输入参数、执行语言、执行源码;从数据源读取输入参数,调用执行引擎运行组件源码,生成结果数据。
9.根据权利要求8所述的基于机器学习的报表生成方法,其特征在于:
所述组件定义步骤中,定义的输入参数包括名称、类型、默认值、输入格式。
10.根据权利要求8所述的基于机器学习的报表生成方法,其特征在于:
所述报表设计步骤中,定义组件的输入参数值包括数据库表、本地csv、外部系统;定义的渲染模板类型包括html、pdf。
所述报表执行步骤中,还包括:根据渲染模板类型,生成渲染结果文件;进行报表展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011108235.4A CN112199928A (zh) | 2020-10-16 | 2020-10-16 | 基于机器学习的报表系统及报表生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011108235.4A CN112199928A (zh) | 2020-10-16 | 2020-10-16 | 基于机器学习的报表系统及报表生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112199928A true CN112199928A (zh) | 2021-01-08 |
Family
ID=74009873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011108235.4A Pending CN112199928A (zh) | 2020-10-16 | 2020-10-16 | 基于机器学习的报表系统及报表生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199928A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048722A (zh) * | 2021-11-23 | 2022-02-15 | 北京三维天地科技股份有限公司 | 一种电子报表模板设计及动态渲染的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281447A (zh) * | 2014-09-01 | 2015-01-14 | 国家电网公司 | 一种报表快速生成及发布的系统及其方法 |
CN106293661A (zh) * | 2015-05-22 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 图形报表的生成、生成处理方法及装置 |
CN106469140A (zh) * | 2015-08-17 | 2017-03-01 | 朗新科技股份有限公司 | 一种报表生成系统及其方法 |
CN107491427A (zh) * | 2017-06-08 | 2017-12-19 | 北京小度信息科技有限公司 | 数据报表处理方法及装置 |
CN108874757A (zh) * | 2017-05-10 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 报表生成方法及系统、计算机可读介质、电子设备 |
US20190042703A1 (en) * | 2017-08-04 | 2019-02-07 | International Business Machines Corporation | Automatically associating user input with sections of an electronic report using machine learning |
-
2020
- 2020-10-16 CN CN202011108235.4A patent/CN112199928A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281447A (zh) * | 2014-09-01 | 2015-01-14 | 国家电网公司 | 一种报表快速生成及发布的系统及其方法 |
CN106293661A (zh) * | 2015-05-22 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 图形报表的生成、生成处理方法及装置 |
CN106469140A (zh) * | 2015-08-17 | 2017-03-01 | 朗新科技股份有限公司 | 一种报表生成系统及其方法 |
CN108874757A (zh) * | 2017-05-10 | 2018-11-23 | 北京京东尚科信息技术有限公司 | 报表生成方法及系统、计算机可读介质、电子设备 |
CN107491427A (zh) * | 2017-06-08 | 2017-12-19 | 北京小度信息科技有限公司 | 数据报表处理方法及装置 |
US20190042703A1 (en) * | 2017-08-04 | 2019-02-07 | International Business Machines Corporation | Automatically associating user input with sections of an electronic report using machine learning |
Non-Patent Citations (1)
Title |
---|
艳鹏: "利用VBasic.Net编写一个功能强大的通用报表组件", 《市场研究》, no. 6, 30 June 2004 (2004-06-30), pages 55 - 56 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114048722A (zh) * | 2021-11-23 | 2022-02-15 | 北京三维天地科技股份有限公司 | 一种电子报表模板设计及动态渲染的方法及系统 |
CN114048722B (zh) * | 2021-11-23 | 2022-05-24 | 北京三维天地科技股份有限公司 | 一种电子报表模板设计及动态渲染的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831449B2 (en) | Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language | |
Chao | Human-computer interaction: process and principles of human-computer interface design | |
CN111208982B (zh) | 基于可视化配置方式的erp系统快速定制平台 | |
CN108170409B (zh) | Web前端控件的开发方法和系统 | |
Cánovas Izquierdo et al. | A domain specific language for extracting models in software modernization | |
CN113886362A (zh) | 基于工作流引擎及低代码平台的数据存储系统及存储方法 | |
CN106339363A (zh) | 一种ppt报告的制作方法和装置 | |
CN111880784A (zh) | 一种面向simscript语言的离散事件仿真图形化建模方法 | |
CN112199928A (zh) | 基于机器学习的报表系统及报表生成方法 | |
CN113655996A (zh) | 一种基于需求模型的企业级系统生成方法 | |
CN109740138A (zh) | 一种实现思维导图软件中图片文件可编辑的方法 | |
US20040102960A1 (en) | Process and system for generating knowledge code and converting knowledge code into text | |
CN116909553A (zh) | 一种页面在线开发及本地编译运行系统 | |
Souza et al. | Guideautomator: Continuous delivery of end user documentation | |
Paris et al. | Environments for the construction and use of task models | |
CN115525321A (zh) | 分布式任务生成方法、装置、设备及存储介质 | |
Ortega et al. | A tool for modeling software development contexts in small software organizations | |
JP2988911B1 (ja) | プログラム自動生成装置 | |
JPH0683594A (ja) | ウィズィウィグ式エディターとコンパイラーとを統合したグラフィカル・ユーザ・インターフェース | |
CN113094044B (zh) | 一种编写ppt ui插件代码的方法及终端 | |
Han et al. | Design and Implementation of B/S Architecture Code Automatic Generation System | |
Wiriyakul et al. | A visual editor for language-independent scripting for BPMN modeling | |
Göhner et al. | Integrated Accessibility Models of User Interfaces for IT and Automation Systems. | |
CN113835694A (zh) | 一种自定义数据可视化展示平台 | |
Wei et al. | Research on software reuse of user interface for mobile computing devices based on XML |
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 |