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

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

文献发布时间:2023-06-19 12:18:04


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

技术领域

本发明涉及数据处理技术领域,尤其涉及一种多维报表生成方法、装置、设备及存储介质。

背景技术

通过报表能够为用户提供直观的数据视图,便于用户更好的获悉指标数据。在目前的报表生成方案中,直接通过用户录入的指标获取相关数据,进而根据录入指标及相关数据生成报表,然而,当需要生成多维报表时,由于这种方式无法分析出多个指标之间的关联关系,导致无法准确的生成相应的多维报表,造成这种方式生成的报表实用性低下,因此,如何准确的生成多维报表,以提高报表的实用性成了亟需解决的问题。

发明内容

鉴于以上内容,有必要提供一种多维报表生成方法、装置、设备及存储介质,能够准确的生成多维报表。

一方面,本发明提出一种多维报表生成方法,所述多维报表生成方法包括:

当接收到预设浏览器的拖拽请求时,根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域;

当监测到所述指标操作区域中生成用于创建报表的指标请求时,从维度库中确定与所述拖拽指标关联的目标维度;

根据所述拖拽指标及所述目标维度生成初始脚本,并对所述初始脚本进行更新,得到目标脚本;

基于所述预设浏览器执行所述目标脚本,得到初始报表;

以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

根据本发明优选实施例,所述拖拽请求中携带有指示生成界面的界面编码,所述根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域包括:

基于所述界面编码从所述预设浏览器中获取与所述生成界面对应的界面代码;

解析所述界面代码,得到多个方法体;

从所述多个方法体中提取包含有指标识别码的方法体作为所述拖拽指标的指标代码;

从所述指标代码中获取与预设标签对应的属性值作为所述指标操作区域。

根据本发明优选实施例,所述根据所述拖拽指标及所述目标维度生成初始脚本包括:

根据所述目标维度从所述多个方法体中提取维度代码;

从所述维度代码中获取与所述预设标签对应的属性值作为维度操作区域;

获取所述维度操作区域中的操作维度;

将所述操作维度及所述目标维度的共有维度确定为所述拖拽维度;

计算所述拖拽指标的指标数量;

根据所述指标数量处理模板脚本中的第一配置元素,并根据所述拖拽维度的维度数量处理所述模板代码中的第二配置元素,得到与所述模板脚本对应的版本脚本;

将所述拖拽指标录入所述版本脚本中的所述第一配置元素,及将所述拖拽维度录入所述版本脚本中的所述第二配置元素中,得到所述初始脚本。

根据本发明优选实施例,在从维度库中确定与所述拖拽指标关联的目标维度之前,所述方法还包括:

获取所述预设浏览器中的预设指标及预设维度;

确定每个预设指标与每个预设维度的共有值,并统计所述共有值的数量,得到每个预设指标与每个预设维度的关联值;

统计所述预设浏览器中所有值的数量,得到基准值;

计算所述关联值在所述基准值中的占比,得到每个预设指标与每个预设维度的关联度;

将所述关联度大于预设关联阈值的预设维度确定为所述预设指标的关联维度;

将所述预设指标与所述关联维度的关联关系存储于所述维度库中。

根据本发明优选实施例,在从维度库中确定与所述拖拽指标关联的目标维度之后,所述方法还包括:

获取所述生成界面中的界面维度;

将所述界面维度中除所述目标维度外的其余界面维度确定为特征维度;

关闭所述特征维度的维度状态。

根据本发明优选实施例,所述对所述初始脚本进行更新,得到目标脚本包括:

根据所述拖拽指标从所述初始脚本中获取指标脚本,并根据所述拖拽维度从所述初始指标中获取维度脚本;

将所述指标脚本中包含长度标识的方法体确定为指标长度设置脚本,并将所述维度脚本中包含所述长度标识的方法体确定为维度长度设置脚本;

根据所述拖拽指标的第一字符数量生成第一字段长度,并根据所述拖拽维度的第二字符数量生成第二字段长度;

以所述第一字段长度更新所述指标长度设置脚本,及所述第二字段长度更新所述维度长度设置脚本,得到所述目标脚本。

根据本发明优选实施例,所述以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据包括:

获取查询模板,并将所述拖拽指标、所述拖拽维度及所述查询时间录入所述查询模板中,得到查询语句;

从所述维度库中获取所述拖拽指标的目标关联度,并根据所述目标关联度从线程池中获取与所述目标关联度具有映射关系的目标线程;

利用所述目标线程运行所述查询语句,得到所述指标数据。

另一方面,本发明还提出一种多维报表生成装置,所述多维报表生成装置包括:

获取单元,用于当接收到预设浏览器的拖拽请求时,根据所述拖拽请求获取拖拽指标;

所述获取单元,还用于基于所述拖拽请求获取所述拖拽指标的指标操作区域;

确定单元,用于当监测到所述预设浏览器基于所述指标操作区域生成的指标请求,从维度库中确定与所述拖拽指标关联的目标维度;

生成单元,用于根据所述拖拽指标及所述目标维度生成初始脚本;

更新单元,用于根据所述拖拽指标的第一字段长度及所述目标维度中拖拽维度的第二字段长度更新所述初始脚本,得到目标脚本;

执行单元,用于基于所述预设浏览器执行所述目标脚本,得到初始报表;

录入单元,用于根据所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

另一方面,本发明还提出一种电子设备,所述电子设备包括:

存储器,存储计算机可读指令;及

处理器,执行所述存储器中存储的计算机可读指令以实现所述多维报表生成方法。

另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述多维报表生成方法。

由以上技术方案可以看出,本发明通过确定所述指标操作区域,能够避免所述拖拽指标错误的录入其他位置,以及,通过确定出与所述拖拽指标相关联的所述目标维度,能够避免将不具有关联性的维度录入同一数据表中,从而提高多维报表的准确性,通过所述第一字段长度及所述第二字段长度能够动态的调整所述目标报表中表头的大小,提高所述指标对象及所述拖拽维度在所述目标报表的适应性。

附图说明

图1是本发明多维报表生成方法的较佳实施例的流程图。

图2是本发明多维报表生成装置的较佳实施例的功能模块图。

图3是本发明实现多维报表生成方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

如图1所示,是本发明多维报表生成方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述多维报表生成方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。

所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。

所述电子设备所处的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

S10,当接收到预设浏览器的拖拽请求时,根据所述拖拽请求获取用于拖拽的拖拽指标表示的指示操作区域。

在本发明的至少一个实施例中,所述预设浏览器可以是与所述电子设备通信的任意系统。

所述拖拽请求是指用户触发所述预设浏览器中的任意指标时生成的请求。

所述拖拽指标是指生成所述拖拽请求时用户在所述预设浏览器中触发的指标。

在本发明的至少一个实施例中,所述指标操作区域是指生成数据报表时所需的指标在所述生成界面中所处的区域。

在本发明的至少一个实施例中,所述电子设备根据所述拖拽请求获取拖拽指标包括:

解析所述拖拽请求的报文,得到所述报文携带的数据信息;

从所述数据信息中获取指示指标的信息作为指标识别码;

从所述数据信息中获取指示界面的信息作为界面编码,并将与所述界面编码对应的界面确定为所述拖拽请求的生成界面;

获取所述生成界面上的显示指标;

从所述显示指标中确定与所述指标识别码对应的显示指标作为所述拖拽指标。

其中,所述数据信息中包括,但不限于:所述指标识别码、所述界面编码等。

所述显示指标是指所述生成界面中的所有指标。

通过解析所述报文,能够快速获取到所述指标识别码,通过所述生成界面上的所述显示指标能够快速确定出与所述指标识别码对应的拖拽指标,提高所述拖拽指标的获取效率。

在本发明的至少一个实施例中,所述拖拽请求中携带有指示生成界面的界面编码,所述电子设备根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域包括:

基于所述界面编码从所述预设浏览器中获取与所述生成界面对应的界面代码;

解析所述界面代码,得到多个方法体;

从所述多个方法体中提取包含有指标识别码的方法体作为所述拖拽指标的指标代码;

从所述指标代码中获取与预设标签对应的属性值作为所述指标操作区域。

其中,所述界面代码是指所述生成界面所对应的脚本信息。

所述预设标签用于指示操作区域,例如,所述预设标签可以是div。

通过所述界面编码能够准确的从所述预设浏览器中获取所述界面代码,从而根据所述指标识别码能够准确的从所述界面代码中提取到所述指标代码,从而提高所述指标操作区域的准确性。

S11,当监测到所述指标操作区域中生成用于创建报表的指标请求时,从维度库中确定与所述拖拽指标关联的目标维度。

在本发明的至少一个实施例中,所述指标请求是指所述指标操作区域被触发时生成的请求。

所述维度库中存储有指标与维度的关联关系,以及指标与维度的关联度。

所述目标维度是指与所述拖拽指标的关联度大于预设关联度阈值的维度。

在本发明的至少一个实施例中,在从维度库中确定与所述拖拽指标关联的目标维度之前,所述方法还包括:

获取所述预设浏览器中的预设指标及预设维度;

确定每个预设指标与每个预设维度的共有值,并统计所述共有值的数量,得到每个预设指标与每个预设维度的关联值;

统计所述预设浏览器中所有值的数量,得到基准值;

计算所述关联值在所述基准值中的占比,得到每个预设指标与每个预设维度的关联度;

将所述关联度大于预设关联阈值的预设维度确定为所述预设指标的关联维度;

将所述预设指标与所述关联维度的关联关系存储于所述维度库中。

其中,所述预设指标及所述预设维度是指所述预设浏览器中的初始化的指标及维度。

所述共有值是指所述预设指标及所述预设维度中相同的数值。

所述预设关联阈值是根据需求预先设定好的数值。

通过所述共有值与所述基准值能够准确的确定出每个预设指标与每个预设维度之间的关联度,进而能够准确的确定出所述维度库,有利于后续能够准确的从所述维度库中确定目标维度。

在本发明的至少一个实施例中,所述电子设备从维度库中确定与所述拖拽指标关联的目标维度包括:

从所述维度库中确定与所述拖拽指标对应的目标关联关系;

从所述目标关联关系中获取所有维度作为所述目标维度。

通过所述目标关联关系能够快速获取到所述拖拽指标的目标维度。

在本发明的至少一个实施例中,在从维度库中确定与所述拖拽指标关联的目标维度之后,所述方法还包括:

获取所述生成界面中的界面维度;

将所述界面维度中除所述目标维度外的其余界面维度确定为特征维度;

关闭所述特征维度的维度状态。

其中,所述维度状态是指所述拖拽指标与所述特征维度的关联状态。

通过设定所述维度状态,能够避免用户对所述特征维度的误操作,导致将所述拖拽指标与没有关联关系的特征维度进行数据分析,提高数据分析的准确性,从而提高多维报表生成的准确性。

S12,根据所述拖拽指标及所述目标维度生成初始脚本,并对所述初始脚本进行更新,得到目标脚本。

在本发明的至少一个实施例中,所述初始脚本是指生成数据报表所需的脚本信息。

所述目标脚本是指生成数据报表所需的脚本文件。

在本发明的至少一个实施例中,所述电子设备根据所述拖拽指标及所述目标维度生成初始脚本包括:

根据所述目标维度从所述多个方法体中提取维度代码;

从所述维度代码中获取与所述预设标签对应的属性值作为维度操作区域;

获取所述维度操作区域中的操作维度;

将所述操作维度及所述目标维度的共有维度确定为所述拖拽维度;

计算所述拖拽指标的指标数量;

根据所述指标数量处理模板脚本中的第一配置元素,并根据所述拖拽维度的维度数量处理所述模板代码中的第二配置元素,得到与所述模板脚本对应的版本脚本;

将所述拖拽指标录入所述版本脚本中的所述第一配置元素,及将所述拖拽维度录入所述版本脚本中的所述第二配置元素中,得到所述初始脚本。

其中,所述维度操作区域是指生成数据报表时所需的维度在所述生成界面中所处的区域。

所述操作维度是指根据用户需求选取到的生成数据报表所需的维度。

所述模板脚本中是指生成数据报表所对应的预设脚本文件,所述模板脚本中所述第一配置元素的元素数量及所述第二配置元素的元素数量有且唯一,所述第一配置元素用于写入指标,所述第二配置元素用于写入维度。

所述版本脚本是指所述第一配置元素及所述第二配置元素的元素数量满足报表生成需求时的脚本。

通过确定出所述维度操作区域,能够根据所述维度操作区域中的操作维度及所述目标维度准确的确定出所述拖拽维度,避免根据与所述拖拽指标无关联的维度及所述拖拽指标生成同一数据报表,从而提高数据报表的生成准确性。此外,通过所述模板脚本生成所述初始脚本,由于无需重构所述模板脚本,因此,提高所述初始脚本的生成效率,同时,通过动态调整所述模板脚本,能够提高所述模板脚本的实用性。

在本发明的至少一个实施例中,所述电子设备对所述初始脚本进行更新,得到目标脚本包括:

根据所述拖拽指标从所述初始脚本中获取指标脚本,并根据所述拖拽维度从所述初始指标中获取维度脚本;

将所述指标脚本中包含长度标识的方法体确定为指标长度设置脚本,并将所述维度脚本中包含所述长度标识的方法体确定为维度长度设置脚本;

根据所述拖拽指标的第一字符数量生成第一字段长度,并根据所述拖拽维度的第二字符数量生成第二字段长度;

以所述第一字段长度更新所述指标长度设置脚本,及所述第二字段长度更新所述维度长度设置脚本,得到所述目标脚本。

其中,所述第一字段长度是指所述拖拽指标在所述生成界面中所占据的长度,例如,每个字符的初始长度为0.5厘米,则指标“区间净投资收益”的第一字段长度为3.5。

所述第一字符数量是指所述拖拽指标中字符的数量,例如,指标为:区间净投资收益,该指标的第一字符数量为:7。

所述第二字段长度是指所述拖拽维度在所述生成界面中所占据的长度。

所述第二字符数量是指所述维度指标中字符的数量。

通过所述第一字段长度及所述第二字段长度动态调整报表中表头的大小,实现个性化生成数据报表。

S13,基于所述预设浏览器执行所述目标脚本,得到初始报表。

在本发明的至少一个实施例中,所述初始报表是指没有包含数据信息的表格,所述初始报表中仅包含表头的基础信息。

S14,以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

在本发明的至少一个实施例中,所述指标数据是指与所述拖拽指标、所述拖拽维度及所述查询时间对应的数据。

需要强调的是,为进一步保证上述目标报表的私密和安全性,上述目标报表还可以存储于一区块链的节点中。

在本发明的至少一个实施例中,所述电子设备以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据包括:

获取查询模板,并将所述拖拽指标、所述拖拽维度及所述查询时间录入所述查询模板中,得到查询语句;

从所述维度库中获取所述拖拽指标的目标关联度,并根据所述目标关联度从线程池中获取与所述目标关联度具有映射关系的目标线程;

利用所述目标线程运行所述查询语句,得到所述指标数据。

其中,所述目标线程是指所述线程池中处于闲置状态的线程。

需要说明的是,所述目标关联度越大,说明需要获取的指标数据越多,因此,所需的目标线程的数量也就越多。

通过所述目标关联度能够从所述线程池中获取合适数量的所述目标线程池,从而确保所述指标数据的获取效率。

由以上技术方案可以看出,本发明通过确定所述指标操作区域,能够避免所述拖拽指标错误的录入其他位置,以及,通过确定出与所述拖拽指标相关联的所述目标维度,能够避免将不具有关联性的维度录入同一数据表中,从而提高多维报表的准确性,通过所述第一字段长度及所述第二字段长度能够动态的调整所述目标报表中表头的大小,提高所述指标对象及所述拖拽维度在所述目标报表的适应性。

如图2所示,是本发明多维报表生成装置的较佳实施例的功能模块图。所述多维报表生成装置11包括获取单元110、确定单元111、生成单元112、更新单元113、执行单元114、录入单元115、计算单元116、存储单元117。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

当接收到预设浏览器的拖拽请求时,获取单元110根据所述拖拽请求获取用于拖拽的拖拽指标表示的指示操作区域。

在本发明的至少一个实施例中,所述预设浏览器可以是与所述电子设备通信的任意系统。

所述拖拽请求是指用户触发所述预设浏览器中的任意指标时生成的请求。

所述拖拽指标是指生成所述拖拽请求时用户在所述预设浏览器中触发的指标。

在本发明的至少一个实施例中,所述指标操作区域是指生成数据报表时所需的指标在所述生成界面中所处的区域。

在本发明的至少一个实施例中,所述获取单元110根据所述拖拽请求获取拖拽指标包括:

解析所述拖拽请求的报文,得到所述报文携带的数据信息;

从所述数据信息中获取指示指标的信息作为指标识别码;

从所述数据信息中获取指示界面的信息作为界面编码,并将与所述界面编码对应的界面确定为所述拖拽请求的生成界面;

获取所述生成界面上的显示指标;

从所述显示指标中确定与所述指标识别码对应的显示指标作为所述拖拽指标。

其中,所述数据信息中包括,但不限于:所述指标识别码、所述界面编码等。

所述显示指标是指所述生成界面中的所有指标。

通过解析所述报文,能够快速获取到所述指标识别码,通过所述生成界面上的所述显示指标能够快速确定出与所述指标识别码对应的拖拽指标,提高所述拖拽指标的获取效率。

在本发明的至少一个实施例中,所述拖拽请求中携带有指示生成界面的界面编码,所述获取单元110根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域包括:

基于所述界面编码从所述预设浏览器中获取与所述生成界面对应的界面代码;

解析所述界面代码,得到多个方法体;

从所述多个方法体中提取包含有指标识别码的方法体作为所述拖拽指标的指标代码;

从所述指标代码中获取与预设标签对应的属性值作为所述指标操作区域。

其中,所述界面代码是指所述生成界面所对应的脚本信息。

所述预设标签用于指示操作区域,例如,所述预设标签可以是div。

通过所述界面编码能够准确的从所述预设浏览器中获取所述界面代码,从而根据所述指标识别码能够准确的从所述界面代码中提取到所述指标代码,从而提高所述指标操作区域的准确性。

当监测到所述指标操作区域中生成用于创建报表的指标请求时,确定单元111从维度库中确定与所述拖拽指标关联的目标维度。

在本发明的至少一个实施例中,所述指标请求是指所述指标操作区域被触发时生成的请求。

所述维度库中存储有指标与维度的关联关系,以及指标与维度的关联度。

所述目标维度是指与所述拖拽指标的关联度大于预设关联度阈值的维度。

在本发明的至少一个实施例中,在从维度库中确定与所述拖拽指标关联的目标维度之前,所述获取单元110获取所述预设浏览器中的预设指标及预设维度;

所述确定单元111确定每个预设指标与每个预设维度的共有值,并统计所述共有值的数量,得到每个预设指标与每个预设维度的关联值;

计算单元116统计所述预设浏览器中所有值的数量,得到基准值;

所述计算单元116计算所述关联值在所述基准值中的占比,得到每个预设指标与每个预设维度的关联度;

所述确定单元111将所述关联度大于预设关联阈值的预设维度确定为所述预设指标的关联维度;

存储单元117将所述预设指标与所述关联维度的关联关系存储于所述维度库中。

其中,所述预设指标及所述预设维度是指所述预设浏览器中的初始化的指标及维度。

所述共有值是指所述预设指标及所述预设维度中相同的数值。

所述预设关联阈值是根据需求预先设定好的数值。

通过所述共有值与所述基准值能够准确的确定出每个预设指标与每个预设维度之间的关联度,进而能够准确的确定出所述维度库,有利于后续能够准确的从所述维度库中确定目标维度。

在本发明的至少一个实施例中,所述确定单元111从维度库中确定与所述拖拽指标关联的目标维度包括:

从所述维度库中确定与所述拖拽指标对应的目标关联关系;

从所述目标关联关系中获取所有维度作为所述目标维度。

通过所述目标关联关系能够快速获取到所述拖拽指标的目标维度。

在本发明的至少一个实施例中,在从维度库中确定与所述拖拽指标关联的目标维度之后,所述获取单元110获取所述生成界面中的界面维度;

所述确定单元111将所述界面维度中除所述目标维度外的其余界面维度确定为特征维度;

执行单元114关闭所述特征维度的维度状态。

其中,所述维度状态是指所述拖拽指标与所述特征维度的关联状态。

通过设定所述维度状态,能够避免用户对所述特征维度的误操作,导致将所述拖拽指标与没有关联关系的特征维度进行数据分析,提高数据分析的准确性,从而提高多维报表生成的准确性。

生成单元112根据所述拖拽指标及所述目标维度生成初始脚本,并对所述初始脚本进行更新,得到目标脚本。

在本发明的至少一个实施例中,所述初始脚本是指生成数据报表所需的脚本信息。

所述目标脚本是指生成数据报表所需的脚本文件。

在本发明的至少一个实施例中,所述生成单元112根据所述拖拽指标及所述目标维度生成初始脚本包括:

根据所述目标维度从所述多个方法体中提取维度代码;

从所述维度代码中获取与所述预设标签对应的属性值作为维度操作区域;

获取所述维度操作区域中的操作维度;

将所述操作维度及所述目标维度的共有维度确定为所述拖拽维度;

计算所述拖拽指标的指标数量;

根据所述指标数量处理模板脚本中的第一配置元素,并根据所述拖拽维度的维度数量处理所述模板代码中的第二配置元素,得到与所述模板脚本对应的版本脚本;

将所述拖拽指标录入所述版本脚本中的所述第一配置元素,及将所述拖拽维度录入所述版本脚本中的所述第二配置元素中,得到所述初始脚本。

其中,所述维度操作区域是指生成数据报表时所需的维度在所述生成界面中所处的区域。

所述操作维度是指根据用户需求选取到的生成数据报表所需的维度。

所述模板脚本中是指生成数据报表所对应的预设脚本文件,所述模板脚本中所述第一配置元素的元素数量及所述第二配置元素的元素数量有且唯一,所述第一配置元素用于写入指标,所述第二配置元素用于写入维度。

所述版本脚本是指所述第一配置元素及所述第二配置元素的元素数量满足报表生成需求时的脚本。

通过确定出所述维度操作区域,能够根据所述维度操作区域中的操作维度及所述目标维度准确的确定出所述拖拽维度,避免根据与所述拖拽指标无关联的维度及所述拖拽指标生成同一数据报表,从而提高数据报表的生成准确性。此外,通过所述模板脚本生成所述初始脚本,由于无需重构所述模板脚本,因此,提高所述初始脚本的生成效率,同时,通过动态调整所述模板脚本,能够提高所述模板脚本的实用性。

在本发明的至少一个实施例中,所述更新单元113对所述初始脚本进行更新,得到目标脚本包括:

根据所述拖拽指标从所述初始脚本中获取指标脚本,并根据所述拖拽维度从所述初始指标中获取维度脚本;

将所述指标脚本中包含长度标识的方法体确定为指标长度设置脚本,并将所述维度脚本中包含所述长度标识的方法体确定为维度长度设置脚本;

根据所述拖拽指标的第一字符数量生成第一字段长度,并根据所述拖拽维度的第二字符数量生成第二字段长度;

