[发明专利]报表生成方法、装置、计算机设备和存储介质在审
申请号: | 202011137858.4 | 申请日: | 2020-10-22 |
公开(公告)号: | CN112434018A | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 王凯亮;陈创胜 | 申请(专利权)人: | 金蝶云科技有限公司 |
主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22;G06F16/242 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 熊文杰 |
地址: | 523808 广东省东莞*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报表 生成 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种报表生成方法、装置、计算机设备和存储介质。所述方法包括:从初始的报表控件中提取取数公式;根据所述取数公式从后台数据库中查询数据;根据查询的数据的数据结构,构建内存数据库,并导入查询的所述数据至所述内存数据库中;根据所述取数公式中的查询参数,对所述内存数据库创建索引;通过所述索引,在所述内存数据库中取出所述取数公式中的查询参数所对应的数据,并基于取出的所述数据进行计算;把对应于所述取数公式的计算结果赋值给所述报表控件,生成报表。采用本方法能够提高在报表生成过程中的计算性能。
技术领域
本申请涉及计算机技术领域,特别是涉及一种报表生成方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,大数据时代到来,在很多场景中都会涉及到从数据库获取数据并在内存计算后将数据结果显示到报表中。比如,在财务管理方面,从数据库中获取数据,再通过内存中临时保存数据的网格虚拟表技术(DataTable)对数据进行过滤后即完成报表数据的取数。
然而,从数据库获取的数据放到DataTable之后,每个报表公式再从DataTable里面计算结果,然而,使用DataTable计算的时候性能比较差,通常不能够满足实际工作需求。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高计算性能的报表生成方法、装置、计算机设备和存储介质。
一种报表生成方法,所述方法包括:
从初始的报表控件中提取取数公式;
根据所述取数公式从后台数据库中查询数据;
根据查询的数据的数据结构,构建内存数据库,并导入查询的所述数据至所述内存数据库中;
根据所述取数公式中的查询参数,对所述内存数据库创建索引;
通过所述索引,在所述内存数据库中取出所述取数公式中的查询参数所对应的数据,并基于取出的所述数据进行计算;
把对应于所述取数公式的计算结果赋值给所述报表控件,生成报表。
在其中一个实施例中,所述根据所述取数公式从后台数据库中查询数据,包括:
当提取的所述取数公式为多个时,对所述多个公式进行分组;
分别将同组取数公式中的查询参数进行合并,得到各组取数公式分别对应的查询参数集合;
分别根据各所述查询参数集合,从后台数据库中查询数据。
在其中一个实施例中,所述分别根据各所述查询参数集合,从后台数据库中查询数据,包括:
根据同一所述查询参数集合中的查询参数,生成查询语句;
根据所述查询语句,从后台数据库中查询数据。
在其中一个实施例中,所述分别将同组取数公式中的查询参数进行合并,得到各组取数公式分别对应的查询参数集合,包括:
针对同组取数公式中同一类型的多个查询参数,当所述多个查询参数满足接近条件时,则根据所述查询参数中的最小查询参数和最大查询参数,生成对应的范围取数条件。
在其中一个实施例中,所述通过所述索引,在所述内存数据库中取出所述取数公式中的查询参数所对应的数据,并基于取出的所述数据进行计算,包括:
当提取的取数公式为多个时,分别将每个取数公式中的查询参数拼接生成过滤条件;
根据所述索引和每个取数公式所对应的所述过滤条件,从所述内存数据库中取出每个所述取数公式所对应的数据;
基于取出的所述数据进行计算,得到每个取数公式对应的计算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶云科技有限公司,未经金蝶云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011137858.4/2.html,转载请声明来源钻瓜专利网。