基于olap的报表采集装置和报表采集方法
【专利摘要】本发明提供了一种基于OLAP的报表采集装置,包括:多维模型快速构建模块,选择业务操作,根据选择的业务操作信息快速生成多维模型;多维模型与报表区域映射模块,基于构建的多维模型,通过拖拽方式进行多维模型与报表区域的映射设置,根据映射设置的映射关系生成映射区域;数据提取模块,基于生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。本发明还提供了一种基于OLAP的报表采集方法。通过本发明的技术方案,可以在现有的报表采集方式基础上,充分利用单对象数据完成多对象数据的报表采集,建立多对象数据参与的面向分散、独立数据报表采集的通用、统一采集思路。
【专利说明】基于OLAP的报表采集装置和报表采集方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,具体地,涉及一种基于0LAP的报表采集装置和一种基于0LAP的报表米集方法。
[0002]
【背景技术】
[0003]目前,大部分的中大型企事业单位已经建立了比较完善的ERP、CRM、0A等基础信息化系统,这些系统基本上都是典型的0LTP系统,为企业积累了大量的数据。但是这些数据是分散、独立存储在数据库中,对于业务人员来说这些数据是无法看懂的天书。如何将这些数据进行整合并转换为有业务意义的数据进行分析或采集?针对这点,现有产品大都是通过多维查询来解决,但存在的主要问题有:
⑴构建多维模型过于复杂:多维模型构建过程过于复杂,将多维模型涉及到的技术和概念暴露给用户,不能快速出多维模型;
⑵多维模型不能应用到采集报表:现有产品主要侧重于分析报表,而没有将多维查询技术应用到采集报表中。
[0004]如何将分散、独立的数据进行整合,并将整合后的数据快速提取到采集报表?需要提出解决办法。
[0005]因此,需要一种新的基于0LAP的报表采集技术,可以在现有的报表采集方式基础上,充分利用单对象数据完成多对象数据的报表采集,建立多对象数据参与的面向分散、独立数据报表采集的通用、统一采集思路。
[0006]
【发明内容】
[0007]本发明正是基于上述问题,提出了一种新的基于0LAP的报表采集技术,可以在现有的报表采集方式基础上,充分利用单对象数据完成多对象数据的报表采集,建立多对象数据参与的面向分散、独立数据报表采集的通用、统一采集思路。
[0008]有鉴于此,本发明提出了一种基于0LAP的报表采集装置,包括:多维模型快速构建模块,用于选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;多维模型与报表区域映射模块,用于基于所述多维模型快速构建模块构建的多维模型,通过拖拽方式进行多维模型与报表区域的映射设置,根据映射设置的映射关系生成映射区域;数据提取模块,用于基于所述多维模型与报表区域映射模块生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。在该技术方案中,通过面向业务的方式快速构建多维模型,通过多维模型与采集报表区域映射方式,将数据提取到采集报表中,可以降低多维模型构建的复杂度。
[0009]在上述技术方案中,优选地,所述多维模型快速构建模块,具体包括:界面设置模块,用于选择包含业务档案、会计期间、度量和数据来源的业务操作;多维模型构建模块,用于获取所述界面设置模块选择的业务操作,基于获取的业务操作构建多维模型。
[0010]在上述技术方案中,优选地,所述多维模型构建模块基于获取的业务操作构建多维模型的操作,具体包括:根据所述业务操作中的业务档案生成维度,并自动生成维度的层次及级别;所述业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据所述业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据所述业务操作中的度量生成度量;根据所述业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的所述维度、时间维度、度量和事实表,生成立方体。
[0011]在上述技术方案中,优选地,所述多维模型与报表区域映射模块,具体包括:映射设置模块,用于获取所述多维模型快速构建模块构建的多维模型和预先定义的采集报表,通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置;映射区域生成模块,用于基于所述映射设置模块设置的映射关系,生成映射区域。
[0012]在上述技术方案中,优选地,所述映射设置模块通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将所述扩展映射区域与多维模型中维度进行映射,所述维度为扩展映射区域进行扩展的依据;以及,所述映射区域生成模块基于所述映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取所述映射设置模块中设置的映射关系和预先设置的所有存储单元的集合;从所述所有存储单元的集合中选取一个指标单元格对应的存储单元,从所述映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所述所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,所述数据提取模块将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:所述计算固定区域的操作,包括根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在所述分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;所述按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过0LAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;所述计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过0LAP引擎执行MDX查询;执行扩展区域扩展;执行数据填充。
[0013]根据本发明的又一个方面,还提出了一种基于0LAP的报表采集方法,包括:步骤202:选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;步骤204:基于所述步骤202构建的多维模型,通过拖拽方式进行多维模型与报表区域的生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。在该技术方案中,通过面向业务的方式快速构建多维模型,通过多维模型与采集报表区域映射方式,将数据提取到采集报表中,可以降低多维模型构建的复杂度。映射设置,根据映射设置的映射关系生成映射区域;步骤206:基于所述步骤204在上述技术方案中,优选地,所述步骤202,具体包括:选择包含业务档案、会计期间、度量和数据来源的业务操作;获取上述选择的业务操作,基于获取的业务操作构建多维模型。
[0014]在上述技术方案中,优选地,所述基于获取的业务操作构建多维模型的操作,具体包括:根据所述业务操作中的业务档案生成维度,并自动生成维度的层次及级别;所述业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据所述业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据所述业务操作中的度量生成度量;根据所述业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的所述维度、时间维度、度量和事实表,生成立方体。
[0015]在上述技术方案中,优选地,所述步骤204,具体包括:获取构建的所述多维模型和预先定义的采集报表,通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置;基于设置的所述映射关系,生成映射区域。
[0016]在上述技术方案中,优选地,所述通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将所述扩展映射区域与多维模型中维度进行映射,所述维度为扩展映射区域进行扩展的依据;以及,所述基于所述映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取设置的映射关系和预先设置的所有存储单元的集合;从所述所有存储单元的集合中选取一个指标单元格对应的存储单元,从所述映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所述所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,所述将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:所述计算固定区域的操作,具体包括:根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在所述分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;所述按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过0LAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;所述计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;执行扩展区域扩展;执行数据填充。
[0017]通过以上技术方案,可以在现有的报表采集方式基础上,充分利用单对象数据完成多对象数据的报表采集,建立多对象数据参与的面向分散、独立数据报表采集的通用、统一采集思路。
[0018]
【专利附图】
【附图说明】
[0019]图1示出了根据本发明的实施例的基于0LAP的报表采集装置的框图;
图2示出了根据本发明的实施例的基于0LAP的报表采集方法的流程图;
图3示出了根据本发明的实施例的基于0LAP的报表采集装置的原理示意图;
图4示出了根据本发明的实施例的多维数据模型示例的原理示意图;
图5示出了根据本发明的实施例的从映射关系中取得存储单元映射的行列维度示例的原理不意图;
图6示出了根据本发明的实施例的映射区域生成模块的流程图;
图7示出了根据本发明的实施例的数据提取的流程图;
图8示出了根据本发明的实施例的通过多维模型快速构建模块构建多维模型示例图;图9示出了根据本发明的实施例的在映射设置模块中设置映射关系示例图;
图10示出了根据本发明的实施例的通过多维模型快速构建模块构建多维模型示例
图;
图11示出了根据本发明的实施例的通过数据提取模块提取数据示例图;
图12示出了根据本发明的实施例的资产负债表映射示例图;
图13示出了根据本发明的实施例的内部债权债务明细表映射示例图。
[0020]
【具体实施方式】
[0021]为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和【具体实施方式】对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
[0022]在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0023]图1示出了根据本发明的实施例的基于0LAP的报表采集装置的框图。
[0024]如图1所示,根据本发明的实施例的基于0LAP的报表采集装置100,包括:多维模型快速构建模块102,用于选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;多维模型与报表区域映射模块104,用于基于多维模型快速构建模块构建的多维模型,通过拖拽方式进行多维模型与报表区域的映射设置,根据映射设置的映射关系生成映射区域;数据提取模块106,用于基于多维模型与报表区域映射模块生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。在该技术方案中,通过面向业务的方式快速构建多维模型,通过多维模型与采集报表区域映射方式,将数据提取到采集报表中,可以降低多维模型构建的复杂度。
[0025]在上述技术方案中,优选地,多维模型快速构建模块102,具体包括:界面设置模块,用于选择包含业务档案、会计期间、度量和数据来源的业务操作;多维模型构建模块,用于获取界面设置模块选择的业务操作,基于获取的业务操作构建多维模型。
[0026]在上述技术方案中,优选地,多维模型构建模块基于获取的业务操作构建多维模型的操作,具体包括:根据业务操作中的业务档案生成维度,并自动生成维度的层次及级别;业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据业务操作中的度量生成度量;根据业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的维度、时间维度、度量和事实表,生成立方体。
[0027]在上述技术方案中,优选地,多维模型与报表区域映射模块104,具体包括:映射设置模块,用于获取多维模型快速构建模块构建的多维模型和预先定义的采集报表,通过拖拽方式对获取的多维模型、以及与采集报表对应的报表区域的映射关系进行设置;映射区域生成模块,用于基于映射设置模块设置的映射关系,生成映射区域。
[0028]在上述技术方案中,优选地,映射设置模块通过拖拽方式对获取的多维模型、以及与采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将扩展映射区域与多维模型中维度进行映射,维度为扩展映射区域进行扩展的依据;以及,映射区域生成模块基于映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取映射设置模块中设置的映射关系和预先设置的所有存储单元的集合;从所有存储单元的集合中选取一个指标单元格对应的存储单元,从映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,数据提取模块106将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:计算固定区域的操作,包括根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;执行扩展区域扩展;执行数据填充。
[0029]图2示出了根据本发明的实施例的基于0LAP的报表采集方法的流程图。
[0030]如图2所示,根据本发明的实施例的基于0LAP的报表采集方法,包括:步骤202:选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;步骤204:基于步骤202构建的多维模型,通过拖拽方式进行多维模型与报表区域的生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。在该技术方案中,通过面向业务的方式快速构建多维模型,通过多维模型与采集报表区域映射方式,将数据提取到采集报表中,可以降低多维模型构建的复杂度。映射设置,根据映射设置的映射关系生成映射区域;步骤206:基于步骤204
在上述技术方案中,优选地,步骤202,具体包括:选择包含业务档案、会计期间、度量和数据来源的业务操作;获取上述选择的业务操作,基于获取的业务操作构建多维模型。
[0031]在上述技术方案中,优选地,基于获取的业务操作构建多维模型的操作,具体包括:根据业务操作中的业务档案生成维度,并自动生成维度的层次及级别;业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据业务操作中的度量生成度量;根据业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的维度、时间维度、度量和事实表,生成立方体。
[0032]在上述技术方案中,优选地,步骤204,具体包括:获取构建的多维模型和预先定义的采集报表,通过拖拽方式对获取的多维模型、以及与采集报表对应的报表区域的映射关系进行设置;基于设置的映射关系,生成映射区域。
[0033]在上述技术方案中,优选地,通过拖拽方式对获取的多维模型、以及与采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将扩展映射区域与多维模型中维度进行映射,维度为扩展映射区域进行扩展的依据;以及,基于映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取设置的映射关系和预先设置的所有存储单元的集合;从所有存储单元的集合中选取一个指标单元格对应的存储单元,从映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:计算固定区域的操作,具体包括:根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;执行扩展区域扩展;执行数据填充。
[0034]例如,如图3所示,本发明技术方案的自动处理过程,主要包括配合设置的三个部分:多维模型快速构建模块、多维模型与报表区域映射模块、数据提取模块。具体说明如下:
(-)多维模型快速构建模块
多维模型快速构建模块完成多维模型的快速构建,其又分为:界面设置模块、多维模型构建模块。界面设置模块中进行选择业务档案、会计期间、度量、数据来源等业务操作,多维模型构建模块根据界面设置模块中的信息来快速生成多维模型。
[0035]界面设置模块的操作流程如下:⑴选择业务档案#)选择会计期间;⑶选择度量;⑷选择数据来源。
[0036]如图4所示,多维模型构建模块的操作流程如下:⑴取得界面设置模块中的业务档案、会计期间、度量、数据来源等信息;⑵根据取得的信息构建多维模型:①生成维度信息;根据选择的业务档案生成维度,并自动生成维度的层次及级别;维表是此档案对应的数据表,维度上的值是此档案的主键值,维度上的显示值是此档案的名称值;②生成时间维度;根据会计期间生成时间维度,并生成时间维度的多个级别;③生成度量;④生成事实表;根据选择的业务档案、度量及数据来源生成事实表生成立方体。
[0037](二)多维模型与报表区域映射模块
多维模型与报表区域映射模块完成多维模型与报表区域的映射,其又分为:映射设置模块、映射区域生成模块。映射设置模块是一种界面模块,首先取得多维模型快速构建模块构建的多维模型,然后通过拖拽方式进行多维模型与报表区域的映射设置;映射区域生成模块是一种后台处理装置,根据映射设置模块中设置的映射关系生成映射区域。
[0038]映射设置模块的操作流程如下:⑴取得多维模型快速构建模块构建的多维模型;⑵取得已经定义的采集报表;⑶进行多维模型与报表区域的映射设置:
①固定区域:拖拽多维模型的维度成员及度量到存储单元的左侧或上方。②扩展区域:拖拽多维模型的维度成员及度量到存储单元的上方;将扩展区域与多维模型中维度映射,此维度作为扩展区进行扩展的依据。
[0039]如图6所示,映射区域生成模块的操作流程如下:
⑴取得映射设置模块中设置的映射关系;⑵取得所有存储单元集合从集合中取一个存储单元;⑷如图5所示,从映射关系中取得存储单元映射的行列维度:①行维度:从本存储单元位置向左查找行维度列维度:从本存储单元位置向上查找列维度;(5)校验映射的行列维度是否合法:①是:到第(6)步;②否:到第(8)步;(6)取得已存在映射区域列表;⑴是否可加入到已有映射区域:①是:将此存储单元加入映射区域并重新生成区域范围;
②否:生成新的映射区域,加入映射区域列表;⑶是否存储单元全部遍历:①是:生成映射区域结束;②否:到第⑶步取下一个指标单元格处理。
[0040]㈢数据提取模块
数据提取模块首先取得多维模型与报表区域映射模块中生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。
[0041]数据提取模块的操作流程如下:
⑴取得多维模型与报表区域映射模块中生成的映射区域计算固定区域:
①将映射区域进行分组
a)分组规则:映射区域对应的行维度或者列维度完全匹配;如果行维度完全匹配,则拼接多维查询语句时就可以将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就可以将行维度进行扩展。
[0042]②按组进行数据提取,如图7所示:
a)多个映射区域合并为一个计算单元;b)拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;c)多维模型二次加工,剔除无用维度信息;d)通过0LAP引擎执行MDX查询;e)将查询结果按映射区域进行拆分;f)执行数据填充;
⑶计算扩展区域;
①取得扩展区域中映射的维度;②拼接多维查询语句:a)将映射区域映射在列上的维度作为轴(列)维度山)将扩展区域中映射的维度(所有成员)作为轴(行)维度;c)将采集报表本身单位、期间等维度作为切片器维度;③多维模型二次加工,剔除无用维度信息通过0LAP引擎执行MDX查询;⑤执行扩展区域扩展;⑥执行数据填充。
[0043]又如,本发明技术方案的实现流入如下:
⑴通过多维模型快速构建模块构建多维模型,示例如图8所示。
[0044]⑵通过多维模型与报表区域映射模块进行映射:
①在映射设置模块中设置映射关系:如图9所示,带有文字标识的单元格表示设置的维度成员或度量,带有’ 123’标识的单元格表示存储单元。
[0045]②通过映射区域生成模块中生成映射区域:如图10所示,取得存储单元集合:[B4, C4, D4, E4,B5,C5,D5,E5],按照生成映射区域原理,最终生成两个映射区域:B4: C5、E4:E5。
[0046]⑶通过数据提取模块提取数据:如图11所示,将B4:C5、E4:E5映射区域合并,拼接MDX语句,通过0LAP引擎执行MDX查询,将查询结果进行填充后展现。
[0047]再如,应用本发明技术方案的资产负债表映射示例如图12所示,内部债权债务明细表映射示例如图13所示。
[0048]本发明的技术方案,以企业存在的大量分散、独立的数据为基础,快速构建多维模型,并通过多维引擎快速将数据提取到采集报表。采用本发明的技术方案,一方面将分散的数据进行了快速整合及提取;另一方面也增强了采集报表进行数据采集的方式。本发明的技术方案与现有技术的区别之处:
⑴现有的报表数据采集技术多是基于公式、存储过程的,设置公式及建立存储过程工作量大、难度高,且对于分散存储的数据无法进行整合。而本发明的技术方案能对已有分散的数据进行整合,并使用多维查询技术将整合后的数据提取到采集报表;再者,本发明的技术方案比传统的设置公式、建立存储过程等方式简单易用,能大量减少报表数据采集设置工作量;
⑵现有的基于OLAP技术的产品主要侧重于报表分析,且将多维技术及概念暴露出来增加了构建多维模型的复杂度。而本发明的技术方案将构建多维模型做了面向业务的封装,基于业务操作来快速生成多维模型,并能将多维模型及多维技术应用到报表采集中进行数据采集,降低了多维模型的构建复杂度,且增强了报表数据采集的方式。
[0049]本发明的技术方案,可应用于报表产品中,通过此方法将分散独立的数据快速提取到采集报表。本发明的技术方案,具有的特点是:⑴通过面向业务的方式快速构建多维模型,不再将多维模型涉及到的技术和概念暴露出来,只需要进行简单的业务操作即可完成多维模型构建;可以降低多维模型构建的复杂度;⑵通过多维模型与采集报表区域映射方式,将数据提取到采集报表中;可以使得多维模型不再仅仅用于分析,而且可以用于报表采集。
[0050]以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对多对象数据报表采集的解决办法。现有的报表采集无法完成有分散、独立数据参与的报表采集过程。因此,本发明提出了一种基于0LAP的报表采集装置和一种基于0LAP的报表采集方法,可以在现有的报表采集方式基础上,充分利用单对象数据完成多对象数据的报表采集,建立多对象数据参与的面向分散、独立数据报表采集的通用、统一采集思路。
[0051]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于OLAP的报表采集装置,其特征在于,包括:多维模型快速构建模块,用于选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;多维模型与报表区域映射模块,用于基于所述多维模型快速构建模块构建的多维模型,通过拖拽方式进行多维模型与报表区域的映射设置,根据映射设置的映射关系生成映射区域;数据提取模块,用于基于所述多维模型与报表区域映射模块生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。
2.根据权利要求1所述的基于OLAP的报表采集装置,其特征在于,所述多维模型快速构建模块,具体包括:界面设置模块,用于选择包含业务档案、会计期间、度量和数据来源的业务操作;多维模型构建模块,用于获取所述界面设置模块选择的业务操作,基于获取的业务操作构建多维模型。
3.根据权利要求2所述的基于OLAP的报表采集装置,其特征在于,所述多维模型构建模炔基于获取的业务操作构建多维模型的操作,具体包括:根据所述业务操作中的业务档案生成维度,并自动生成维度的层次及级别;所述业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据所述业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据所述业务操作中的度量生成度量;根据所述业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的所述维度、时间维度、度量和事实表,生成立方体。
4.根据权利要求1至3中任一项所述的基于OLAP的报表采集装置,其特征在于,所述多维模型与报表区域映射模块,具体包括:映射设置模块,用于获取所述多维模型快速构建模块构建的多维模型和预先定义的采集报表,通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置;映射区域生成模块,用于基于所述映射设置模块设置的映射关系,生成映射区域。
5.根据权利要求4所述的基于OLAP的报表采集装置,其特征在于,所述映射设置模块通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将所述扩展映射区域与多维模型中维度进行映射,所述维度为扩展映射区域进行扩展的依据;以及,所述映射区域生成模炔基于所述映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取所述映射设置模块中设置的映射关系和预先设置的所有存储单元的集合;从所述所有存储单元的集合中选取一个指标单元格对应的存储单元,从所述映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所述所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,所述数据提取模块将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:所述计算固定区域的操作,包括根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在所述分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;所述按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;所述计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;执行扩展区域扩展;执行数据填充。
6.一种基于OLAP的报表米集方法,其特征在于,包括:步骤202:选择包含业务档案、会计期间、度量、数据来源的业务操作,根据选择的业务操作信息快速生成多维模型;步骤204:基于所述步骤202构建的多维模型,通过拖拽方式进行多维模型与报表区域的映射设置,根据映射设置的映射关系生成映射区域;步骤206:基于所述步骤204生成的映射区域,将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中。
7.根据权利要求6所述的基于OLAP的报表采集方法,其特征在于,所述步骤202,具体包括:选择包含业务档案、会计期间、度量和数据来源的业务操作;获取上述选择的业务操作,基于获取的业务操作构建多维模型。
8.根据权利要求7所述的基于OLAP的报表采集方法,其特征在于,所述基于获取的业务操作构建多维模型的操作,具体包括:根据所述业务操作中的业务档案生成维度,并自动生成维度的层次及级别;所述业务档案的对应数据表构成维表,业务档案的主键值构成维度上的值,业务档案的名称值构成维度上的显示值;根据所述业务操作中的会计期间生成时间维度,并生成时间维度的多个级别;根据所述业务操作中的度量生成度量;根据所述业务操作中的业务档案、度量及数据来源,生成事实表;根据生成的所述维度、时间维度、度量和事实表,生成立方体。
9.根据权利要求6至8中任一项所述的基于OLAP的报表采集方法,其特征在于,所述步骤204,具体包括:获取构建的所述多维模型和预先定义的采集报表,通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置;基于设置的所述映射关系,生成映射区域。
10.根据权利要求9所述的基于OLAP的报表采集方法,其特征在于,所述通过拖拽方式对获取的所述多维模型、以及与所述采集报表对应的报表区域的映射关系进行设置的操作,具体包括:拖拽多维模型的维度成员及度量到预先设置的存储单元的左侧或上方,得到固定映射区域;拖拽多维模型的维度成员及度量到预先设置的存储单元的上方,得到扩展映射区域;将所述扩展映射区域与多维模型中维度进行映射,所述维度为扩展映射区域进行扩展的依据;以及,所述基于所述映射设置模块设置的映射关系,生成映射区域的操作,具体包括:获取设置的映射关系和预先设置 的所有存储单元的集合;从所述所有存储单元的集合中选取一个指标单元格对应的存储单元,从所述映射关系中选取该存储单元映射的行列维度,并校验该行列维度是否合法:若合法,则获取已存在的映射区域列表,并判断是否将该映射区域列表加入到已有的映射区域:若加入,则将相应存储单元加入映射区域并重新生成区域范围;若不加入,则生成新的映射区域,加入该新映射区域对应的映射区域列表;若不合法,则判断是否全部遍历存储单元;若全部遍历,则结束本次生成映射区域的操作;若不全部遍历,则从所述所有存储单元的集合中选取下一个指标单元格对应的存储单元进行处理;和/或,所述将映射区域转换为多维查询语句进行多维查询,并将查询结果集填充到报表中的操作,具体包括计算固定区域的操作和计算扩展区域的操作,其中:所述计算固定区域的操作,具体包括:根据映射区域对应的行维度或者列维度是否完全匹配的分组规则,将映射区域进行分组,并按组进行数据提取;在所述分组规则中,如果行维度完全匹配,则拼接多维查询语句时将列维度进行扩展;如果列维度完全匹配,则拼接多维查询语句时就将行维度进行扩展;所述按组进行数据提取的操作,具体包括:多个映射区域合并为一个计算单元;拼接多维查询语句:将映射区域映射在行及列上的维度作为轴维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MDX查询;将查询结果按映射区域进行拆分;执行数据填充;所述计算扩展区域的操作,具体包括:取得扩展区域中映射的维度;拼接多维查询语句:将映射区域映射在列上的维度作为列维度,将扩展区域中映射的所有成员维度作为行维度,将采集报表本身单位、期间等维度作为切片器维度;多维模型二次加工,剔除无用维度信息;通过OLAP引擎执行MD`X查询;执行扩展区域扩展;执行数据填充。
【文档编号】G06F17/30GK103678590SQ201310681731
【公开日】2014年3月26日 申请日期:2013年12月12日 优先权日:2013年12月12日
【发明者】刘春 , 杨鹏 申请人:用友软件股份有限公司