以所述第一字段长度更新所述指标长度设置脚本,及所述第二字段长度更新所述维度长度设置脚本,得到所述目标脚本。

其中,所述第一字段长度是指所述拖拽指标在所述生成界面中所占据的长度,例如,每个字符的初始长度为0.5厘米,则指标“区间净投资收益”的第一字段长度为3.5。

所述第一字符数量是指所述拖拽指标中字符的数量,例如,指标为:区间净投资收益,该指标的第一字符数量为:7。

所述第二字段长度是指所述拖拽维度在所述生成界面中所占据的长度。

所述第二字符数量是指所述维度指标中字符的数量。

通过所述第一字段长度及所述第二字段长度动态调整报表中表头的大小,实现个性化生成数据报表。

所述执行单元114基于所述预设浏览器执行所述目标脚本,得到初始报表。

在本发明的至少一个实施例中,所述初始报表是指没有包含数据信息的表格,所述初始报表中仅包含表头的基础信息。

录入单元115以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

在本发明的至少一个实施例中,所述指标数据是指与所述拖拽指标、所述拖拽维度及所述查询时间对应的数据。

需要强调的是,为进一步保证上述目标报表的私密和安全性,上述目标报表还可以存储于一区块链的节点中。

在本发明的至少一个实施例中,所述录入单元115以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据包括:

获取查询模板,并将所述拖拽指标、所述拖拽维度及所述查询时间录入所述查询模板中,得到查询语句;

从所述维度库中获取所述拖拽指标的目标关联度,并根据所述目标关联度从线程池中获取与所述目标关联度具有映射关系的目标线程;

利用所述目标线程运行所述查询语句,得到所述指标数据。

其中,所述目标线程是指所述线程池中处于闲置状态的线程。

需要说明的是,所述目标关联度越大,说明需要获取的指标数据越多,因此,所需的目标线程的数量也就越多。

通过所述目标关联度能够从所述线程池中获取合适数量的所述目标线程池,从而确保所述指标数据的获取效率。

由以上技术方案可以看出,本发明通过确定所述指标操作区域,能够避免所述拖拽指标错误的录入其他位置,以及,通过确定出与所述拖拽指标相关联的所述目标维度,能够避免将不具有关联性的维度录入同一数据表中,从而提高多维报表的准确性,通过所述第一字段长度及所述第二字段长度能够动态的调整所述目标报表中表头的大小,提高所述指标对象及所述拖拽维度在所述目标报表的适应性。

如图3所示,是本发明实现多维报表生成方法的较佳实施例的电子设备的结构示意图。

在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如多维报表生成程序。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。

示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成获取单元110、确定单元111、生成单元112、更新单元113、执行单元114、录入单元115、计算单元116、存储单元117。

所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。

所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。

所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种多维报表生成方法,所述处理器13可执行所述计算机可读指令从而实现:

当接收到预设浏览器的拖拽请求时,根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域;

当监测到所述指标操作区域中生成用于创建报表的指标请求时,从维度库中确定与所述拖拽指标关联的目标维度;

根据所述拖拽指标及所述目标维度生成初始脚本,并对所述初始脚本进行更新,得到目标脚本;

基于所述预设浏览器执行所述目标脚本,得到初始报表;

以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:

当接收到预设浏览器的拖拽请求时,根据所述拖拽请求获取用于拖拽的拖拽指标表示的指标操作区域;

当监测到所述指标操作区域中生成用于创建报表的指标请求时,从维度库中确定与所述拖拽指标关联的目标维度;

根据所述拖拽指标及所述目标维度生成初始脚本,并对所述初始脚本进行更新,得到目标脚本;

基于所述预设浏览器执行所述目标脚本,得到初始报表;

以所述拖拽指标、所述拖拽维度及所述预设浏览器中的查询时间为查询语句获取指标数据,并将所述指标数据录入所述初始报表,得到目标报表。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 多维报表生成方法、装置、设备及存储介质
  • 用于生成多维报表的方法和装置
技术分类

06120113241063