CN109542947B - 数据统计方法、装置、计算机设备和存储介质 - Google Patents
数据统计方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109542947B CN109542947B CN201811271184.XA CN201811271184A CN109542947B CN 109542947 B CN109542947 B CN 109542947B CN 201811271184 A CN201811271184 A CN 201811271184A CN 109542947 B CN109542947 B CN 109542947B
- Authority
- CN
- China
- Prior art keywords
- document
- value
- bill
- traversed
- entry
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据统计方法、装置、计算机设备和存储介质。所述方法包括:获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;遍历整合数据表的记录,记录包括单据标识和单据数值;当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。采用本申请的方案,能够提高数据的统计效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据统计方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,各种业务场景中的单据和分录,本质上是一对多的关系。在对单据和单据所对应的分录进行存储时,为了符合第3范式,在数据库中,会将单据和分录存储成两类数据,但是当需要对这两类数据进行统计时,数据库中的数据过于零散,影响统计准确率。
传统的数据统计方法是借用第三方分析工具,在统计分录数值时,由于单据上的单据数值会出现冗余数据,此时必须避免使用单据数据中的单据数值。在统计单据数值时,需要另外单独引用单据数据,即只访问单据数据,虽然提高了统计准确率,但是由于统计步骤繁琐导致统计效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据统计效率的数据统计方法、装置、计算机设备和存储介质。
一种数据统计方法,所述方法包括:
获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;
遍历整合数据表的记录,记录包括单据标识和单据数值;
当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;
当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
在其中一个实施例中,所述方法还包括:
根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,单据数值字段集合包括需要进行统计的单据数值字段;
当单据数值的单据数值字段存在于单据数值字段集合时,则
根据单据数值确定单据数值字段所对应的单据标识集合;
判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合。
在其中一个实施例中,所述方法还包括:
当遍历完整合数据表的记录中的所有单据数值时,则
确定统计的单据数值中属于同一个单据数值字段的各个单据数值;
按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。
在其中一个实施例中,所述方法还包括:
当遍历完整合数据表的记录中的所有单据数值时,则
确定统计的单据数值中属于同一个单据数值字段的各个单据数值;
按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。
在其中一个实施例中,所述记录还包括分录数值,所述方法还包括:
当遍历完整合数据表的记录中的所有分录数值时,则
确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;
按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
在其中一个实施例中,所述记录还包括分录数值,所述方法还包括:
当遍历完整合数据表的记录中的所有分录数值时,则
确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;
按照聚合运算方式对属于同一个分录数值字段的各个分录数值进行加和,以得到聚合运算结果。
一种数据统计装置,所述装置包括:
数据存储模块,用于获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;遍历整合数据表的记录,记录包括单据标识和单据数值;
数据分析模块,用于当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
在其中一个实施例中,所述数据分析模块还用于根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,单据数值字段集合包括需要进行统计的单据数值字段;当单据数值的单据数值字段存在于单据数值字段集合时,则根据单据数值确定单据数值字段所对应的单据标识集合;判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;
遍历整合数据表的记录,记录包括单据标识和单据数值;
当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;
当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;
遍历整合数据表的记录,记录包括单据标识和单据数值;
当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;
当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
上述数据统计方法、装置、计算机设备和存储介质,在同时引用单据数据和分录数据时,不需要避免使用单据数据的单据数值,只要当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,表明该单据数值已经被记录过,则不对该单据数值做进一步处理,当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,表明该单据数值是第一次出现,则将遍历的记录的单据标识存储至单据标识集合,并对遍历的记录中的单据数值进行统计,以便于该单据数值再次出现时能够计数发现该单据数值已经出现过。不用另外单独引用单据数据对单据数值进行统计,统计步骤便捷,大大提高了统计效率。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中数据统计方法的应用环境图;
图3为一个实施例中数据统计方法的流程示意图;
图4为另一个实施例数据统计方法的流程示意图;
图5为一个实施例中单据和分录的关系示例图;
图6为一个实施例中单据表与分录表的示例图;
图7为一个实施例中整合数据表的示例图;
图8为一个实施例中统计结果是示例图;
图9为一个实施例中数据统计装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示的计算机设备,包括存储器、处理器和数据库,数据库中存储有单据数据和分录数据。存储器中存储有计算机程序,计算机程序被处理器执行时,可以实现本申请提供的数据统计方法的步骤。该计算机设备可以是终端,也可以是服务器。可以理解的是,当计算机设备为终端时,该计算机设备还可以包括显示屏和输入装置等。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。计算机设备可以是通用计算机设备,也可以是嵌入式设备。
如图2所示,计算机程序包括数据存储模块和数据分析模块。数据存储模块包括遍历单元202,数据分析模块包括拦截处理单元204和运算单元206。
具体地,遍历单元202获取整合数据表,该整合数据表中的记录是基于计算机设备的数据库中的单据数据和分录数据通过单据标识的关联整合得到的。遍历单元202遍历整合数据表的记录,拦截处理单元204对遍历的记录进行处理,当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则遍历单元202继续遍历整合数据表的记录。当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则拦截处理单元204将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,遍历单元202继续遍历整合数据表的记录。
当遍历单元202遍历完整合数据表的记录中的所有单据数值时,运算单元206按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。当遍历单元202遍历完整合数据表的记录中的所有分录数值时,运算单元206按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
在一个实施例中,如图3所示,提供了一种数据统计方法,以该方法应用于图1中的计算机设备为例进行说明,该数据统计方法包括以下步骤:
步骤S302,获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的。
其中,单据数据是单据中的数据。分录数据是单据所对应的分录中的数据。整合数据表是通过整合单据数据和分录数据所得到的数据表。单据标识是单据的标识信息,例如单据ID。
具体地,获取整合数据表,该整合数据表可以是整合接口通过将单据数据和分录数据进行整合得到的。整合接口从数据库中获取单据数据和分录数据,由于单据数据和分录数据中包括相同的单据标识,整合接口可以将单据数据和分录数据通过单据标识的关联进行整合,得到整合后的整合数据表。
在一个实施例中,单据数据可以是计算机设备的数据库中存储的单据表中的单据数据,例如单据标识、日期和实收金额等。分录数据可以是计算机设备的数据库中存储的分录表中的分录数据,例如单据标识、分录标识、商品名称和商品金额等。则基于单据数据和分录数据通过单据标识的关联进行整合得到的整合数据表中便可以包括单据标识、日期、实收金额、分录标识、商品名称和商品金额等。
步骤S304,遍历整合数据表的记录,记录包括单据标识和单据数值。
其中,遍历指一个接一个访问整合数据表中的所有记录。记录指整合数据表中的一行或一列数据。具体地,假如以一行数据为一个记录,计算机设备的遍历单元可以以记录为单位,有序地遍历整合数据表中的每一个记录,每一个记录中均包括单据标识和单据数值。可以理解的是,每一个记录中还可以包括日期、分录标识、商品名称和商品价格等数据库中单据表上的单据数据和分录表上的分录数据。
步骤S306,当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录。
其中,单据数值是单据数据中的数值,单据数值字段是与单据数值对应的字段,例如,单据数值为“2000元”,对应的单据数值字段为“实收金额”,则代表该单据标识对应的实收金额为“2000元”。单据标识集合是一个单据数值字段对应多个单据标识的集合,例如单据数值字段为“实收金额”,“实收金额”对应的单据标识集合里可以有A单据的单据标识、B单据的单据标识等其他单据的单据标识([实收金额]已处理过的单据标识:{A、B……})。
具体地,遍历的记录的每一个单据数值的单据数值字段都有对应的单据标识集合,若当前遍历的记录的单据标识存在于该单据标识集合时,表明该单据数值已经被统计过,则不再对该单据数值进行统计,继续执行遍历整合数据表的记录的步骤。
在一个实施例中,假如当前遍历的记录的单据标识为A单据的单据标识,单据数值为“5000元”,单据数值的单据数值字段为“实收金额”,“实收金额”对应的单据标识集合里有A单据的单据标识、B单据的单据标识等其他单据的单据标识,A单据的单据标识存在于该单据标识集合中,表明A单据的单据数值“5000元”已经被统计过,则不再对该单据数值“5000元”进行统计,继续执行遍历整合数据表的记录的步骤。
步骤S308,当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
具体地,遍历的记录的每一个单据数值的单据数值字段都有对应的单据标识集合,若当前遍历的记录的单据标识未存在于该单据标识集合时,表明该单据数值未被统计过,则将该单据标识存储至该单据标识集合中,并对该单据数值进行统计,直接继续执行遍历整合数据表的记录的步骤。本实施例中的统计指搜集或整理。
在一个实施例中,当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,对遍历的记录中的单据数值进行统计的统计方式可以是将该单据数值按照该单据数值的单据数值字段进行分类统计,以单据数值字段为单位,将属于同一个单据数值字段的单据数值统计为一类。
上述数据统计方法,在同时引用单据数据和分录数据时,不需要避免使用单据数据的单据数值,只要当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,表明该单据数值已经被记录过,则不对该单据数值做进一步处理,当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,表明该单据数值是第一次出现,则将遍历的记录的单据标识存储至单据标识集合,并对遍历的记录中的单据数值进行统计,以便于该单据数值再次出现时能够计数发现该单据数值已经出现过。不用另外单独引用单据数据对单据数值进行统计,统计步骤便捷,大大提高了统计效率。
在一个实施例中,如图4所示,该数据统计方法还包括以下步骤:
步骤S402,根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,单据数值字段集合包括需要进行统计的单据数值字段。
其中,单据数值字段集合是一个单据标识对应的多个单据数值字段的集合,例如单据标识为A单据的单据标识,A单据的单据标识对应的单据数值字段集合里可以有“实收金额”和“找零金额”等A单据的单据标识对应的单据数值字段([A]->{[实收金额]、[找零金额]……})。
具体的,遍历的记录的每一个单据标识都有对应的单据数值字段集合,该单据数值字段集合中包括至少一个单据数值字段,该单据数值字段代表需要对该单据标识对应的该单据数值字段的单据数值进行统计。可以理解的是,该单据数值字段的单据数值可以为多个,该单据数值字段集合中的单据数值字段可以是预先设置的。
在一个实施例中,假如当前遍历的记录的单据标识为A单据的单据标识,A单据的单据标识对应的单据数值字段集合里有“实收金额”和“找零金额”,代表需要对A单据的单据标识对应的“实收金额”的单据数值和“找零金额”的单据数值进行统计。
步骤S404,当单据数值的单据数值字段存在于单据数值字段集合时,则根据单据数值确定单据数值字段所对应的单据标识集合。
具体地,遍历的记录的每一个单据标识都有对应的单据数值集合,若当前遍历的记录的单据数值的单据数值字段存在于该单据数值字段集合时,表明该单据数值字段是需要进行统计的单据数值字段。由于遍历的记录的每一个单据数值的单据数值字段都有对应的单据标识集合,可以根据当前遍历的记录的单据数值确定单据数值字段所对应的单据标识集合。若当前遍历的记录的单据数值的单据数值字段未存在于该单据数值字段集合时,表明不需要对该单据数值字段进行统计,则不对该单据数值做进一步处理。
步骤S406,判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合。
具体地,根据遍历的记录的单据数值确定需要被统计的单据数值字段所对应的单据标识集合后,由于遍历的记录的每一个单据数值的单据数值字段都有对应的单据标识集合,可以判断遍历的记录的单据标识是否存在于该单据数值字段所对应的单据标识集合中。
本实施例中,根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,该单据数值字段集合中包括需要进行统计的单据数值字段,当该单据数值的单据数值字段存在于所述单据数值字段集合时,表明该单据数值字段是需要被统计的单据数值字段,仅确定需要被统计的单据数值字段对应的单据标识集合,对未被统计过的需要被统计的单据数值字段的单据数值进行统计,避免了对不需要进行统计的单据数值进行统计,进一步提高了统计效率。
在一个实施例中,该数据统计方法还包括以下步骤:当遍历完整合数据表的记录中的所有单据数值时,则确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。
具体地,当遍历完整合数据表的记录中的所有单据数值时或当遍历完整合数据表的所有记录时,若统计的单据数值是按照该单据数值的单据数值字段进行分类统计的,则直接确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。若统计的单据数值是未按照该单据数值的单据数值字段进行分类统计的,则需要以单据数值字段为单位,按照该单据数值的单据数值字段进行分类,再对属于同一个单据数值字段的单据数值进行运算,以得到运算结果。
本实施例中,由于单据数值没有被重复统计,按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,可以得到准确的运算结果,避免了由于重复统计导致的运算结果错误。
在一个实施例中,该数据统计方法还包括:当遍历完整合数据表的记录中的所有单据数值时,则确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。
其中,本实施例中的聚合运算指将需要进行运算的数值进行加和,本实施例中的聚合运算方式指将属于同一个单据数值字段的各个单据数值进行加和的运算方式。
具体地,当遍历完整合数据表的记录中的所有单据数值时或当遍历完整合数据表的所有记录时,若统计的单据数值是按照该单据数值的单据数值字段进行分类统计的,则直接确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。若统计的单据数值是未按照该单据数值的单据数值字段进行分类统计的,则需要以单据数值字段为单位,按照该单据数值的单据数值字段进行分类,再对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。
本实施例中,由于单据数值没有被重复统计,按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,可以得到准确的聚合运算结果,避免了由于重复统计导致的聚合运算结果错误。
在一个实施例中,遍历的记录中还包括分录数值,该数据统计方法还包括:当遍历完所述整合数据表的记录中的所有分录数值时,则确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
其中,分录数值是分录数据中的数值,分录数值字段是与分录数值对应的字段,例如,分录数值为“1000元”,对应的分录数值字段为“商品金额”,则代表商品金额为“2000元”。
具体地,单据数据和分录数据以符合第三范式(Third Normal Form,3rd NF)的条件存储在数据库中,因此,基于单据数据和分录数据通过单据标识的关联进行整合得到的整合数据表中的分录数据不会出现重复。当遍历完所述整合数据表的记录中的所有分录数值时或当遍历完所述整合数据表的所有记录时,计算器设备可以以分录数值的分录数值字为单位,确定遍历的记录中属于同一个分录数值字段的分录数值,按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
本实施例中的第三范式指表中的所有数据元素不但要能惟一地被主关键字所标识,而且它们之间还必须相互独立,不存在其他的函数关系。本实施例通过遍历整合数数据表中的记录,不但可以对遍历的记录的单据数值进行运算,还可以对遍历的记录的单据数值进行运算,提高了运算效率。
在一个实施例中,记录还包括分录数值,该数据统计方法还包括:当遍历完整合数据表的记录中的所有分录数值时,则确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;按照聚合运算方式对属于同一个分录数值字段的各个分录数值进行加和,以得到聚合运算结果。
本实施例中的聚合运算方式指将属于同一个分录数值字段的各个分录数值进行加和的运算方式。具体地,当遍历完整合数据表的记录中的所有分录数值时或遍历完整合数据表中的所有记录时,计算器设备可以以分录数值的分录数值字为单位,确定遍历的记录中属于同一个分录数值字段的分录数值,按照聚合运算方式对属于同一个分录数值字段的各个分录数值进行加和,以得到聚合运算结果。
本实施例中,通过遍历整合数数据表中的记录,不但可以对遍历的记录的单据数值进行聚合运算,还可以对遍历的记录的单据数值进行聚合运算,提高了运算效率。
在一个实施例中,以单据数据是数据库中存储的单据表中的单据数据,分录数据是数据库中存储的分录表中的分录数据,单据标识为单据ID,对该数据统计方法进行举例说明:
如图5所示,单据和分录为一对多的关系,因此,为了避免冗余数据,单据的单据数据和分录数据以符合第三范式为条件,分别存储在数据库中。图6为数据库中存储的单据表和与单据表对应的分录表。获取如图7所示的整合数据表,整合数据表中的记录是基于图6单据表中的单据数据和分录表中的分录数据通过单据ID的关联进行整合得到的。遍历整合数据表的记录,该记录包括单据ID、日期、实收金额、分录ID、商品名称和商品金额。
本实施例中,当遍历的记录的单据为A,A存在于实收金额所对应的单据标识集合时,则继续遍历整合数据表的记录;若A未存在于实收金额所对应的单据标识集合,则将A存储至该单据标识集合,并对遍历的记录的单据数值2080进行统计,并继续遍历所述整合数据表的记录。本实施例中,还可以对遍历的记录的分录数值进行统计,统计后的结果如图8所示。
在一个实施例中,对属于“实收金额”的单据数值和属于“商品金额”的单据数值进行聚合运算,可以分别得到“实收金额”的单据数值和“商品金额”的单据数值的总和。针对如图8所示的统计结果,“实收金额”的单据数值的总和为11120,“商品金额”的单据数值的总和为4600。
应该理解的是,虽然图3和图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3和图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种数据统计装置900,该数据统计装置包括数据存储模块902和数据分析模块904,其中:
数据存储模块902,用于获取整合数据表,整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的。遍历整合数据表的记录,记录包括单据标识和单据数值。
数据分析模块904,用于当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历整合数据表的记录;当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历整合数据表的记录。
在一个实施例中,该数据分析模块还用于根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,单据数值字段集合包括需要进行统计的单据数值字段;当单据数值的单据数值字段存在于单据数值字段集合时,则根据单据数值确定单据数值字段所对应的单据标识集合;判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合。
在一个实施例中,该数据分析模块还用于当遍历完整合数据表的记录中的所有单据数值时,则确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。
在一个实施例中,该数据分析模块还用于当遍历完整合数据表的记录中的所有单据数值时,则确定统计的单据数值中属于同一个单据数值字段的各个单据数值;按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。
在一个实施例中,遍历的记录还包括分录数值,该数据分析模块还用于当遍历完整合数据表的记录中的所有分录数值时,则确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
在一个实施例中,遍历的记录还包括分录数值,该数据分析模块还用于当遍历完整合数据表的记录中的所有分录数值时,则确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;按照聚合运算方式对属于同一个分录数值字段的各个分录数值进行加和,以得到聚合运算结果。
关于数据统计装置的具体限定可以参见上文中对于数据统计方法的限定,在此不再赘述。上述数据统计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。可以理解的是,当计算机设备为终端时,该计算机设备还可以包括显示屏和输入装置等。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库存储有单据数据和分录数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现数据统计方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的数据统计方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的数据统计方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据统计方法,所述方法包括:
获取整合数据表,所述整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;
遍历所述整合数据表的记录,所述记录包括单据标识和单据数值;
根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,所述单据数值字段集合包括需要进行统计的单据数值字段;
当所述单据数值的单据数值字段存在于所述单据数值字段集合时,则
根据单据数值确定所述单据数值字段所对应的单据标识集合;
判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合;
当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历所述整合数据表的记录;
当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至所述单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历所述整合数据表的记录。
2.根据权利要求1所述的方法,其特征在于,所述遍历所述整合数据表的记录包括:
以行为单位、按照顺序访问所述整合数据表中的每行数据;或者以列为单位、按照顺序访问所述整合数据表中的每列数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当遍历完所述整合数据表的记录中的所有单据数值时,则
确定统计的单据数值中属于同一个单据数值字段的各个单据数值;
按照预设运算方式对属于同一个单据数值字段的各个单据数值进行运算,以得到运算结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当遍历完所述整合数据表的记录中的所有单据数值时,则
确定统计的单据数值中属于同一个单据数值字段的各个单据数值;
按照聚合运算方式对属于同一个单据数值字段的各个单据数值进行加和,以得到聚合运算结果。
5.根据权利要求1所述的方法,其特征在于,所述记录还包括分录数值,所述方法还包括:
当遍历完所述整合数据表的记录中的所有分录数值时,则
确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;
按照预设运算方式对属于同一个分录数值字段的各个分录数值进行运算,以得到运算结果。
6.根据权利要求1所述的方法,其特征在于,所述记录还包括分录数值,所述方法还包括:
当遍历完所述整合数据表的记录中的所有分录数值时,则
确定遍历的记录的分录数值中属于同一个分录数值字段的各个分录数值;
按照聚合运算方式对属于同一个分录数值字段的各个分录数值进行加和,以得到聚合运算结果。
7.一种数据统计装置,其特征在于,所述装置包括:
数据存储模块,用于获取整合数据表,所述整合数据表中的记录是基于单据数据和分录数据通过单据标识的关联进行整合得到的;遍历所述整合数据表的记录,所述记录包括单据标识和单据数值;
确定模块,用于根据遍历的记录的单据标识确定对应的单据数值的单据数值字段集合,所述单据数值字段集合包括需要进行统计的单据数值字段;
所述确定模块,还用于当所述单据数值的单据数值字段存在于所述单据数值字段集合时,则根据单据数值确定所述单据数值字段所对应的单据标识集合;
判断模块,用于判断遍历的记录的单据标识是否存在于单据数值的单据数值字段所对应的单据标识集合;
数据分析模块,用于当遍历的记录的单据标识存在于单据数值的单据数值字段所对应的单据标识集合时,则继续遍历所述整合数据表的记录;当遍历的记录的单据标识未存在于单据数值的单据数值字段所对应的单据标识集合时,则将遍历的记录的单据标识存储至所述单据标识集合,对遍历的记录中的单据数值进行统计,并继续遍历所述整合数据表的记录。
8.根据权利要求7所述的装置,其特征在于,所述数据存储模块还用于:
以行为单位、按照顺序访问所述整合数据表中的每行数据;或者以列为单位、按照顺序访问所述整合数据表中的每列数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271184.XA CN109542947B (zh) | 2018-10-29 | 2018-10-29 | 数据统计方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811271184.XA CN109542947B (zh) | 2018-10-29 | 2018-10-29 | 数据统计方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542947A CN109542947A (zh) | 2019-03-29 |
CN109542947B true CN109542947B (zh) | 2020-12-29 |
Family
ID=65845431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811271184.XA Active CN109542947B (zh) | 2018-10-29 | 2018-10-29 | 数据统计方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542947B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112465612B (zh) * | 2020-11-19 | 2024-09-06 | 金蝶软件(中国)有限公司 | 单据信息处理方法、装置、计算机设备和存储介质 |
CN113793109A (zh) * | 2021-02-03 | 2021-12-14 | 北京京东振世信息技术有限公司 | 单据处理方法及装置、计算机可读存储介质、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408171A (zh) * | 2014-12-12 | 2015-03-11 | 用友软件股份有限公司 | 单据子表行关联查询装置和方法 |
CN104657446A (zh) * | 2015-02-04 | 2015-05-27 | 深圳市汇朗科技有限公司 | 分表联合统计查询方法、装置和系统 |
CN105630934A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮电子信息产业股份有限公司 | 一种数据统计方法及系统 |
CN105808625A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息软件技术有限公司 | 单据数据的处理方法和装置 |
CN106919712A (zh) * | 2017-03-10 | 2017-07-04 | 深圳市科脉技术股份有限公司 | 报表的数据统计方法和系统 |
CN107861991A (zh) * | 2017-10-18 | 2018-03-30 | 金蝶软件(中国)有限公司 | 单据数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752025A (en) * | 1996-07-12 | 1998-05-12 | Microsoft Corporation | Method, computer program product, and system for creating and displaying a categorization table |
US9582525B2 (en) * | 2009-09-08 | 2017-02-28 | Oracle International Corporation | Technique to gather statistics on very large hierarchical collections in a scalable and efficient manner |
-
2018
- 2018-10-29 CN CN201811271184.XA patent/CN109542947B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408171A (zh) * | 2014-12-12 | 2015-03-11 | 用友软件股份有限公司 | 单据子表行关联查询装置和方法 |
CN105808625A (zh) * | 2014-12-31 | 2016-07-27 | 航天信息软件技术有限公司 | 单据数据的处理方法和装置 |
CN104657446A (zh) * | 2015-02-04 | 2015-05-27 | 深圳市汇朗科技有限公司 | 分表联合统计查询方法、装置和系统 |
CN105630934A (zh) * | 2015-12-23 | 2016-06-01 | 浪潮电子信息产业股份有限公司 | 一种数据统计方法及系统 |
CN106919712A (zh) * | 2017-03-10 | 2017-07-04 | 深圳市科脉技术股份有限公司 | 报表的数据统计方法和系统 |
CN107861991A (zh) * | 2017-10-18 | 2018-03-30 | 金蝶软件(中国)有限公司 | 单据数据处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
《三明学院财务报账单据管理系统的研究与分析》;黄国祥;《中国优秀硕士学位论文全文数据库信息科技辑》;20150930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109542947A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108509485B (zh) | 数据的预处理方法、装置、计算机设备和存储介质 | |
CN109446068B (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN109542428B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
EP3825861A2 (en) | Method and apparatus of user clustering, computer device | |
CN110377569B (zh) | 日志监控方法、装置、计算机设备和存储介质 | |
CN110399380B (zh) | 一种数据处理方法、电子装置及存储介质 | |
WO2020062702A9 (zh) | 短信发送的方法、装置、计算机设备和存储介质 | |
WO2023056723A1 (zh) | 故障诊断的方法、装置、电子设备及存储介质 | |
CN112232818A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN109542947B (zh) | 数据统计方法、装置、计算机设备和存储介质 | |
CN109783788A (zh) | 数据表填补方法、装置、计算机设备和存储介质 | |
CN108073707B (zh) | 金融业务数据更新方法、装置及计算机可读取存储介质 | |
CN110084476B (zh) | 案件调整方法、装置、计算机设备和存储介质 | |
CN117170894A (zh) | 基于实时计算的事件中心管理方法和装置 | |
CN110674145B (zh) | 数据一致性的检测方法、装置、计算机设备和存储介质 | |
CN109740799B (zh) | 预算数据生成方法、装置、计算机设备和存储介质 | |
CN110515974B (zh) | 数据抽取方法、装置、计算机设备和存储介质 | |
CN113205442A (zh) | 基于区块链的电子政务数据反馈管理方法及装置 | |
CN111046240B (zh) | 网关流量统计方法、装置、计算机设备和存储介质 | |
CN111126966A (zh) | 票据审核方法、装置、计算机设备和计算机可读存储介质 | |
CN110826921B (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN114372867A (zh) | 用户信用度的验证评估方法、装置和计算机设备 | |
CN114625951A (zh) | 流量数据处理方法、装置、设备及存储介质 | |
CN113626387A (zh) | 一种任务数据的导出方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |