本发明专利技术提供了一种基于关系型数据库的数据汇总装置,包括:定义单元,定义业务数据的每个维度的优先级;接收单元,接收用户提交的变更单元;查找单元,在变更单元的多个维度上的上级数据单元中,查找出在优先级最高的维度上的上级数据单元;汇总单元,从变更单元开始向优先级最高的维度上的上级数据单元进行数据汇总。根据本发明专利技术的技术方案,能够允许数据在非末级维度上录入,可对汇总路径的优先级进行判断,保证上级的汇总数据是没有歧义的。本发明专利技术还提供了一种基于关系型数据库的数据汇总方法。
【技术实现步骤摘要】
本专利技术涉及计算机
,具体而言,涉及一种基于关系型数据库的数据汇总装置和一种基于关系型数据库的数据汇总方法。
技术介绍
在复杂的业务系统中,很多业务数据都是有层次性的,上级层次的数据需要实时对下级层次的业务数据进行自动汇总。自动汇总要求在末级维度成员的数据逐层汇总到上级成员,所有上级成员的数据都是由下级经过汇总计算得出来的。 但是在某些业务场景下,用户可能并不直接在末级录入数据,而是在上级维度录 入数据,下级维度的数据为空,这种情况下,用户仍然希望能够把录入的数据继续向上级汇总。也就是说,我们无法根据维度的层次关系来判定用户录入的数据是否是末级数据。举例如下假设在时间维度上的层次关系为——;在组织维度上的层次关系为——;在科目维度上的层次关系为—。用户填写了两个数据=3000 ;=2000 ;那么作为上级是汇总数据,其数据应该是多少呢? 2000,3000,5000 还是其他 图IA展示了数据录入到末级下的汇总数据。图IB展示了数据录入到非末级下的汇总数据。这种困惑的原因在于没有确定哪些是末级数据,哪些是非末级数据,但是在企业全面预算等业务过程中,这种业务经常发生。在数据仅在末级录入的情况下,无论沿着哪条路径向上汇总,且结果都应该是一样的,但是在允许数据在非末级维度录入的情况下,不对路径的优先级进行判断,数据就会有问题。因此,需要一种新的汇总方式,允许数据在非末级维度上录入,可选择合适的路径进行汇总,能够保证上级的汇总数据是没有歧义的。
技术实现思路
本专利技术正是基于上述问题,提出了一种数据汇总技术,允许数据在非末级维度上录入,可选择合适的路径进行汇总,能够保证上级的汇总数据是没有歧义的。有鉴于此,根据本专利技术的一个方面,提供了一种基于关系型数据库的数据汇总装置,包括定义单元,定义业务数据的每个维度的优先级;接收单元,接收用户提交的变更单元;查找单元,在所述变更单元的多个维度上的上级数据单元中,查找出在优先级最高的维度上的上级数据单元;汇总单元,从所述变更单元开始向所述优先级最高的维度上的上级数据单元进行数据汇总。在该技术方案中,预定定义每个维度的优先级,若数据在非末级录入,则选择优先级最高的维度,然后从该维度方向向上汇总,这样就可避免汇总数据的不一致。在上述技术方案中,优选的,所述汇总单元包括记录子单元,用于将本次汇总的维度优先级信息作为本次汇总路径的优先级记录在所述上级数据单元中,所述汇总单元根据汇总路径的优先级进行数据汇总。将每次的汇总路径的优先级信息记录下来,在以后的汇总过程中,根据该汇总路径的优先级来判断具体如何进行汇总。 在上述技术方案中,优选的,所述查找单元包括比较子单元,在所述上级数据单元中已记录原汇总路径时,比较所述原汇总路径的优先级与所述本次汇总路径的优先级的高低;所述汇总单元还包括替换子单元,在所述本次汇总路径的优先级高于所述原汇总路径的优先级时,在汇总时,用所述变更单元的数据替换所述优先级最高的维度上的上级数据单元中的汇总数据。这种情况说明本维度的汇总优先级高于上级原有的数据的汇总优先级,那就将本维度的汇总数据覆盖上级原来的汇总数据。在上述技术方案中,优选的,所述汇总单元还可以包括提取子单元,在所述本次汇总路径的优先级等于所述原汇总路径的优先级时,在汇总时,根据所述变更单元的维度信息从所述关系型数据库中提取出原数据单元;计算子单元,计算出所述变更单元与所述原数据单元之间的差异;累加子单元,从所述变更单元开始逐级递归向上汇总,将所述差异累加至所述变更单元的所有所述上级数据单元中。这种情况说明上级原有的数据的汇总优先级和本次汇总是同一个维度的,因此只需要计算出本次变更的增量数据,并把该增量数据累加到上级原汇总数据上去。在上述技术方案中,优选的,所述汇总单元还用于在所述本次汇总路径的优先级小于所述原汇总路径的优先级时,放弃本次汇总。这种情况说明上级原有的数据是由更高优先级的维度汇总上去的,放弃本维度的汇总。根据本专利技术的另一方面,还提供了一种基于关系型数据库的数据汇总方法,包括以下步骤步骤402,定义业务数据的每个维度的优先级;步骤404,接收用户提交的变更单元;步骤406,在所述变更单元的多个维度上的上级数据单元中,查找出在优先级最高的维度上的上级数据单元;步骤408,从所述变更单元开始向所述优先级最高的维度上的上级数据单元进行数据汇总。在该技术方案中,预定定义每个维度的优先级,若数据在非末级录入,则选择优先级最高的维度,然后从该维度方向向上汇总,这样就可避免汇总数据的不一致。在上述技术方案中,优选的,所述步骤408还可以包括将本次汇总的维度优先级信息作为本次汇总路径的优先级记录在所述上级数据单元中,根据汇总路径的优先级进行数据汇总。将每次的汇总路径的优先级信息记录下来,在以后的汇总过程中,根据该汇总路径的优先级来判断具体如何进行汇总。在上述技术方案中,优选的,所述步骤406还可以包括在所述上级数据单元中已记录原汇总路径时,比较所述原汇总路径的优先级与所述本次汇总路径的优先级的高低;所述步骤408还包括在所述本次汇总路径的优先级高于所述原汇总路径的优先级时,在汇总时,用所述变更单元的数据替换所述优先级最高的维度上的上级数据单元中的数据。这种情况说明本维度的汇总优先级高于上级原有的数据的汇总优先级,那就将本维度的汇总数据覆盖上级原来的汇总数据。在上述技术方案中,优选的,所述步骤408还可以包括在所述本次汇总路径的优先级等于所述原汇总路径的优先级时,在汇总时,根据所述变更单元的维度信息从所述关系型数据库中提取出原数据单元,并计算出所述变更单元与所述原数据单元之间的差异;从所述变更单元开始逐级递归向上汇总,将所述差异累加至所述变更单元的所有所述上级数据单元中。这种情况说明上级原有的数据的汇总优先级和本次汇总是同一个维度的,因此只需要计算出本次变更的增量数据,并把该增量数据累加到上级原汇总数据上去。在上述技术方案中,优选的,在所述本次汇总路径的优先级小于所述原汇总路径的优先级时,放弃本次汇总。这种情况说明上级原有的数据是由更高优先级的维度汇总上去的,放弃本维度的汇总。本专利技术提出了一种在允许非末级数据录入的业务场景下,通过定义维度上的汇总优先级,在系统中存在多个汇总路径的情况下,通过选择一条优先路径,实现数据自底而上 的汇总,可以解决类似业务场景下的问题。附图说明图IA示出了从末级录入数据的汇总示意图;图IB示出了从非末级录入数据的汇总示意图;图2A至图2C示出了根据本专利技术的实施例的维度结构图;图3示出了根据本专利技术的实施例的基于关系型数据库的数据汇总装置的框图;图4示出了根据本专利技术的一个实施例的基于关系型数据库的数据汇总方法的流程图;图5示出了根据本专利技术的又一实施例的基于关系型数据库的数据汇总方法的流程图。具体实施例方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描述的其他方式来实施,因此,本专利技术并不限于下面公开的具体实施例的限制。首先结合图2A至图2C来说明在本专利技术的实施例中的多维数据的表达和存储。对于业务数据,需要预先设定数据本文档来自技高网...
【技术保护点】
一种基于关系型数据库的数据汇总装置,其特征在于,包括:定义单元,定义业务数据的每个维度的优先级;接收单元,接收用户提交的变更单元;查找单元,在所述变更单元的多个维度上的上级数据单元中,查找出在优先级最高的维度上的上级数据单元;汇总单元,从所述变更单元开始向所述优先级最高的维度上的上级数据单元进行数据汇总。
【技术特征摘要】
【专利技术属性】
技术研发人员:童志杰,
申请(专利权)人:用友软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。