CN103778247A - 数据分摊方法和装置及设备 - Google Patents
数据分摊方法和装置及设备 Download PDFInfo
- Publication number
- CN103778247A CN103778247A CN201410052619.7A CN201410052619A CN103778247A CN 103778247 A CN103778247 A CN 103778247A CN 201410052619 A CN201410052619 A CN 201410052619A CN 103778247 A CN103778247 A CN 103778247A
- Authority
- CN
- China
- Prior art keywords
- dimension
- record
- radix
- sharing
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Software Systems (AREA)
Abstract
本发明实施例提供一种数据分摊方法和装置及设备,该方法包括:根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;分摊维度名称包括目标维度的名称和数值维度的名称;获得分摊基数中每条记录的分摊比例维度,分摊基数中每条记录的分摊比例维度中的数据为,分摊基数中所有记录的数值维度中的数据的总和在分摊基数中每条记录中的分摊比例值;根据分难基数中各条记录将分摊对象中的每条记录分摊成多条记录,其中,分摊对象中的每条记录中的目标维度中的数据,被分摊成分摊基数中各个记录中的目标维度中数据。本发明提高了分摊灵活度,减小了分摊复杂度,降低了分摊方法代码维护成本。
Description
技术领域
本发明涉及电子技术,尤其涉及一种数据分摊方法和装置及设备。
背景技术
由于业务需要,需要将汇总的上级数据分摊给下级数据,也就是由总到细的过程。例如,将中国区域的销售任务1亿元,分摊给下级区域:华东地区、华北地址、华南地地区、东北地区和西南地区。
现有的数据分摊方案,按照分摊场景划分,在后台对应数据库的存储过程(SP)处理。一个分摊场景对应一个存储过程。每个存储过程都包括取数、维度定义、计算比率和插入数据到目标表等相同的操作。如果新增一种分摊场景,就需要新增一个存储过程,按照基本相同的流程重新开发代码。因此,现有的数据分摊方案,实现复杂,灵活度低,维护成本高。
发明内容
本发明实施例提供一种数据分摊方法和装置及设备,用于提高数据分摊的效率,减少维护成本。
第一方面,本发明实施例提供一种数据分摊方法,包括:
根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
结合第一方面,在第一种可能的实现方式中,获得所述分摊基数中每条记录的分摊比例维度包括:
分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第一方面,或结合第一方面的第一种可能实现方式,在第二种可能的实现方式中,
所述分摊维度的名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
在所述根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度之后,还包括:
在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;
获得所述分摊基数中每条记录的分摊比例维度包括:按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第一方面,或结合第一方面的第一种可能实现方式和第二种可能的实现方式,在第三种可能的实现方式中,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,包括:
将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录。
第二方面,本发明实施例提供一种数据分摊装置,包括:
设置模块,用于根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
计算模块,用于获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
分摊模块,用于根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
结合第二方面,在第一种可能的实现方式中,所述计算模块,具体用于分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第二方面,或结合第二方面的第一种可能实现方式,在第二种可能的实现方式中,所述装置还包括关联模块;
所述关联模块,用于在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
所述计算模块,具体用于按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第二方面,或结合第二方面的第一种可能实现方式和第二种可能的实现方式,在第三种可能的实现方式中,
所述分摊模块,具体用于将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录。
第三方面,本发明实施例提供一种数据分摊设备,包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接;
所述存储器,用于存储程序;所述处理器,用于执行所述存储器存储的程序;
所述程序,用于:
根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
结合第三方面,在第一种可能的实现方式中,所述程序,还用于:
分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第三方面,或结合第三方面的第一种可能实现方式,在第二种可能的实现方式中,所述程序,还用于:
在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
所述计算模块,具体用于按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
结合第三方面,或结合第三方面的第一种可能实现方式和第二种可能的实现方式,在第三种可能的实现方式中,
将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录。
本发明实施例先根据用户输入设置分摊对象和分摊基数的目标维度和数值维度,再获得所述分摊基数中每条记录的分摊比例维度,然后,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各条记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据,从而实现了按照分摊基数中目标维度和数值维度中的数据对分摊对象中目标维度和数值维度中的数据进行分摊的目的。本实施例中根据用户输入的目标维度名称和数值维度名称分别设置分摊对象和分摊基数的分摊维度,通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景,因此,本实施例提供的方法适应于各种分摊场景,不论分摊维度如何变换均可采用本实施例来实现分摊,因此。本实施例提供的分摊方法提高了分摊灵活度,减小了分摊复杂度,降低了代码维护成本,提高了分摊效率。
附图说明
图1为本发明实施例提供的一种数据分摊方法流程图;
图2为本发明实施例提供的另一种数据分摊方法流程图;
图3为本发明实施例提供的又一种数据分摊方法流程图;
图4为本发明实施例提供的一种数据分摊装置结构示意图;
图5为本发明实施例提供的另一种数据分摊装置结构示意图;
图6为本发明实施例提供的又一种数据分摊装置结构示意图;
图7为本发明实施例提供的一种数据分摊设备结构示意图。
具体实施方式
本发明实施例中分摊对象可以是由一条或多条记录组成的数据表,同样,第一分摊基数也可以是由一条或多条记录组成的数据表。其中,数据表中的一列对应一个维度。分摊对象有多种维度,同样分摊基数也有多种维度。例如,分摊基数包括产品、部门、区域和当前发生额等维度,分摊对象包括产品、部门、区域和借方金额等维度。分摊场景可以是根据分摊基数中与分摊对象相同的产品的部门维度和当前发生额维度,对分摊对象的部门维度和借方金额进行分摊,分摊是对分摊对象的部门维度和借方金额进行细化的过程。分摊场景也可以是根据分摊基数中部门维度和当前发生额维度,对分摊对象的部门维度和借方金额进行分摊,分摊基数中部门维度和当前发生额度对应的产品维度可以与分摊对象中部门维度和当前发生额度对应的产品维度不相同。
在分摊对象中,被分摊基数分摊的非数值维度称为分摊对象的目标维度,用于关联分摊基数的维度可以称为分摊对象的关联维度;在分摊基数中,对分摊对象进行分摊的非数值维度称为分摊基数的目标维度,用于关联分摊对象的维度可以称为分摊基数的关联维度。分摊对象中关联维度与分摊基数中关联维度相同。如果分摊场景不要求根据与分摊对象相关联的分摊基数对分摊对象进行分摊,只是要求根据分摊基数对分摊对象进行分摊,则不需要设置关联维度,如果分摊维度要求根据与分摊对象相关联的分摊基数对分摊对象进行分摊,则需要设置关联维度。
本发明实施例提供的方法的执行主体可以为任何具有CPU的设备。例如,个人计算机等。
图1为本发明实施例提供的一种数据分摊方法流程图。如图1所示,本实施例提供的方法包括:
步骤11:根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称。
用户输入的目标维度的名称可以包括一个维度的名称,也可以包括多个维度的名称。分摊对象的目标维度的名称和分摊基数的目标维度的名称相同,分摊对象的数值维度的名称可以与分摊基数的数值维度的名称相同,也可以与分摊基数的数值维度的名称不相同。根据用户输入从分摊对象的所有非数值维度中提取出一个或多个需要被分摊的非数值维度作为目标维度,从分摊对象的所有数值维度中提取出一个或多个需要被分摊的数值维度。根据用户输入从分摊基数的所有非数值维度中提取出一个或多个非数值维度作为目标维度,用于对分摊对象中目标维度进行分摊,并从摊基数的所有数值维度中提取出一个数值维度,用于对分摊对象中的数值维度进行分摊。
在分摊场景中,将分摊对象中被分摊基数分摊的非数值维度称为分摊对象的目标维度,将分摊基数中对分摊对象进行分摊的非数值维度称为分摊基数的目标维度。以根据分摊基数中部门维度和当前发生额维度,对分摊对象的部门维度和借方金额进行分摊的分摊场景为例,可以将分摊对象中部门维度作为目标维度,将分摊对象中当前发生额度维度作为数值维度,可以将分摊基数中产品维度作为关联维度,将部门维度作为目标维度,将借方金额维度作为数值维度。
可选地,分摊对象的分摊维度还可以包括携带维度,携带维度中数据用于展示目标维度和数值维度相关的信息。分摊对象中携带维度中的数据在分摊前后不发生变化,为分摊对象设置携带维度后,在分摊对象的分摊结果表中展示携带维度
可选地,为减少分摊过程中的数据运算量,在设置分摊维度后,也就是步骤12之前,可以根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总,步骤12之前还可以根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
步骤12:获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值。
由于确定分摊比例时只能参照一个标准,因此,分摊基数中数值维度只能有一个。可以分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
步骤13:根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各条记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
分摊对象中一条记录被分摊基数中每条记录分摊成了多条记录,这些记录的目标维度中数据分别为分摊基数的目标维度中数据。这些记录的数值维度分别为分摊对象中原数值维度中数据与分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据的乘积。
本发明实施例根据用户输入分别设置分摊对象和分摊基数的每条记录的分摊维度,用户可以通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景。在根据分摊场景进行一次分摊后,还可以根据不同的分摊场景为分摊对象和分摊基数设置不同的分摊维度,从而可以通过同一分摊基数对同一分摊对象进行多次分摊,得到不同的分摊结果。
可选地,在根据分摊场景分别设置分摊对象的分摊维度和分摊基数的分摊维度之后,设置分摊对象的携带维度,按照分摊基数对分摊对象进行分摊后,携带维度中数据保持不变。
本实施例提供的数据分摊方法,先根据用户输入设置分摊对象和分摊基数的目标维度和数值维度,再获得所述分摊基数中每条记录的分摊比例维度,然后,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各条记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据,从而实现了按照分摊基数中目标维度和数值维度中的数据对分摊对象中目标维度和数值维度中的数据进行分摊的目的。本实施例中根据用户输入的目标维度名称和数值维度名称分别设置分摊对象和分摊基数的分摊维度,通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景,因此,本实施例提供的方法适应于各种分摊场景,不论分摊维度如何变换均可采用本实施例来实现分摊,因此。本实施例提供的分摊方法提高了分摊灵活度,减小了分摊复杂度,降低了代码维护成本,提高了分摊效率。
图2为本发明实施例提供的另一种数据分摊方法流程图。本实施例中分摊对象和分摊基数的分摊维度还包括关联维度。如图2所示,本实施例提供的方法包括:
步骤21:根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称、数值维度的名称和关联维度的名称。
由于确定分摊比例时只能参照一个标准,因此,分摊基数中数值维度只能有一个。进行分摊之前,根据从分摊对象的所有维度中提取出一个或多个与分摊基数中相同的维度作为关联维度,并提取出一个或多个需要被分摊的非数值维度作为目标维度,提取出一个或多个需要被分摊的数值维度。从分摊基数的所有维度中提取出一个或多个维度与分摊对象相同的维度作为关联维度、并将分摊对象的目标维度作为分摊基数的目标维度,提取出作为分摊依据的数值维度。分摊场景可以是按照通过关联维度与分摊对象关联后的分摊基数的目标维度和数值维度,对分摊对象的目标维度和数值维度进行分摊。
可选地,为减少分摊过程中的数据运算量,在设置分摊维度后,在获得所述分摊基数中每条记录的分摊比例维度之前,可以根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。在获得所述分摊基数中每条记录的分摊比例维度之前,还可以根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
举例来说,分摊对象包括以下维度:部门维度、借方金额维度、贷方金额维度、产品维度、会计期维度和地区维度;如表2A所示,分摊基数Y1包括以下维度:部门维度产品维度、会计期维度和地区维度和当前发生额维度。分摊场景是对于某件产品,根据分摊基数中部门维度和当前发生额维度分别对分摊对象中部门维度、借方金额维度和贷方金额维度进行分摊。同时在分摊结果中展示会计期维度和地区维度。由于分摊基数Y1是对分摊对象进行分摊的依据,其中各维度不需要在分摊结果中展现,因此,在分摊基数中不需要设置携带维度。另外,分摊基数的数值维度是对分摊对象中数值维度进行分摊的依据,在只允许有一个分摊依据的情况下,在分摊基数中只设置一个数值维度。因此,如表2B所示,可以提取出表2A中分摊基数Y1中的部门维度,产品维度和当前发生额维度生成分摊基数Y2,分摊基数Y2包括目标维度:部门、关联维度:产品,和数值维度:当前发生额。
如表1所示。在分摊对象X1中,将部门维度设置为目标维度,将产品维度设置为关联维度,将借方金额和贷方金额设置为数值维度,将会计期维度和地区维度设置为携带维度。需要说明的是:如果不需要在分摊结果中展示除产品、部门、借方金额之外的维度,可以在分摊对象X1中不设置携带维度,分摊对象中不包括携度维度。在分摊基数中,将部门维度设置为目标维度,将产品维度设置为关联维度,将当前发生额设置为数值维度。
表1为分摊对象X1
会计期 | 产品 | 部门 | 区域 | 借方金额 | 贷方金额 |
201201 | 打印机A | IT实施部 | 中国地区 | 100 | 0 |
201201 | 打印机B | IT实施部 | 中国地区 | 150 | 0 |
表2A为分摊基数Y1
会计期 | 产品 | 部门 | 区域 | 当前发生额 |
201201 | 打印机A | A实施部 | 中国地区 | 2 |
201201 | 打印机A | C实施部 | 中国地区 | 30 |
201201 | 打印机A | B实施部 | 中国地区 | 68 |
201201 | 打印机C | B实施部 | 中国地区 | 10 |
表2B为分摊基数Y2
产品 | 部门 | 当前发生额 |
打印机A | A实施部 | 2 |
打印机A | C实施部 | 30 |
打印机A | B实施部 | 68 |
打印机C | B实施部 | 10 |
步骤22:在分摊对象中去除与分摊基数不相关的记录,在分摊基数中去除与分摊对象不相关的记录;分摊对象中与分摊基数不相关的记录为,分摊对象中的关联维度中数据与分摊基数中每个记录中关联维度中数据都不相同的记录;分摊基数中与分摊对象不相关的记录为,分摊基数中的关联维度中数据与分摊对象中每个记录中关联维度中数据都不相同的记录。
以表1和表2B为例,通过产品维度将分摊对象X1和分摊基数Y1进行关联后,在表1去除了关于打印机B的记录得到表3所示的分摊对象X2,因为在表2B中没有关于打印机B的记录。在表2B中去除了关于打印机C的记录如表4所示的分摊基数Y3,因为表1中没有关于打印机C的记录。
表3为分摊对象X2
会计期 | 产品 | 部门 | 区域 | 借方金额 | 贷方金额 |
201201 | 打印机A | IT实施部 | 中国地区 | 100 | 0 |
表4为分摊基数Y3
产品 | 部门 | 当前发生额 |
打印机A | A实施部 | 2 |
打印机A | C实施部 | 30 |
打印机A | B实施部 | 68 |
步骤23:按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总。
步骤24:将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
在具有关联维度的情况下,在本实施例中,步骤12获得所述分摊基数中每条记录的分摊比例维度具体为步骤23和步骤24。
在表4所示的分摊基数Y3中增加分摊比例维度生成如表5所示的分摊基数Y4。参见表5和表4,按照产品维度和部门维度对表4的当前发生额维度进行分组汇总后得到表5中汇总1维度,按照部门维度对表4的当前发生额维度进行分组汇总后得到表5中汇总2维度。将表5中各记录的汇总1中数据除以表5中各记录的汇总2中数据,得到表5中分摊比例维度中数据。
表5为分摊基数Y4
产品 | 部门 | 当前发生额 | 汇总1 | 汇总2 | 分摊比例 |
打印机A | A实施部 | 2 | 2 | 100 | 2/100 |
打印机A | C实施部 | 30 | 30 | 100 | 30/100 |
打印机A | B实施部 | 68 | 68 | 100 | 68/100 |
步骤25:将分摊对象中的每条记录按照处理分摊对象中的第一记录的方式进行处理,处理分摊对象中的第一记录的方式包括:根据分难基数中与第一记录相关联的各个记录,将第一记录分摊成多条记录。
其中,第一记录为分摊对象与分摊基数进行关联后,分摊对象中的任意一条记录。第一记录中的目标维度中数据,被分摊成分摊基数中与第一记录相关联的各个记录中的目标维度中数据,第一记录中的数值维度中数据,被分摊成分摊基数中与第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;分摊基数中与第一记录相关联的记录为,其中的关联维度中数据与第一记录中关联维度中的数据相同的记录。
参见表3、5和6,对于表3所示的分摊对象X2中每条记录,通过表5中每条记录的部门维度中数据,对其中的部分维度中数据进行分摊,通过表5中分摊比例维度中数据,对其中的借方金额维度中数据进行分摊,得到如表6所示的分摊结果。如表6所示,表3中部门IT实施部被分摊成了三个实施部:CRM实施总、B实施部和A实施部,并且给出了每个实施部的借方金额和贷方金额。
表6为分摊对象X2的分摊结果
会计期 | 产品 | 部门 | 区域 | 借方金额 | 贷方金额 |
201201 | 打印机A | A实施部 | 中国地区 | 2 | 0 |
201201 | 打印机A | C实施部 | 中国地区 | 30 | 0 |
201201 | 打印机A | B实施部 | 中国地区 | 68 | 0 |
本实施例提供的数据分摊方法,在分摊对象和分摊基数中分别增加了用于相互关联的关联维度。根据关联后的分摊基数中分摊比例维度的数据对关联后的分摊对象中数值维度的数据进行分摊,根据关联后的分摊基数中目标维度的数据对关联后的分摊对象中目标维度的数据进行分摊,从而实现了按照分摊基数中目标维度和数值维度中的数据对分摊对象中目标维度和数值维度中的数据进行分摊的目的。本实施例中根据用户输入的目标维度名称和数值维度名称以及关联维度的名称分别设置分摊对象和分摊基数的分摊维度,通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景,因此,本实施例提供的方法适应于各种分摊场景,不论分摊维度如何变换均可采用本实施例来实现分摊,因此。本实施例提供的分摊方法提高了分摊灵活度,减小了分摊复杂度,降低了代码维护成本,提高了分摊效率。
在表1和表2中设置了一个关联维度和一个目标维度。下面给出的实施例中分摊对象和分摊基数分别有两个关联维度和两个目标维度。以下场景中,分摊对象包括以下维度:会计期维度、公司维度、产品维度、部门维度、用户维度、区域维度、金额RMB维度和金额USD维度。如表8A所示,分摊基数包括以下维度:公司维度、产品维度、部门维度、用户维度和使用时长维度。分摊场景是根据分摊基数中部门维度和用户维度,对分摊对象中部门维度和用户维度进行分摊,同时根据分摊基数中使用时长维度对分摊对象中金额RMB维度和金额USD维度。
首先,根据用户输入的分摊维度名称,在如表7所示的分摊对象C1中,将产品维度和公司维度设置为关联维度,将部门维度和用户维度设置为目标维度,将金额RMB维度和金额USD维度设置为数值维度,将区域维度设置为携带维度。可选地,可以将会计期维度和区域维度作为携带维度,以在表12所示的分摊结果中展现会计期维度和区域维度。在如表8A所示的分摊基数中,将产品维度和公司维度设置为关联维度,将部门维度和用户维度设置为目标维度,将使用时长维度设置为数值维度。如表8B所示。提取出分摊基数D1中的产品维度、公司维度、部门维度、用户维度和使用时长维度生成分摊基数D2
表7为分摊对象C1
会计期 | 公司 | 产品 | 部门 | 用户 | 区域 | 金额RMB | 金额USD |
201201 | 海思公司 | 打印机A | IT实施部 | 公共 | 美国 | 100 | 15.4 |
201201 | 海思公司 | 复印机 | IT实施部 | 公共 | 中国 | 200 | 15.4 |
201201 | 慧通公司 | 打印机A | IT实施部 | 公共 | 中国 | 150 | 25 |
表8A为分摊基数D1
会计期 | 公司 | 产品 | 部门 | 用户 | 区域 | 使用时长 |
201201 | 海思公司 | 打印机A | A实施部 | 张三 | 美国 | 8 |
201201 | 海思公司 | 打印机A | A实施部 | 李四 | 美国 | 12 |
201201 | 海思公司 | 复印机 | A实施部 | 李四 | 中国 | 10 |
201201 | 海思公司 | 复印机 | B实施部 | 张六 | 中国 | 5 |
201201 | 慧通公司 | 复印机 | B实施部 | 王五 | 中国 | 5 |
201201 | 慧通公司 | 复印机 | C实施部 | 周六 | 中国 | 15 |
201201 | 慧通公司 | 打印机A | C实施部 | 赵七 | 中国 | 4 |
201201 | 慧通公司 | 打印机A | B实施部 | 钱八 | 中国 | 6 |
201201 | 慧通公司 | 打印机A | B实施部 | 赵九 | 中国 | 8 |
表8B为分摊基数D2
公司 | 产品 | 部门 | 用户 | 使用时长 |
海思公司 | 打印机A | A实施部 | 张三 | 8 |
海思公司 | 打印机A | A实施部 | 李四 | 12 |
海思公司 | 复印机 | A实施部 | 李四 | 10 |
海思公司 | 复印机 | B实施部 | 张六 | 5 |
慧通公司 | 复印机 | B实施部 | 王五 | 5 |
慧通公司 | 复印机 | C实施部 | 周六 | 15 |
慧通公司 | 打印机A | C实施部 | 赵七 | 4 |
慧通公司 | 打印机A | B实施部 | 钱八 | 6 |
慧通公司 | 打印机A | B实施部 | 赵九 | 8 |
接下来,将分摊对象C1与分摊基数D2按照关联维度进行关联后,得到如表9所示的分摊对象C2和如表10所示的分摊基数D3。如表10表示,在表8中去除了公司为慧通公司且产品为复印机的所有记录,因为在表7中没有公司为慧通公司且产品为复印机的记录。
表9为分摊对象C2
会计期 | 公司 | 产品 | 部门 | 用户 | 区域 | 金额RMB | 金额USD |
201201 | 海思公司 | 打印机A | IT实施部 | 公共 | 美国 | 100 | 15.4 |
201201 | 海思公司 | 复印机 | IT实施部 | 公共 | 中国 | 200 | 15.4 |
201201 | 慧通公司 | 打印机A | IT实施部 | 公共 | 中国 | 150 | 25 |
表10为分摊基数D3
公司 | 产品 | 部门 | 用户 | 使用时长 |
海思公司 | 打印机A | A实施部 | 张三 | 8 |
海思公司 | 打印机A | A实施部 | 李四 | 12 |
海思公司 | 复印机 | A实施部 | 李四 | 10 |
海思公司 | 复印机 | B实施部 | 张六 | 5 |
慧通公司 | 打印机A | C实施部 | 赵七 | 4 |
慧通公司 | 打印机A | B实施部 | 钱八 | 6 |
慧通公司 | 打印机A | B实施部 | 赵九 | 8 |
然后,根据如表10所示的分摊基数D3生成如表11所示的分摊基数D4,具体地,根据分摊基数D3中公司维度、产品维度、部门维度、用户维度、对第三分摊基数D3的使用时长维度进行分组汇总得到表11中所示的汇总1维度,根据分摊基数D3中产品维度和公司维度对分摊基数D3的使用时长维度进行分组汇总得到表11中所示的汇总2维度,将汇总1维度除以汇总2维度生成如表11所示的分摊比例维度。
表11为分摊基数D4
公司 | 产品 | 部门 | 用户 | 使用时长 | 汇总1 | 汇总2 | 分摊比例 |
海思公司 | 打印机A | A实施部 | 张三 | 8 | 8 | 20 | 8/20 |
海思公司 | 打印机A | A实施部 | 李四 | 12 | 12 | 20 | 12/20 |
海思公司 | 复印机 | A实施部 | 李四 | 10 | 10 | 15 | 10/15 |
海思公司 | 复印机 | B实施部 | 张六 | 5 | 5 | 15 | 5/15 |
慧通公司 | 打印机A | C实施部 | 赵七 | 4 | 4 | 18 | 4/18 |
慧通公司 | 打印机A | B实施部 | 钱八 | 6 | 6 | 18 | 6/18 |
慧通公司 | 打印机A | B实施部 | 赵九 | 8 | 8 | 18 | 8/18 |
最后,根据如表11所示的分摊基数D4的部门维度和用户维度对分摊对象C2的部门维度和用户维度进行分摊,根据分摊基数D4的分摊比例维度对分摊对象C2的金额RMB维度和金额USD维度进行分摊,生成如表12所示的分摊结果。如表12所示,海思公司的打印机A分别被BIS部门的张三和BIS部门的李四使用,且根据使用时长计算的金额RMB分别为100(8/12)和100(12/20)。
表12为分摊对象C2的分摊结果
图3为本发明实施例提供的再一种分摊方法流程图。本实施例与图2对应实施例区别在于,本实施例先根据分摊基数确定分摊比例维度,再将增加有分摊比例维度的分摊基数与分摊对象进行关联得到相关联的分摊基数和分摊对象。如图3和如图3所示,本实施例提供的方法包括:
步骤31:根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称、数值维度的名称和关联维度的名称。
步骤32:按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总。
步骤33:将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
在具有关联维度的情况下,在本实施例中,步骤12获得所述分摊基数中每条记录的分摊比例维度具体为步骤32和步骤33。
可选地,为减少分摊过程中的数据运算量,在设置分摊维度后,在获得所述分摊基数中每条记录的分摊比例维度之前,可以根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。在获得所述分摊基数中每条记录的分摊比例维度之前,还可以根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
以表2B所示的分摊基数Y1为例,在表2B所示的分摊基数Y2中增加分摊比例维度生成如表13所示的分摊基数Y5。具体地,按照产品维度和部门维度对表2B的当前发生额维度进行分组汇总后得到表13中汇总1维度,按照部门维度对表2B的当前发生额维度进行分组汇总后得到表13中汇总2维度,将表13中各记录的汇总1中数据除以表13中各记录的汇总2中数据,得到表13中分摊比例维度中数据。
表13分摊基数Y5
产品 | 部门 | 当前发生额 | 汇总1 | 汇总2 | 分摊比例 |
打印机A | A实施部 | 2 | 2 | 100 | 2/100 |
打印机A | C实施部 | 30 | 30 | 100 | 30/100 |
打印机A | B实施部 | 68 | 68 | 100 | 68/100 |
打印机C | B实施部 | 10 | 10 | 10 | 10/10 |
以表8B所示分摊基数D2为例,在表8B所示的分摊基数D1中增加分摊比例维度得到如表14所示的分摊基数D5。具体地,根据分摊基数D2中公司维度、产品维度、部门维度、用户维度、对分摊基数D2的使用时长维度进行分组汇总得到表14中所示的汇总1维度,根据分摊基数D2中产品维度和公司维度对分摊基数D2的使用时长维度进行分组汇总得到表14中所示的汇总2维度,将汇总1维度除以汇总2维度生成如表14所示的分摊比例维度。
表14为分摊基数D5
公司 | 产品 | 部门 | 用户 | 使用时长 | 汇总1 | 汇总2 | 分摊比例 |
海思公司 | 打印机A | A实施部 | 张三 | 8 | 8 | 20 | 8/20 |
海思公司 | 打印机A | A实施部 | 李四 | 12 | 12 | 20 | 12/20 |
海思公司 | 复印机 | A实施部 | 李四 | 10 | 10 | 15 | 10/15 |
海思公司 | 复印机 | B实施部 | 张六 | 5 | 5 | 15 | 5/15 |
慧通公司 | 复印机 | B实施部 | 王五 | 5 | 5 | 20 | 5/20 |
慧通公司 | 复印机 | C实施部 | 周六 | 15 | 15 | 20 | 15/20 |
慧通公司打印机AC实施部赵七 | 44184/18 |
慧通公司打印机AB实施部钱八 | 66186/18 |
慧通公司打印机AB实施部赵九 | 88188/18 |
步骤34:在分摊对象中去除与分摊基数不相关的记录,在分摊基数中去除与分摊对象不相关的记录;分摊对象中与分摊基数不相关的记录为,分摊对象中的关联维度中数据与分摊基数中每个记录中关联维度中数据都不相同的记录;分摊基数中与分摊对象不相关的记录为,分摊基数中的关联维度中数据与分摊对象中每个记录中关联维度中数据都不相同的记录。
以表13和表1为例,根据部门维度将表13所示的分摊基数Y5与表1所示的分摊对象X1进行关联,在表1去除了关于打印机B的记录同样得到如表3所示的分摊对象X2,在表13中去除了关于打印机C的记录,同样得到如表5所示的分摊基数Y4。
以表14和表7为例,根据产品维度和公司维度将表14所示的第四分摊基数D4与如表7所示的第一分摊对象C1进行关联,得到如表9所示的第二分摊对象C2和如表11所示的分摊基数D4。在表11中去除了表14中公司为慧通公司且产品为复印机的所有记录,因为在表7中没有公司为慧通公司且产品为复印机的记录。
步骤35:将分摊对象中的每条记录按照处理分摊对象中的第一记录的方式进行处理,处理分摊对象中的第一记录的方式包括:根据分难基数中与第一记录相关联的各个记录,将第一记录分摊成多条记录。
步骤35与步骤25相同。
图2和图3对应的实施例中,分摊维度包括目标维度、数据维度和关联维度。以下以表15所示的分摊对象E1和表16所示的分摊基数F1为例,说明对象和分摊基数中均没有设置关联维度时,如何根据分摊基数对分摊对象进行分摊。
分摊场景可以是根据分摊基数中部门维度和使用时长维度,对分摊对象中部门维度和金额RMB维度以及金额USD维度进行分摊。因此,用户输入的分摊对象E1中的目标维度的名称为部门,分摊对象E1中的数值维度的名称为金额RMB和金额USD,其余维度设置为携带维度,分摊基数F1的目标维度的名称为部门,分摊基数F1的数值维度的名称为使用时长。
表15为分摊对象E1
会计期 | 公司 | 产品 | 部门 | 区域 | 金额RMB | 金额USD |
201201 | 海思公司 | 公共产品 | IT实施部 | 中国 | 100 | 15.4 |
201201 | 慧通公司 | 公共产品 | IT实施部 | 中国 | 200 | 15.4 |
201201 | 天天公司 | 公共产品 | IT实施部 | 中国 | 150 | 25 |
在如表16所示的分摊基数F1中,部门维度为目标维度,将当前发生额为数据维度。提取出分摊基数F1的目标维度和数值维度得到如表17所示的分摊基数F2。
表16为分摊基数F1
会计期 | 公司 | 产品 | 部门 | 区域 | 使用时长 |
201201 | 天天公司 | 打印机A | A实施部 | 中国 | 8 |
201201 | 天天公司 | 打印机A | B实施部 | 中国 | 12 |
201201 | 天天公司 | 复印机 | C实施部 | 中国 | 10 |
表17为分摊基数F2
部门 | 使用时长 |
A实施部 | 8 |
B实施部 | 12 |
C实施部 | 10 |
对表17中所有记录的使用时长维度中数据进行汇总,得到所有记录的数据维度中数据的总和为30,表17中每条记录的数据维度中数据在所有记录的数据维度中数据的总和中占用的分摊比例如表18所示。表18所示的分摊基数F3在表17所示的分摊基数F2中增加了分摊比例维度。
表18为分摊基数F3
部门 | 使用时长 | 分摊比例 |
A实施部 | 8 | 8/30 |
B实施部 | 12 | 12/30 |
C实施部 | 10 | 10/30 |
根据分摊基数F3中部门维度对分摊对象E1中部门维度进行分摊,根据分摊基数F3中分摊比例维度对第一分摊对象E1中金额RMB维度和金额USD维度进行分摊,得到如表19所示的分摊结果表。如表19所示,分摊对象E1中部门维度“IT实施部”被分摊成了三个部门“A实施部、B实施部和C实施部”,将分摊基数F3中每条记录的分摊比例维度中数据与分摊对象E1中数据维度中数据分别相乘获得“A实施部、B实施部和C实施部”中每个部门对应的数据维度中数据。
表19为分摊基数F2对分摊对象E1后的分摊结果表
会计期 | 公司 | 产品 | 部门 | 区域 | 金额RMB | 金额USD |
201201 | 海思公司 | 公共产品 | A实施部 | 中国 | 100×(8/30) | 15.4×(8/30) |
201201 | 海思公司 | 公共产品 | B实施部 | 中国 | 100×(12/30) | 15.4×(12/30) |
201201 | 海思公司 | 公共产品 | C实施部 | 中国 | 100×(10/30) | 15.4×(10/30) |
201201 | 慧通公司 | 公共产品 | A实施部 | 中国 | 200×(8/30) | 15.4×(8/30) |
201201 | 慧通公司 | 公共产品 | B实施部 | 中国 | 200×(12/30) | 15.4×(12/30) |
201201 | 慧通公司 | 公共产品 | C实施部 | 中国 | 200×(10/30) | 15.4×(10/30) |
201201 | 天天公司 | 公共产品 | A实施部 | 中国 | 150×(8/30) | 25×(8/30) |
201201 | 天天公司 | 公共产品 | B实施部 | 中国 | 150×(12/30) | 25×(12/30) |
201201 | 天天公司 | 公共产品 | C实施部 | 中国 | 150×(10/30) | 25×(10/30) |
如表19所示,分摊对象E1中每条记录均被分摊成3条记录,这3条记录中部门维度中数据分别为分摊基数F3中每条记录的部门维度中数据,这3条记录的数据维度中数据,分别为分摊基数F3中每条记录的分摊比例维度中数据与分摊对象E1中数据维度中数据的乘积。分摊后,分摊对象E1中的携带维度为:会计期、公司、产品和区域没有发生变化。
在没有关联维度的情况下,分摊基数和分摊对象通过笛卡尔乘积进行关联,使分摊对象的每一条记录被分摊基数分摊成多条记录。例如,分摊对象有n条记录,分摊基数有m条记录,分摊后分摊对象中包括n×m条记录。
图4为本发明实施例提供的一种数据分摊装置结构示意图。如图4所示,本实施列提供的装置包括:设置模块41、计算模块42和分摊模块43。
设置模块41,用于根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称。
用户输入的目标维度的名称可以包括一个维度的名称,也可以包括多个维度的名称。分摊对象的目标维度的名称和分摊基数的目标维度的名称相同,分摊对象的数值维度的名称可以与分摊基数的数值维度的名称相同,也可以与分摊基数的数值维度的名称不相同。根据用户输入从分摊对象的所有非数值维度中提取出一个或多个需要被分摊的非数值维度作为目标维度,从分摊对象的所有数值维度中提取出一个或多个需要被分摊的数值维度。根据用户输入从分摊基数的所有非数值维度中提取出一个或多个非数值维度作为目标维度,用于对分摊对象中目标维度进行分摊,并从摊基数的所有数值维度中提取出一个数值维度,用于对分摊对象中的数值维度进行分摊。
在分摊场景中,将分摊对象中被分摊基数分摊的非数值维度称为分摊对象的目标维度,将分摊基数中对分摊对象进行分摊的非数值维度称为分摊基数的目标维度。以根据分摊基数中部门维度和当前发生额维度,对分摊对象的部门维度和借方金额进行分摊的分摊场景为例,可以将分摊对象中部门维度作为目标维度,将分摊对象中当前发生额度维度作为数值维度,可以将分摊基数中产品维度作为关联维度,将部门维度作为目标维度,将借方金额维度作为数值维度。
计算模块42,用于获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值。
进一步,计算模块,具体用于分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
由于确定分摊比例时只能参照一个标准,因此,分摊基数中数值维度只能有一个。可以分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
分摊模块43,用于对于所述分摊对象中每条记录,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
本实施例先根据用户输入设置分摊对象和分摊基数的目标维度和数值维度,再获得所述分摊基数中每条记录的分摊比例维度,然后,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各条记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据,从而实现了按照分摊基数中目标维度和数值维度中的数据对分摊对象中目标维度和数值维度中的数据进行分摊的目的。本实施例中根据用户输入的目标维度名称和数值维度名称分别设置分摊对象和分摊基数的分摊维度,通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景,因此,本实施例提供的方法适应于各种分摊场景,不论分摊维度如何变换均可采用本实施例来实现分摊,因此。本实施例提供的分摊方法提高了分摊灵活度,减小了分摊复杂度,降低了代码维护成本,提高了分摊效率。
可选地,如图5所示,为减少运算量,图4所示的装置还包括:第一汇总模块44。所述第一汇总模块44,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总。如图5所示,为减少运算量,图4所示的装置还包括:第二汇总模块45.所述第二汇总模块45,还用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
可选地,在图4提供的实施例基础上,所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度。如图6所示,图4所示的装置还可以包括关联模块46、第三汇总模块47和第四汇总模块48。在分摊维度还包括关联维度的情况下:
所述计算模块,具体用于按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
所述关联模块46,用于在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度。
所述分摊模块43,具体用于将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度。
所述第三汇总模块47,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。
所述第四汇总模块48,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
图7为本发明实施例提供的一种数据分摊设备结构示意图。如图7所示,本实施例提供的设备包括:处理器72、存储器71、通信接口74和总线73;所述处理器72、所述存储器71和所述通信接口74通过所述总线73连接;
所述存储器,用于存储程序;所述处理器,用于执行所述存储器存储的程序;所述程序,用于:
根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
对于所述分摊对象中每条记录,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
可选地,所述程序,还用于:
分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
可选地,所述程序,还用于:
在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
获得所述分摊基数中每条记录的分摊比例维度包括:按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录。
可选地,所述程序,还用于:
在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总。
可选地,所述程序,还用于:
在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
可选地,所述程序,还用于:
获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总;
获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
本实施例先根据用户输入设置分摊对象和分摊基数的目标维度和数值维度,再获得所述分摊基数中每条记录的分摊比例维度,然后,根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各条记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据,从而实现了按照分摊基数中目标维度和数值维度中的数据对分摊对象中目标维度和数值维度中的数据进行分摊的目的。本实施例中根据用户输入的目标维度名称和数值维度名称分别设置分摊对象和分摊基数的分摊维度,通过变换分摊对象和分摊基数的分摊维度,可以构成不同的分摊场景,因此,本实施例提供的方法适应于各种分摊场景,不论分摊维度如何变换均可采用本实施例来实现分摊,因此。本实施例提供的分摊方法提高了分摊灵活度,减小了分摊复杂度,降低了代码维护成本,提高了分摊效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种数据分摊方法,其特征在于,包括:
根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
2.根据权利要求1所述的方法,其特征在于,获得所述分摊基数中每条记录的分摊比例维度包括:
分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
3.根据权利要求1所述的方法,其特征在于,所述分摊维度的名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
在所述根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度之后,还包括:
在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为, 其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;
获得所述分摊基数中每条记录的分摊比例维度包括:
按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;
将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
4.根据权利要求1、2或3所述的方法,其特征在于,所述分摊维度的名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,包括:
将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,在获得所述分摊基数中每条记录的分摊比例维度之前,还包括:
根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总。
6.根据权利要求1至4中任意一项所述的方法,其特征在于,在获得所 述分摊基数中每条记录的分摊比例维度之前,还包括:
根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
7.根据权利要求1至4中任意一项所述的方法,其特征在于,在获得所述分摊基数中每条记录的分摊比例维度之前,还包括:
根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。
8.根据权利要求1至4中任意一项所述的方法,其特征在于,在获得所述分摊基数中每条记录的分摊比例维度之前,还包括:
根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
9.一种数据分摊装置,其特征在于,包括:
设置模块,用于根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
计算模块,用于获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值;
分摊模块,用于根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
10.根据权利要求9所述的装置,其特征在于,所述计算模块,具体用于分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括关联模块;
所述关联模块,用于在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度。
12.根据权利要求9、10或11所述的装置,其特征在于,
所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
所述分摊模块,具体用于将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录;
所述计算模块,具体用于按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录 中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
13.根据权利要求9至12中任意一项所述的装置,其特征在于,还包括:第一汇总模块;
所述第一汇总模块,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总。
14.根据权利要求9至12中任意一项所述的装置,其特征在于,还包括:第一汇总模块;
所述第二汇总模块,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
15.根据权利要求9至12中任意一项所述的装置,其特征在于,还包括第三汇总模块;所述第三汇总模块,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。
16.根据权利要求9至12中任意一项所述的装置,其特征在于,还包括第四汇总模块;
所述第四汇总模块,用于在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
17.一种数据分摊设备,其特征在于,包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接;
所述存储器,用于存储程序;所述处理器,用于执行所述存储器存储的程序;所述程序,用于:
根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度,以及分摊对象中每条记录的分摊维度;所述分摊维度名称包括目标维度的名称和数值维度的名称;
获得所述分摊基数中每条记录的分摊比例维度,所述分摊基数中每条记录的分摊比例维度中的数据为,所述分摊基数中所有记录的数值维度中的数 据的总和在所述分摊基数中每条记录中的分摊比例值;
根据所述分难基数中各条记录将所述分摊对象中的每条记录分摊成多条记录,其中,所述分摊对象中的每条记录中的目标维度中的数据,被分摊成所述分摊基数中各个记录中的目标维度中数据,所述分摊对象中的每条记录中的数值维度中数据,被分摊成与所述分摊基数中各条记录中的分摊比例维度中分摊比例值分别对应的数据。
18.根据权利要求17所述的设备,其特征在于,所述程序,还用于:
分别将所述分摊基数中每条记录的数值维度中数据,与所述分摊基数中所有记录的数值维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
19.根据权利要求17所述的设备,其特征在于,所述程序,还用于:
在根据用户输入的分摊维度的名称,确定分摊基数中每条记录的分摊维度之后,在所述分摊对象中去除与所述分摊基数不相关的记录,在所述分摊基数中去除与所述分摊对象不相关的记录;所述分摊对象中与所述分摊基数不相关的记录为,其中的关联维度中数据与所述分摊基数中每个记录中关联维度中数据都不相同的记录;所述分摊基数中与所述分摊对象不相关的记录为,其中的关联维度中数据与所述分摊对象中每个记录中关联维度中数据都不相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度;
获得所述分摊基数中每条记录的分摊比例维度包括:按照关联维度中数据对分摊基数中所有记录进行分组汇总,按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总;将按照关联维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据,与按照关联维度中数据和目标维度中数据对分摊基数中所有记录进行分组汇总后得到的每条记录中的数据维度中数据的总和的比值,确定为所述分摊基数中所有记录的数值维度中的数据的总和在所述分摊基数中每条记录中的分摊比例值,并分别将所述分摊基数中所有记录的数值维度中的数据的总和在 所述分摊基数中每条记录中的分摊比例值作为所述分摊基数中每条记录中的分摊比例维度中的数据。
20.根据权利要求17、18或19所述的设备,其特征在于,所述程序,还用于:
将所述分摊对象中的每条记录按照处理所述分摊对象中的第一记录的方式进行处理,处理所述分摊对象中的第一记录的方式包括:根据所述分难基数中与所述第一记录相关联的各个记录,将所述第一记录分摊成多条记录,其中,所述第一记录中的目标维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的目标维度中数据,所述第一记录中的数值维度中数据,被分摊成所述分摊基数中与所述第一记录相关联的各个记录中的分摊比例维度中分摊比例值分别对应的数据;所述分摊基数中与所述第一记录相关联的记录为,其中的关联维度中数据与所述第一记录中关联维度中的数据相同的记录;所述分摊维度名称还包括关联维度的名称,所述分摊基数和所述分摊对象中的每条记录均还包括关联维度。
21.根据权利要求17至20任意一项所述的设备,其特征在于,所述程序,还用于:
在获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据,对所述分摊对象中所有记录进行分组汇总。
22.根据权利要求17至20任意一项所述的设备,其特征在于,所述程序,还用于:获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据,对所述分摊基数中所有记录进行分组汇总。
23.根据权利要求17至20任意一项所述的设备,其特征在于,所述程序,还用于:
获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊对象中目标维度中的数据和关联维度中的数据,对所述分摊对象中所有记录进行分组汇总。
24.根据权利要求17至20任意一项所述的设备,其特征在于,所述程序,还用于:获得所述分摊基数中每条记录的分摊比例维度之前,根据所述分摊基数中目标维度中的数据和关联维度中的数据,对所述分摊基数中所有记录进行分组汇总。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410052619.7A CN103778247B (zh) | 2014-02-17 | 2014-02-17 | 数据分摊方法和装置及设备 |
PCT/CN2014/083041 WO2015120696A1 (zh) | 2014-02-17 | 2014-07-25 | 数据分摊方法和装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410052619.7A CN103778247B (zh) | 2014-02-17 | 2014-02-17 | 数据分摊方法和装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778247A true CN103778247A (zh) | 2014-05-07 |
CN103778247B CN103778247B (zh) | 2017-02-22 |
Family
ID=50570482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410052619.7A Active CN103778247B (zh) | 2014-02-17 | 2014-02-17 | 数据分摊方法和装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103778247B (zh) |
WO (1) | WO2015120696A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015120696A1 (zh) * | 2014-02-17 | 2015-08-20 | 华为技术有限公司 | 数据分摊方法和装置及设备 |
CN108629050A (zh) * | 2018-05-16 | 2018-10-09 | 中国平安人寿保险股份有限公司 | 业务数据调整方法、装置、计算机设备及存储介质 |
CN109002456A (zh) * | 2018-05-24 | 2018-12-14 | 中国平安人寿保险股份有限公司 | 电子装置、数据分摊方法和计算机可读存储介质 |
CN109034900A (zh) * | 2018-07-26 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种业务的多维度数据的处理方法、系统及终端设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047297A (en) * | 1997-01-13 | 2000-04-04 | Microsoft Corporation | Method and system for editing actual work records |
CN1420460A (zh) * | 2001-11-20 | 2003-05-28 | 威盛电子股份有限公司 | 应收帐款冲帐的方法 |
CN101379501A (zh) * | 2005-12-20 | 2009-03-04 | 罗纳德·罗森伯格 | 用于交易网络的方法、交易卡或识别系统 |
CN1790397A (zh) * | 2005-12-28 | 2006-06-21 | 浙江工业大学 | 基于联机分析的第三方物流数据处理方法 |
CN101706939A (zh) * | 2009-11-04 | 2010-05-12 | 浪潮(山东)电子信息有限公司 | 一种适用于银行的基于交易量的费用分摊模型 |
CN102799658B (zh) * | 2012-07-05 | 2016-09-07 | 北京智达方通科技有限公司 | 一种多维度数据分摊方法 |
CN103778247B (zh) * | 2014-02-17 | 2017-02-22 | 华为技术有限公司 | 数据分摊方法和装置及设备 |
-
2014
- 2014-02-17 CN CN201410052619.7A patent/CN103778247B/zh active Active
- 2014-07-25 WO PCT/CN2014/083041 patent/WO2015120696A1/zh active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015120696A1 (zh) * | 2014-02-17 | 2015-08-20 | 华为技术有限公司 | 数据分摊方法和装置及设备 |
CN108629050A (zh) * | 2018-05-16 | 2018-10-09 | 中国平安人寿保险股份有限公司 | 业务数据调整方法、装置、计算机设备及存储介质 |
CN108629050B (zh) * | 2018-05-16 | 2023-06-30 | 中国平安人寿保险股份有限公司 | 业务数据调整方法、装置、计算机设备及存储介质 |
CN109002456A (zh) * | 2018-05-24 | 2018-12-14 | 中国平安人寿保险股份有限公司 | 电子装置、数据分摊方法和计算机可读存储介质 |
CN109002456B (zh) * | 2018-05-24 | 2023-04-11 | 中国平安人寿保险股份有限公司 | 电子装置、数据分摊方法和计算机可读存储介质 |
CN109034900A (zh) * | 2018-07-26 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种业务的多维度数据的处理方法、系统及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2015120696A1 (zh) | 2015-08-20 |
CN103778247B (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
CN103678339B (zh) | 数据回流、关系型数据库中的数据访问方法及系统 | |
CN104424263B (zh) | 一种数据记录的处理方法及装置 | |
CN106547784B (zh) | 一种数据拆分存储方法及装置 | |
CN110262773B (zh) | 一种计算机数据处理方法及装置 | |
CN105630972A (zh) | 数据处理方法及装置 | |
CN108268586A (zh) | 跨多数据表的数据处理方法、装置、介质和计算设备 | |
CN106897335B (zh) | 一种业务数据的存储方法、记录标识符的生成方法及装置 | |
CN103778247A (zh) | 数据分摊方法和装置及设备 | |
CN105446990B (zh) | 一种业务数据处理方法及设备 | |
CN101650709A (zh) | 报表生成方法和报表系统 | |
CN107346463B (zh) | 风险控制模型的训练、模型输入数据确定方法及装置 | |
CN103714086A (zh) | 用于生成非关系数据库的模式的方法和设备 | |
CN106899426A (zh) | 用户访问数量统计方法及其系统 | |
CN103761341A (zh) | 一种信息匹配方法及装置 | |
WO2017092444A1 (zh) | 基于Hadoop的日志数据挖掘方法及系统 | |
CN110018819B (zh) | 一种数据核对脚本生成方法、装置及设备 | |
CN103186560A (zh) | 一种数据排序方法以及相关装置 | |
CN104714957A (zh) | 一种表结构的变更方法及装置 | |
CN103136244A (zh) | 基于云计算平台的并行数据挖掘方法及系统 | |
CN104506394B (zh) | 一种移动互联网流量统计方法和系统 | |
CN110837511A (zh) | 一种数据处理方法、系统及相关设备 | |
CN108304527B (zh) | 一种数据提取方法 | |
CN108255819A (zh) | 一种基于分析工具spark的增值税数据整合方法及系统 | |
CN103440197A (zh) | 一种基于对比测试自动生成差异测试报告的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |