掌桥专利:专业的专利平台
掌桥专利
首页

一种报表生成方法、装置、设备及存储介质

文献发布时间:2023-06-19 10:11:51


一种报表生成方法、装置、设备及存储介质

技术领域

本说明书一个或多个实施例涉及可视化数据技术领域,尤其涉及一种报表生成方法、装置、设备及存储介质。

背景技术

关于数据可视化,就是将数据用图表的形式展现出来,让用户能够更快速的了解数据所传达的信息,让管理层能够更有效的制定决策,从而提高企业效益。时至今日,随着手机逐渐成为生活必需品,用户逐渐习惯于通过智能手机等移动设备来处理生活工作中的多种需求,以往通过传统方式来开发报表,需要大量的人工劳动力,将业务需求开发可视化报表固化到系统中,需要一个漫长的加工过程,这已无法满足用户对可视化报表的需求。

传统报表的开发需要在html页面中,手动编写

等标签来实现报表表格的设计,报表数据接口使用Java等语言进行开发,使用Jdbc或MyBatis来实现报表数据查询,将查询数据返回到页面上,实现报表展示。报表的整个开发周期较长,开发完成后不易修改,每次修改都需要重新发布版本。

传统模式开发报表对报表开发人员的要求较高,需要报表开发人员同时掌握前端语言和一种后端开发语言(例如Java);传统模式开发报表需要的时间成本较高,每次开发一张新报表都需要重新开发前台页面和数据接口。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种报表生成方法、装置、设备及存储介质,以解决现有的报表生成方法成本较高的问题。

基于上述目的,本说明书一个或多个实施例提供了一种报表生成方法,包括:

获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择;

根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据;

根据所述报表信息和所述报表数据,生成报表。

可选的,所述报表信息包括下列中至少一个:报表基本信息、banner图片、报表说明和报表水印。

可选的,所述报表数据源包括:Sql Server、Oracle、Mysql和Hive中的至少一种数据库。

可选的,所述预先配置的至少一个报表生成条件包括:时间条件和/或报表维度条件。

可选的,所述根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据包括:

根据所选择的所述报表生成条件,按照所选择的所述报表数据源对应的数据查询模板,生成所选择的所述报表生成条件对应的数据查询语句,在所选择的所述报表数据源中执行所述数据查询语句,得到所述报表数据。

可选的,所述报表基本信息包括下列中至少一个:报表名称、报表归属机构、需求部门和需求提出人。

可选的,所述报表水印包括:登录账户信息和登录时间信息。

基于同一发明构思,本说明书一个或多个实施例提供了一种报表生成装置,包括:

报表配置获取模块,用于获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择;

报表数据获取模块,用于根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据;

报表生成模块,用于根据所述报表信息和所述报表数据,生成报表。

基于同一发明构思,本说明书一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的方法。

基于同一发明构思,本说明书一个或多个实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述方法。

从上面所述可以看出,本说明书一个或多个实施例提供的报表生成方法、装置、设备及存储介质,获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择;根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据;根据所述报表信息和所述报表数据,生成报表。本发明降低了报表开发门槛、降低了报表开发成本,提高了报表的美观程度。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例提供的报表生成方法的一种流程示意图;

图2为本说明书一个或多个实施例提供的报表生成装置的一种结构示意图;

图3为本说明书一个或多个实施例提供的一种更为具体的电子设备硬件结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

关于数据可视化,就是将数据用图表的形式展现出来,让用户能够更快速的了解数据所传达的信息,让管理层能够更有效的制定决策,从而提高企业效益。时至今日,随着手机逐渐成为生活必需品,用户逐渐习惯于通过智能手机等移动设备来处理生活工作中的多种需求,以往通过传统方式来开发报表,需要大量的人工劳动力,将业务需求开发可视化报表固化到系统中,需要一个漫长的加工过程,这已无法满足用户对可视化报表的需求。

传统报表的开发需要在html页面中,手动编写

等标签来实现报表表格的设计,报表数据接口使用Java等语言进行开发,使用Jdbc或MyBatis来实现报表数据查询,将查询数据返回到页面上,实现报表展示。报表的整个开发周期较长,开发完成后不易修改,每次修改都需要重新发布版本。

传统模式开发报表对报表开发人员的要求较高,需要报表开发人员同时掌握前端语言和一种后端开发语言(例如Java);传统模式开发报表需要的时间成本较高,每次开发一张新报表都需要重新开发前台页面和数据接口。

本说明书一个或多个实施例提供的报表生成方法,将报表配置信息预先配置到数据库,在报表生成的过程中,只需要在配置步骤进行操作,其他步骤都是自动执行,因此降低开发效率,并降低成本。

图1为本说明书一个或多个实施例提供的报表生成方法的一种流程示意图,报表生成方法包括:

S110、获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择。

可选的,所述报表信息包括下列中至少一个:报表基本信息、banner图片、报表说明和报表水印。其中,所述报表基本信息包括下列中至少一个:报表名称、报表归属机构、需求部门和需求提出人。所述报表水印包括:登录账户信息和登录时间信息。

可选的,所述报表数据源包括:Sql Server、Oracle、Mysql和Hive中的至少一种数据库。

