[发明专利]计算脚本的生成方法、装置、计算机设备以及存储介质有效
申请号: | 202110993749.0 | 申请日: | 2021-08-27 |
公开(公告)号: | CN113779161B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 李友弟 | 申请(专利权)人: | 北京元年科技股份有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/2455;G06F16/2453;G06F8/30 |
代理公司: | 北京汇知杰知识产权代理有限公司 11587 | 代理人: | 谭承世;李洁 |
地址: | 100191 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 脚本 生成 方法 装置 计算机 设备 以及 存储 介质 | ||
本发明提供了一种计算脚本的生成方法装置、计算机设备以及存储介质,该方法包括:获取到用户的查询范围;从查询范围中确定计算公式,其中,计算公式包括等号左侧的左侧单元格以及等号右侧的右侧单元格;根据左侧单元格的范围确定右侧单元格的范围;根据右侧单元格的范围生成计算脚本,其中,计算脚本用于确定左侧单元格的有效单元格并且根据有效单元格生成针对查询范围的查询结果。解决了在针对多维数据库进行查询计算的时候,由于多维数据库的稀疏特性导致无效计算次数多,查询计算效率低的技术问题。
技术领域
本发明涉及数据库技术领域,尤其是涉及计算脚本的生成方法、装置、计算机设备以及存储介质。
背景技术
在多维数据库计算引擎中,计算公式所覆盖的单元格范围都会很大,但是实际能够计算出有效值的单元格又相对较少,这是多维数据库中常见的稀疏性所造成的,当前主要的处理方式是把查询范围中所有被公式覆盖的单元格都计算一遍,从而得到查询结果。
需要说明的是,由于多维数据库的稀疏特性,在数据的表格中会含有空值的数据,当面临大量数据的查询时,会产生大量的无效计算,这就导致查询结果的返回时间较长。
因此,在针对多维数据库进行查询计算的时候,由于多维数据库的稀疏特性导致无效计算次数多,查询计算效率低。
发明内容
本发明提供了一种计算脚本的生成方法装置、计算机设备以及存储介质,以解决在针对多维数据库进行查询计算的时候,由于多维数据库的稀疏特性导致无效计算次数多,查询计算效率低的技术问题。
根据本发明的第一方面,提供了一种计算脚本的生成方法,该方法包括:获取到用户的查询范围;从所述查询范围中确定计算公式,其中,所述计算公式包括等号左侧的左侧单元格以及等号右侧的右侧单元格;根据所述左侧单元格的范围确定所述右侧单元格的范围;根据所述右侧单元格的范围生成计算脚本,其中,所述计算脚本用于确定所述左侧单元格的有效单元格并且根据所述有效单元格生成针对所述查询范围的查询结果。
进一步地,根据所述右侧单元格的范围生成计算脚本包括:根据所述右侧单元格的范围确定所述右侧单元格被第一公式覆盖;根据覆盖的所述第一公式递归生成所述计算脚本。
进一步地,根据所述右侧单元格的范围生成计算脚本包括:根据所述右侧单元格的范围确定所述右侧单元格为录入值的情况下,根据所述右侧单元格的范围生成所述计算脚本,其中,在所述计算脚本被执行的情况下,根据所述单元格的范围遍历得到所述右侧单元格的范围内的存在的每个单元格,并且根据所述存在的每个单元格计算得到所述左侧单元格的范围中的有效单元格。
进一步地,根据所述右侧单元格的范围生成计算脚本包括:根据所述右侧单元格的范围确定所述右侧单元格为聚合单元格的情况下,确定所述聚合单元格的叶子节点范围;递归生成所述叶子节点范围的计算脚本。
进一步地,右侧单元格包括第一部分单元格以及第二部分单元格,根据右侧单元格的范围生成计算脚本包括:根据右侧单元格的范围确定第一部分单元格为录入值并且第二部分单元格被公式覆盖;根据第一部分单元格的范围生成第一子计算脚本;根据第二部分单元格覆盖的公式递归生成第二子计算脚本;根据第一子计算脚本以及第二子计算脚本合并生成计算脚本。
进一步地,根据所述左侧单元格的范围确定所述右侧单元格的范围包括:根据所述左侧单元格的至少一个维度成员确定所述右侧单元格的维度成员。
根据本发明的第二方面,提供了一种计算脚本的生成装置,该装置包括:获取单元,用于获取到用户的查询范围;第一确定单元,用于从所述查询范围中确定计算公式,其中,所述计算公式包括等号左侧的左侧单元格以及等号右侧的右侧单元格;第二确定单元,用于根据所述左侧单元格的范围确定所述右侧单元格的范围;生成单元,用于根据所述右侧单元格的范围生成计算脚本,其中,所述计算脚本用于确定所述右侧单元格的有效单元格并且根据所述有效单元格生成针对所述查询范围的查询结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元年科技股份有限公司,未经北京元年科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110993749.0/2.html,转载请声明来源钻瓜专利网。