可选的,所述预先配置的至少一个报表生成条件包括:时间条件和/或报表维度条件。

作为一个示例,本发明提供报表配置界面,作为报表配置接口,以获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择。

其中,报表基本信息部分包括报表名称、报表归属机构、需求部门和需求提出人,本发明提供窗口界面供用户输入或者提供下拉列表供用户选择预先设置的报表名称、报表归属机构、需求部门和需求提出人。报表基本信息能够方便对报表进行查找和分类,可以查询报表登录用户的归属机构,然后自动填充配置。

banner图片部分提供banner图片上传接口,用户可以通过提供的banner图片上传接口上传包括常见数据格式如jpg和png格式的图片文件,一些情况下,限制所述图片文件的大小,如100kb。现有工具开发出的报表不够美观,在报表开发中,除了追求更高的开发效率之外,还追求可视化的美观程度。通过添加banner图片,增加了报表的美观度。

报表说明部分包括关于报表内容的说明,如年累计为截至当日本年度累计,还包括关于报表数据的单位的说明。所述报表说明是对报表内容的一个补充说明,可以让用户更加详细的了解报表数据。

报表水印部分包括显示水印或者隐藏水印的选择框,用户可以通过勾选显示水印或者隐藏水印的选择框,来控制水印的显示或者隐藏。水印的组成内容是预先设置的,例如包括:登录用户信息和登录时间。通过获取到登录用户信息,将该信息加上时间作为一个水印显示到了报表页面,通过该功能,能够增加的数据的安全性。

用户预先绘制若干需要的表头样式,通过POI函数算法解析所述表头,存入数据库,以便后续的选择,可以通过excel绘制表头样式。报表表头部分包括若干维度信息,所述维度信息可以是X轴行名或者Y轴列名的一种或几种。

还包括维护指标属性,具体包括对任意字段进行排序、预警、维度信息转换、下钻和跳转。

还包括筛选条件,具体包括新增条件功能,新增的条件包括显示名称和所述显示名称对应的value值,用户可以通过该功能对条件进行增删操作。可选的,筛选条件,包括:生效口径、收付费口径、月度值、年累计、季累计、月累计、日累计、总体、个险、银保、团险、电销、总保费、首年标保、首年期交、10年期交和保障型。通过筛选条件的方式,对维度信息进行配置,配置的字段名称和字段值与数据库中的字段名称和字段值一致。

报表数据源部分提供数据源下拉列表供用户选择报表数据源,所述下拉列表中包括若干预先配置的数据源。用户可以预先配置自己的数据库,以维护数据源信息,用于后续的报表数据查询工作。从数据源入口地址获取数据源,将数据源加载到各实例对应的内存中,具体的,是一种数据源动态注入的流程,将已有的数据源在系统启动时多实例同时一次性加载到内存,在运行过程中新增加的数据源使用分布式通知的机制确保所有实例全部加载到内存中。

时间条件包括日期范围,本发明提供日历样式的配置查询时间界面,用户可以通过所述配置查询时间功能在提供的日历样式的界面上进行查询时间配置。

S120、根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据。

可选的,根据所选择的所述报表生成条件,按照所选择的所述报表数据源对应的数据查询模板,生成所选择的所述报表生成条件对应的数据查询语句,在所选择的所述报表数据源中执行所述数据查询语句,得到所述报表数据。

作为一个可选的实施例,不同的报表数据源对应有不同的数据库语法,本发明提供与各数据源对应的数据查询语句模板,例如SQL模板。把配置的维度条件和时间条件信息的值替换到SQL模板中,生成可执行SQL。因为在配置SQL的时候配置的都是SQL模板,模板中可以对过滤条件做不同值的替换这样可以把多个SQL合成一个动态SQL。

作为一个可选的实施例,利用多数据源连接池,在用户选择的数据源中执行拼接好的动态SQL,得到查询结果,作为报表数据。

S130、根据所述报表信息和所述报表数据,生成报表。

将所述报表数据填充入根据报表信息创建的报表。

报表生成方法,还包括:

报表发布,当全部信息填写完毕后,对脚本进行校验,符合校验规则后对报表进行发布。

报表展示,报表发布完成后可以在报表菜单进行报表展示,或者在报表管理页面进行报表预览。

本发明只有在配置步骤中需要输入信息,在其他阶段都是自动执行,因此提高了报表的开发效率、降低了人力成本,当出现新需求时,只需要更改配置中的信息即可,有很高的灵活性。在需要新增报表时,无需重新编码,仅需通过界面配置即可,极大简化开发工作量。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种报表生成装置。参考图2,报表生成装置,包括:

报表配置获取模块210,用于获取用户在设备终端上输入的报表信息、对报表数据源的选择以及对预先配置的至少一个报表生成条件的选择;

报表数据获取模块220,用于根据所选择的报表生成条件,从所选择的报表数据源中提取报表数据;

报表生成模块230,用于根据所述报表信息和所述报表数据,生成报表。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述任一实施例中相应的报表生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的报表生成方法。

图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

上述实施例的电子设备用于实现前述任一实施例中相应的报表生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的报表生成方法。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的报表生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 报表生成方法、报表生成装置和电子设备
  • 一种报表附注的生成方法、装置、设备及存储介质
技术分类

06120112456476