CN114676675A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents

数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN114676675A
CN114676675A CN202210300046.XA CN202210300046A CN114676675A CN 114676675 A CN114676675 A CN 114676675A CN 202210300046 A CN202210300046 A CN 202210300046A CN 114676675 A CN114676675 A CN 114676675A
Authority
CN
China
Prior art keywords
generated
item
data
identifier
item identifier
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
Application number
CN202210300046.XA
Other languages
English (en)
Other versions
CN114676675B (zh
Inventor
李福涛
许进辉
许周言
杨芳
李欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN202210300046.XA priority Critical patent/CN114676675B/zh
Publication of CN114676675A publication Critical patent/CN114676675A/zh
Application granted granted Critical
Publication of CN114676675B publication Critical patent/CN114676675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种数据处理方法、装置、计算机设备,适用于涉及报表的各种场景,如ERP系统中的报表生成。所述方法包括:确定待生成项标识的生成数据类型的数量并进行行数计算得到报表总行数;基于报表总行数与生成数据类型的数量进行生成数据量计算,得到生成数据类型的生成数据量;获取待生成项标识的待生成行编码,基于报表总行数、待生成行编码和生成数据量进行索引计算得到待生成行编码的索引;基于待生成行编码的索引从数据中确定待生成行编码的行生成数据,基于待生成项标识遍历待生成行编码的待生成行,得到待生成项标识的项生成数据;基于待生成项标识的项生成数据生成目标报表。采用本方法能够提高数据处理的效率。

Description

数据处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了报表数据处理技术,报表数据处理通常是将两组以上的数据按照一定的顺序进行排序和组合。现有的数据处理是使用笛卡尔积对多组数据进行有序对的组合并排序,笛卡尔积是指两个集合A和B的笛卡尔积(Cartesian product),又称直积,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合叫做A与B的笛卡尔积,记作AxB,比如,假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。然而当数据量大时,笛卡尔积运算消耗的时间过长,造成数据处理的效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据处理效率的数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据处理方法。所述方法包括:
获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;
获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
根据待生成项标识索引从待生成项标识对应的待生成项数据中确定项生成数据;
基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表。
在其中一个实施例中,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:
遍历各个待生成项标识,并针对遍历到的待生成项标识执行以下处理:
基于遍历到的待生成项标识确定相对总行数;
基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引。
在其中一个实施例中,待生成项标识包括起始项标识和非起始项标识;基于遍历到的待生成项标识确定相对总行数,包括:
当遍历到的待生成项标识为起始项标识时,将报表总行数作为相对总行数;
当遍历到的待生成项标识为非起始项标识时,将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。
在其中一个实施例中,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量,包括:
计算报表总行数与待生成项标识对应的生成数据类型的数量的比值,得到待生成项标识对应的生成数据类型的生成数据量;
基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:
基于相对总行数和待生成行编码进行取余运算,得到取余数;
计算取余数与遍历到的待生成项标识对应的生成数据量的比值,得到待生成行编码对应的待生成项标识索引。
在其中一个实施例中,待生成项标识包括计算项标识和非计算项标识;
基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,包括:
获取待生成项标识中各个非计算项标识对应的生成数据类型的数量;
基于各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到报表总行数。
在其中一个实施例中,待生成项标识包括计算项标识和非计算项标识;
在基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表之前,还包括:
获取计算项标识对应的计算项生成数据,计算项生成数据包括各个子数据;
将各个子数据按照预设运算规则进行计算,得到计算项标识对应的目标计算项生成数据;
基于非计算项标识对应的非计算项生成数据和计算项标识对应的目标计算项生成数据,得到项生成数据。
在其中一个实施例中,基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表,包括:
基于项生成数据对应的待生成项标识和项生成数据对应的待生成行编码确定目标报表中的当前待填充单元格,将项生成数据填充到当前待填充单元格中。
第二方面,本申请还提供了一种数据处理装置。所述装置包括:
获取模块,用于获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
生成数据量计算模块,用于基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;
索引计算模块,用于获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
生成模块,用于基于待生成行编码对应的索引从待生成项数据中确定待生成行编码对应的行生成数据,基于待生成项标识遍历待生成行编码对应的待生成行,得到待生成项标识对应的项生成数据;
报表生成模块,用于基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;
获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;
基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;
获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;
基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;
获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;
基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
上述数据处理方法、装置、计算机设备、存储介质和计算机程序产品,通过报表总行数、待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,从而根据待生成项标识索引在生成项标识获取对应的待生成项数查找对应的项生成数据,并根据项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表。通过计算待生成项对应的索引,并根据索引能快速查找待生成项标识对应的项生成数据,从而能够使根据查找到的项生成数据快速生成目标报表,即提高了提高数据处理的效率。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为一个实施例中确定相对总行数的流程示意图;
图4为一个实施例中索引计算的流程示意图;
图5为一个实施例中得到目标计算项生成数据的流程示意图;
图6为一个实施例中目标报表示意图;
图7为一个实施例中报表生成的循环示意图;
图8a为相关技术提供的笛卡尔循环的示意图;
图8b为相关技术提供的笛卡尔循环的示意图;
图8c为相关技术提供的递归方案的示意图;
图8d为一个实施例中的生成目标报表的示意图;
图9为一个实施例中数据处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例可以适用于涉及报表的各种系统,包括但不限于企业资源计划(Enterprise Resource Planning,ERP)系统、生产制造管理系统、供应链系统、人事系统、财务系统、税务系统及审计系统。
本申请实施例提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104获取终端102发送的待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;服务器104基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;服务器104获取待生成项标识对应的待生成行编码,基于报表总行数、待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;服务器104根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;服务器104基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。服务器104可以向终端102返回目标报表,并且在终端102显示目标报表。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本申请实施例也可以在终端102本地实现。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取待生成报表对应的待生成项标识,基于所述待生成项标识获取对应的待生成项数据,基于所述待生成项数据确定所述待生成项标识对应的生成数据类型的数量。
其中,待生成报表是指终端响应于用户对报表生成的操作生成的待生成报表,包括用户选择的待生成项标识。待生成项标识是指待生成报表中的报表项目的标识,可以是待生成报表中的列标识。待生成项标识可以是一个,也可以是多个。待生成项数据是指预先存储在服务器的数据存储系统中的待生成项标识对应的数据信息。生成数据类型是指待生成项标识对应的待生成项数据对应的类型,相同的数据为同一类型,不同的数据为不同类型。生成数据类型的数量是指待生成项标识对应的待生成项数据中的类型个数。
具体地,终端响应于用户对报表生成的点击事件生成的待生成报表,并将生成的待生成报表发送给服务器,服务器获取待生成报表中的待生成项标识;根据待生成项标识在数据存储系统中获取对应的待生成项数据,然后根据待生成项数据中的数据确定待生成项数据的不相同数据的数量,得到生成数据类型的数量。
步骤204,基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型对应的生成数据量。
其中,报表总行数是指目标报表的总行数,用于计算待生成报表中待生成项标识对应的索引。生成数据量是指生成数据类型对应的同一数据的出现次数,用于作为待生成项标识对应的索引计算参数。
具体地,服务器根据待生成项标识对应的待生成项数据类型的数量计算报表总行数,其中,不同待生成项标识对应的待生成项数据类型的数量不同,待生成报表中存在至少一个待生成项标识,当仅存在一个待生成项标识时,直接将该待生成项标识对应的待生成项数据类型的数量作为报表总行数,当存在两个以上的待生成项标识时,基于每个待生成项标识对应的待生成项数据类型的数量进行运算得到报表总行数。服务器获取待生成报表中待生成项标识对应的生成数据类型的数量,并根据报表总行数和待生成报表中待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成报表中待生成项标识对应的生成数据类型的生成数据量。
步骤206,获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引。
其中,待生成行编码是指待生成报表中待生成行的序号。索引是用于表示待生成报表中要生成的数据与待生成项数据的关联关系的数值,并且待生成报表中要生成的数据所对应的待生成项标识与关联的待生成项数据对应的待生成项标识一致。待生成项标识索引是指待生成报表中待生成行编码和待生成项标识对应的数据的索引,用于确定待生成项标识对应的数据。
具体地,服务器获取待生成项标识对应的待生成行编码,根据待生成行编码和生成数据量进行索引计算,可以得到待生成报表中待生成行编码和待生成项标识对应的索引。当待生成报表中存在多个待生成项标识时,也可以根据各个待生成行编码和各个待生成项标识对应的生成数据量进行索引计算,得到待生成报表中所有待生成行编码和所有待生成项标识对应的索引。
值得说明的是,对于每一个待生成项标识索引来说,其与一个待生成行编码对应,且与一个待生成项标识对应。
步骤208,根据待生成项标识索引从待生成项标识对应的待生成项数据中确定项生成数据。
其中,项生成数据是指在待生成项数据中根据索引查找到的数据。在待生成报表中项生成数据与待生成项标识和待生成行编码对应。
具体地,服务器根据待生成项标识索引从待生成项标识对应的待生成项数据中确定项生成数据。当待生成报表中仅存在一个待生成项标识时,获取待生成项标识对应的各个待生成行编码,根据各个待生成行编码对应的待生成项标识索引分别从该待生成项标识对应的待生成数据中查找并获取对应的数据,得到待生成项标识对应的项生成数据。当待生成报表中存在多个待生成项标识时,服务器可以根据待生成行编码遍历各个待生成项标识对应的待生成项标识索引,从各个待生成项标识对应的待生成数据中查找对应的数据,得到待生成行编码对应的各个待生成项标识的项生成数据。然后服务器遍历各个待生成行编码对应的各个待生成项标识索引,得到各个待生成项标识对应的项生成数据。服务器也可以根据待生成项标识遍历各个待生成行编码对应的待生成项标识索引,然后遍历各个待生成项标识对应的各个待生成项标识索引,得到各个待生成项标识对应的项生成数据。
步骤210,基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
其中,目标报表是指基于项生成数据生成的报表。
具体地,服务器根据项生成数据对应的待生成项标识、项生成数据对应的待生成行编码和项生成数据的对应关系生成目标报表。服务器中可以包括待填充单元格,服务器可以在计算出一个待填充单元格的索引后,将根据索引查找到的项生成数据填充到该待填充单元格中,直到所有待填充单元格中填充项生成数据,得到目标报表。服务器也可以在计算出各个待填充单元格的索引后,将根据各个索引查找到的各个项生成数据同时填充到对应的待填充单元格中,生成目标报表。然后服务器可以将目标报表发送至终端显示。
上述数据处理方法,通过报表总行数、待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,从而根据待生成项标识索引在生成项标识获取对应的待生成项数查找对应的项生成数据,并根据项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表。通过计算待生成项对应的索引,并根据索引能快速查找待生成项标识对应的项生成数据,从而能够通过查找到的项生成数据快速生成目标报表,即提高了提高数据处理的效率。
在一个实施例中,步骤206,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:
遍历各个待生成项标识,并针对遍历到的待生成项标识执行以下处理:
基于遍历到的待生成项标识确定相对总行数;
基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引。
其中,相对总行数是用于表示不同待生成项标识对应的总行数,不同待生成项标识对应的相对总行数不同。相对总行数可以作为计算各个待生成项标识对应的索引的计算参数。
具体地,相对总行数可以使用各个待生成项标识对应的生成数据量表示。服务器遍历各个待生成项标识,根据各个待生成项标识之间的前后顺序从各个待生成项标识对应的生成数据量中确定各个待生成项标识对应的相对总行数。然后服务器遍历各个待生成项标识对应的相对总行数、待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的各个待生成项标识索引。
在其中一个实施例中,如图3所示,提供一种确定相对总行数的流程示意图;待生成项标识包括起始项标识和非起始项标识;基于遍历到的待生成项标识确定相对总行数,包括:
步骤302,当遍历到的待生成项标识为起始项标识时,将报表总行数作为相对总行数;
步骤304,当遍历到的待生成项标识为非起始项标识时,将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。
其中,起始项标识是指待生成报表中的第一个待生成项标识。非起始项标识是指除第一个待生成项标识以外的待生成项标识。
具体地,当服务器遍历各个待生成项标识并确定相对总行数时,进行待生成项标识对应的生成数据量计算并且从第一个待生成项标识开始计算,将第一个待生成项标识对应的报表总行数作为第一个待生成项标识对应的相对总行数,并将第一个待生成项标识对应的相对总行数与第一个待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到第一个待生成项标识对应的生成数据类型的生成数据量,即第一个待生成项标识对应的生成数据量。当服务器遍历到的待生成项标识为非起始项标识时,将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。比如,当遍历到的待生成项标识为第二个待生成项标识时,将第一个待生成项标识对应的生成数据量作为第二个待生成项标识对应的相对总行数,根据第二个待生成项标识对应的相对总行数和生成数据类型的数量进行生成数据量计算,得到第二个待生成项标识对应的生成数据类型的生成数据量,即第二个待生成项标识对应的生成数据量。当服务器进行到计算第三个待生成项标识对应的生成数据量时,将第二个待生成项标识对应的生成数据量作为第三个待生成项标识对应的相对总行数,并重复执行根据相对总行数与当前进行的待生成项标识对应的生成数据类型的数量进行生成数据量计算的步骤,得到当前进行的待生成项标识对应的生成数据量。以此类推,通过遍历各个待生成项标识,可以得到各个待生成项标识对应的生成数据类型的生成数据量。
服务器进行各个待生成项标识对应的索引计算,将正在进行的待生成项标识作为当前待生成项标识。获取当前待生成项标识对应的当前待生成行编码,将相对总行数、当前待生成行编码进行取余计算,得到取余数;再计算取余数与当前待生成项标识对应的生成数据量的比值,得到当前待生成项标识和当前待生成行编码对应的索引。以此类推,得到各个待生成行编码和各个待生成项标识对应的索引。最后一个待生成项标识对应的索引可以将待生成行编码与该待生成项标识对应的生成数据类型的数据进行求余计算得到。本实施例中,基于报表总行数得到非起始项标识对应的总行数,进而进行索引计算,得到非起始项标识对应的索引,简化了非起始项标识的索引计算,从而提高了报表数据的处理效率。
在其中一个实施例中,如图4所示,提供一种索引计算的流程示意图;步骤204,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量,包括:
步骤402,计算报表总行数与待生成项标识对应的生成数据类型的数量的比值,得到待生成项标识对应的生成数据类型的生成数据量;
基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:
步骤404,基于相对总行数和待生成行编码进行取余运算,得到取余数;
步骤406,计算取余数与遍历到的待生成项标识对应的生成数据量的比值,得到待生成行编码对应的待生成项标识索引。
具体地,服务器开始遍历各个待生成项标识,将报表总行数作为相对总行数,并且将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。计算相对总行数与待生成项标识对应的生成数据类型的数量的比值,得到各个待生成项标识对应的生成数据类型的生成数据量。服务器将相对总行数和待生成行编码进行取余运算,得到取余数。待生成行编码可以是从0开始递增排序,然后计算取余数与生成数据量的比值,得到待生成行编码对应的索引。索引用于表示该待生成项标识对应的待生成数据中的第几个数据。比如,报表总行数为8,待生成行编码为0,生成数据量为4,则计算取余数为0,即0%8;然后计算起始项标识的待生成行编码为0对应的索引为0,即0/4。则索引0表示起始项标识对应的待生成数据中的第一个数据,即待生成报表中起始项标识对应的第1行的数据是该起始项标识对应的待生成数据中的第一个数据,并且起始项标识对应的待生成行编码为0是指该起始项标识对应的第1行。另外,起始项标识对应的生成数据量用于计算非起始项标识对应的各个待生成行编码的索引,作为非起始项标识对应的索引计算参数,然后根据起始项标识对应的生成数据量与非起始项标识的待生成行编码进行取余运算,得到非起始项标识对应的取余数,计算非起始项标识对应的取余数与生成数据量的比值,得到非起始项标识和待生成行编码对应的索引。本实施例中,通过取余运算和索引计算能得到对应的索引数值,并且简化索引计算的运算步骤,提高了报表数据的处理效率。
在其中一个实施例中,待生成项标识包括计算项标识和非计算项标识;
步骤204,基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,包括:
获取待生成项标识中各个非计算项标识对应的生成数据类型的数量;
基于各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到报表总行数。
其中,计算项标识是指需要计算才能得到对应的项生成数据的待生成项标识。非计算项标识是指不需要计算就能得到对应的项生成数据的待生成项标识,是可以在待生成项数据查找到的项生成数据对应的待生成项标识。
具体地,服务器根据待生成项标识中的各个非计算项标识在数据存储系统中分别获取对应的生成数据类型的数量。然后将各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到报表总行数。比如,非计算项标识为人员,服务器根据人员在数据存储系统中获取{张三李四},其中,张三和李四是非计算项标识为人员对应的生成数据类型,并且张三和李四是不同名称类型的数据,则非计算项标识为人员对应的生成数据类型的数量是2。若非计算项标识有3个,并且每个非计算项标识对应的生成数据类型的数量为2,则报表总行数为8,即2^3或2*2*2。本实施例中,行数计算相较于笛卡尔积运算能简化运算步骤,提高报表数据的处理效率。
在一个实施例中,如图5所示,提供一种得到目标计算项生成数据的流程示意图;待生成项标识包括计算项标识和非计算项标识;步骤210,在基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表之前,还包括:
步骤502,获取计算项标识对应的计算项生成数据,计算项生成数据包括各个子数据;
步骤504,将各个子数据按照预设运算规则进行计算,得到计算项标识对应的目标计算项生成数据;
步骤506,基于所述非计算项标识对应的非计算项生成数据和所述计算项标识对应的目标计算项生成数据,得到所述项生成数据。
其中,计算项标识是指待生成报表中的需要进行计算才能得到数据的报表项标识,可以是金额、时间、比率等计算项标识。非计算项标识是指待生成报表中的不需要计算就可以得到数据的报表项标识,可以是人员名称、部门名称、费用名称等名称项标识。计算项生成数据是指计算项标识对应的数据信息,是预先存储在服务器的数据存储系统中的数据。计算项生成数据包括各个子数据。子数据可以是根据不同时间段获取到的数据。预设运算规则是对子数据进行的运算规则,可以是用户自定义生成的。非计算项生成数据是指根据非计算项标识从项生成数据得到的不需要进行计算的数据,可以是步骤208中根据待生成项标识索引从待生成项标识对应的待生成项数据中确定的项生成数据。
具体地,服务器可以获取待生成项标识中的计算项标识,根据计算项标识对应的非计算项生成数据作为查询条件,在数据存储系统中查找非计算项生成数据对应的计算项生成数据,计算项生成数据包括各个子数据。然后服务器根据计算项标识对应的预设运算规则对各个子数据进行运算,得到该计算项标识对应的目标计算项生成数据,该目标计算项生成数据与非计算项生成数据是对应的。然后将非计算项标识对应的非计算项生成数据和计算项标识对应的目标计算项生成数据作为项生成数据。服务器可以根据计算项标识、非计算项生成数据和目标计算项生成数据的对应关系生成目标报表。
在一个具体实施例中,如图6所示,提供一种目标报表示意图,具体来说:
目标报表首行是待生成项标识,包括非计算项标识和计算项标识,其中,人员、项目、费用是非计算项标识;张三、李四、A、B、电费、水费等是非计算项生成数据;季度1、季度2、季度3、季度4是计算项标识,用于计算每个季度的费用总额。比如,用户预设前述四个季度的运算规则是加总运算,则服务器在进行计算项标识为季度1的计算时,根据非计算项标识对应的非计算项生成数据为张三在A项目的电费这一个查询条件在数据存储系统中查询并获取张三在A项目的所有电费的子数据,可以是1-3月的电费数值,然后服务器对获取到的1-3月的电费数值进行加总运算,得到非计算项标识为张三在A项目的电费的对应的目标计算项生成数据。
本实施例中,通过根据非计算项生成数据查询并获取对应的计算项生成数据,并根据预设运算规则对计算项生成数据中的子数据进行运算,得到目标计算项生成数据,进而生成目标报表。并且当报表的项目发生增减时,能根据动态变化的报表元素进行非计算项标识对应的项生成数据的排列和计算项标识对应的项生成数据的计算,从而生成新的报表。不仅能满足用户自定义设计报表运算规则,还能快速生成报表,从而提高了数据处理的效率和用户体验。
在一个实施例中,基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表,包括:
基于项生成数据对应的待生成项标识和项生成数据对应的待生成行编码确定目标报表中的当前待填充单元格,将项生成数据填充到当前待填充单元格中。
其中,当前待填充单元格是指在填充目标报表时当前需要填充数据的单元格。
具体地,根据一个待生成项标识和一个待生成行编码可以确定目标报表中的一个单元格,服务器在目标报表的各个待填充单元格中,根据项生成数据对应的待生成项标识和待生成行编码确定当前需要填充数据的单元格,然后将该项生成数据填充到该单元格中。然后服务器根据各个项生成数据对应的待生成项标识和待生成行编码遍历各个需要填充数据的单元格,将各个项生成数据分别填充到对应的待填充单元格中,得到目标报表。本实施例中通过项生成数据填充单元格,能够快速得到目标报表,从而提高了数据处理的效率和用户体验。
在一个具体实施例中,如图7所示,提供一种报表生成的循环示意图;
其中,C1,C2,C3……Cn,分别表示第1个非计算项标识的生成数据类型的数量为C1,第2个非计算项标识的生成数据类型的数量为C2,第n个非计算项标识的生成数据类型的数量为Cn;
R=C1*C2*…*Cn表示报表总行数;
i表示待生成行编码,j表示内循环的次数,n表示非计算项标识的数量;
RowCount表示相对总行数,作为一个变量,RowCount=R表示把报表总行数赋值给相对总行数;
N表示当前非计算项标识中每个生成数据类型对应的生成数据量;
Cj表示当前非计算项标识的生成数据类型的数量;
k表示索引,print(“……”)表示根据索引输出对应的数据;
服务器检测到待生成报表的生成操作时,在待生成报表的待生成项标识中获取非计算项标识,并根据非计算项标识在数据存储系统中获取对应的待生成数据和生成数据类型的数量,第1个非计算项标识的生成数据类型的数量为C1,第2个非计算项标识的生成数据类型的数量为C2,第n个非计算项标识的生成数据类型的数量为Cn;则报表总行数为R=C1*C2*…*Cn,并设定初始待生成行编码i=0,初始非计算项标识的生成数据量N=0,初始内循环次数j=0;服务器开始循环:先对i<R进行条件判断,当满足i<R(初始待生成行编码的数值小于报表总行数)条件时,进入计算第1个待生成行编码的各个非计算项标识对应的索引的内循环:将报表总行数R赋值给相对总行数RowCount;当满足j<n(当前循环次数小于非计算项标识的个数n)条件时,进行生成数据量N的计算,即N=R/当前非计算项标识的生成数据类型的数量Cj;然后进行当前非计算项标识对应的索引计算,计算得到的是当前非计算项标识的待生成行编码i=0对应的索引k,即k=(i%RowCount)/N,此时计算得到的索引k是第1个非计算项标识的第1行待生成编码对应的索引,RowCount=N表示把计算后的生成数据量N赋值给相对总行数RowCount;
在得到索引k后,服务器根据索引k获取对应的项生成数据,并输出项生成数据,同时内循环次数j进行自加,输出的项生成数据用于生成目标报表;然后计算第1行的下一个非计算项标识的索引计算,此时相对总行数RowCount=N,计算得到的索引k是第2个非计算项标识的第1行待生成编码对应的索引;当循环到不满足j<n条件时,表示第1行待生成行编码对应的项生成数据输出完成,此时第一个内循环结束,并且待生成行编码i进行自加。然后进入外循环并重新进行i<R的条件判断;
当满足i<R条件时,将报表总行数R重新赋值给相对总行数RowCount,即RowCount=R,表示换行后计算下一行的第一个非计算项标识的索引时,计算索引需要的相对总行数是报表总行数。并且重新赋值非计算项标识的生成数据量N=0,初始内循环次数j=0。然后进入计算下一个待生成行编码的各个非计算项标识对应的索引的内循环,开始计算并输出下一个待生成行编码的各个非计算项标识对应的项生成数据;当完成最后一个待生成行编码对应的索引计算并获取对应的项生成数据,或不满足i<R条件时,循环结束,得到目标报表。
本实施例中,只需要进行一次大循环,即通过待生成行编码和报表总行数的循环,就可以得到目标报表,并且在循环过程中能够快速地绑定目标报表中各个行列的属性,即计算项标识、非计算项标识等属性。并且还能对待生成项标识进行扩展,比如待生成项标识的增减,然后将扩展后的数据再次进行本实施例中的循环计算,能够快捷方便的对报表数据进行处理,得到扩展后的目标报表,不仅提高了用户体验,还提高了数据处理的效率。
为了便于理解,以待生成项标识为列标识举例,提供了相关技术提供的方案与本申请实施例的对比。其中,相关技术主要提供了笛卡尔循环和传统递归两种方案来进行行列填充。
对于笛卡尔循环方案来说,由于行列数动态变化,列的数量不确定且每一列的元素个数不确定,需要动态计算列所有元素的组合,如图8a所示,由于列数不固定,代码中表达式无法确定,构造报表困难、性能差。在计算时,需要不停的for循环,例如用第一次for循环的结果进入第二次for循环,依次循环结束,如图8b所示。因此,笛卡尔循环的方案不易实现,性能差,适用性差,且对后期的计算列或数据列的处理拓展能力低下。
对于传统递归方案来说,首先计算行、列之间继承关系,从最高层级层层递归一直递归到最底层,递归过程中在每个节点处仅取一个对象值,然后进入下一节点递归,当递归到最底层把过程中的记录值写到结果列表。当系统递归完所有节点后,最终记录的结果就是行列报表样式,然后再次循环打印出来、或者添加相应的业务逻辑完成计算,如图8c所示。传统递归方案通过遍历实现,适用性差,需要进行较多次循环处理,而且性能不好。
相对地,在本申请实施例中,通过循环一次,通过数据行判断就可以确定所有行列组合结果。在这个过程能够方便地绑定各个行列属性,易扩展,方便报表数据的计算处理。为了便于说明本申请实施例的技术效果,针对相同的数据,通过不同方案进行行列填充的代码耗时如表1。
表1
方案 数据量 性能(以耗时体现)
笛卡尔循环方案 100W 1分31秒
传统递归方案 100W 1分38秒
本申请实施例 100W 1分28秒
在数据处理领域(特别是大数据领域)中,技术已进入成熟期,因此,几秒的性能提升往往意味着巨大的技术突破。根据表1可以得出,本申请实施例的数据处理性能优于相关技术提供的方案,随着数据量的进一步增加,本申请实施例与相关技术提供的方案之间的性能差距也会进一步拉大。
为了便于理解,如图8d所示,提供一种基于本申请实施例生成目标报表的示意图;
当待生成项标识有3个,每个待生成项标识的生成数据类型的数量是2,分别是A{A1,A2}、B{B1,B2}、C{C1,C2},则报表总行数是2*2*2,即为8;开始循环,当循环到第1行第1个待生成项标识A时,计算报表总行数与生成数据类型的数量的比值,即8/2,得到A对应的数据生成量为4,第1行的待生成行编码为0,则A的第1行对应的索引计算公式为(0%8)/4,计算得到的索引等于0,根据索引0得到A的第1行的项生成数据是A1。接着循环到第1行第2个待生成项标识B时,将A对应的数据生成量作为B的相对总行数,并进行B的第一行对应的索引计算,计算得到的索引等于0,根据索引0得到B的第1行的项生成数据是B1,以此类推可以得到C的第1行项生成数据是C1,其中,最后一个待生成项标识C的索引也可以使用当前待生成行编码与生成数据类型的数量进行取余计算得到;然后进行第2行的索引计算,直至得到各个待生成项标识的待生成行编码对应的项生成数据,并生成目标报表。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据处理方法的数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据处理装置实施例中的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。
在一个实施例中,如图9所示,提供了一种数据处理装置900,包括:获取模块902、生成数据量计算模块904、索引计算模块906、生成模块908和报表生成模块910,其中:
获取模块,用于获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;
生成数据量计算模块,用于基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型对应的生成数据量;
索引计算模块,用于获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;
生成模块,用于根据待生成项标识索引从待生成项标识对应的待生成项数据中确定项生成数据;
报表生成模块,用于基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表。
在其中一个实施例中,索引计算模块906,包括:
多个索引计算单元,用于遍历各个待生成项标识,并针对遍历到的待生成项标识执行以下处理:基于遍历到的待生成项标识确定相对总行数;基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引。
在其中一个实施例中,索引计算模块906,包括:
相对总行数确定单元,当遍历到的待生成项标识为起始项标识时,将报表总行数作为相对总行数;当遍历到的待生成项标识为非起始项标识时,将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。
在其中一个实施例中,生成数据量计算模块904,包括:
取余数计算单元,用于计算报表总行数与待生成项标识对应的生成数据类型的数量的比值,得到待生成项标识对应的生成数据类型的生成数据量;基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:基于相对总行数和待生成行编码进行取余运算,得到取余数;计算取余数与遍历到的待生成项标识对应的生成数据量的比值,得到待生成行编码对应的待生成项标识索引。
在其中一个实施例中,生成数据量计算模块904,包括:
乘积运算单元,用于获取待生成项标识中各个非计算项标识对应的生成数据类型的数量;基于各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到报表总行数。
在其中一个实施例中,数据处理装置900,还包括:
数据生成单元,用于获取计算项标识对应的计算项生成数据,计算项生成数据包括各个子数据;将各个子数据按照预设运算规则进行计算,得到计算项标识对应的目标计算项生成数据;基于非计算项标识对应的非计算项生成数据和计算项标识对应的目标计算项生成数据,得到项生成数据。
在其中一个实施例中,报表生成模块910,包括:
填充单元,用于基于项生成数据对应的待生成项标识和项生成数据对应的待生成行编码确定目标报表中的当前待填充单元格,将项生成数据填充到当前待填充单元格中。
上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待生成数据、待生成项标识、子数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10-11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取待生成报表对应的待生成项标识,基于待生成项标识获取对应的待生成项数据,基于待生成项数据确定待生成项标识对应的生成数据类型的数量;基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量;获取待生成项标识对应的待生成行编码,基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引;根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于待生成行编码和生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:遍历各个待生成项标识,并针对遍历到的待生成项标识执行以下处理:基于遍历到的待生成项标识确定相对总行数;基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
待生成项标识包括起始项标识和非起始项标识;基于遍历到的待生成项标识确定相对总行数,包括:当遍历到的待生成项标识为起始项标识时,将报表总行数作为相对总行数;当遍历到的待生成项标识为非起始项标识时,将遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于报表总行数与待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到待生成项标识对应的生成数据类型的生成数据量,包括:计算报表总行数与待生成项标识对应的生成数据类型的数量的比值,得到待生成项标识对应的生成数据类型的生成数据量;基于相对总行数、待生成行编码和遍历到的待生成项标识对应的生成数据量进行索引计算,得到待生成行编码对应的待生成项标识索引,包括:基于相对总行数和待生成行编码进行取余运算,得到取余数;计算取余数与遍历到的待生成项标识对应的生成数据量的比值,得到待生成行编码对应的待生成项标识索引。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
待生成项标识包括计算项标识和非计算项标识;基于待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,包括:获取待生成项标识中各个非计算项标识对应的生成数据类型的数量;基于各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到报表总行数。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
待生成项标识包括计算项标识和非计算项标识;在基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表之前,还包括:获取计算项标识对应的计算项生成数据,计算项生成数据包括各个子数据;将各个子数据按照预设运算规则进行计算,得到计算项标识对应的目标计算项生成数据;基于非计算项标识对应的非计算项生成数据和计算项标识对应的目标计算项生成数据,得到项生成数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
基于项生成数据、项生成数据对应的待生成项标识和项生成数据对应的待生成行编码生成目标报表,包括:基于项生成数据对应的待生成项标识和项生成数据对应的待生成行编码确定目标报表中的当前待填充单元格,将项生成数据填充到当前待填充单元格中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获取待生成报表对应的待生成项标识,基于所述待生成项标识获取对应的待生成项数据,基于所述待生成项数据确定所述待生成项标识对应的生成数据类型的数量;
基于所述待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于所述报表总行数与所述待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到所述待生成项标识对应的生成数据类型的生成数据量;
获取所述待生成项标识对应的待生成行编码,基于所述待生成行编码和所述生成数据量进行索引计算,得到所述待生成行编码对应的待生成项标识索引;
根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;
基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待生成行编码和所述生成数据量进行索引计算,得到所述待生成行编码对应的待生成项标识索引,包括:
遍历各个所述待生成项标识,并针对遍历到的待生成项标识执行以下处理:
基于所述遍历到的待生成项标识确定相对总行数;
基于所述相对总行数、所述待生成行编码和所述遍历到的待生成项标识对应的生成数据量进行索引计算,得到所述待生成行编码对应的待生成项标识索引。
3.根据权利要求2所述的方法,其特征在于,所述待生成项标识包括起始项标识和非起始项标识;所述基于所述遍历到的待生成项标识确定相对总行数,包括:
当所述遍历到的待生成项标识为所述起始项标识时,将所述报表总行数作为相对总行数;
当所述遍历到的待生成项标识为所述非起始项标识时,将所述遍历到的待生成项标识的上一个待生成项标识对应的生成数据量作为相对总行数。
4.根据权利要求2所述的方法,其特征在于,所述基于所述报表总行数与所述待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到所述待生成项标识对应的生成数据类型的生成数据量,包括:
计算所述报表总行数与所述待生成项标识对应的生成数据类型的数量的比值,得到所述待生成项标识对应的生成数据类型的生成数据量;
所述基于所述相对总行数、所述待生成行编码和所述遍历到的待生成项标识对应的生成数据量进行索引计算,得到所述待生成行编码对应的待生成项标识索引,包括:
基于所述相对总行数和所述待生成行编码进行取余运算,得到取余数;
计算所述取余数与所述遍历到的待生成项标识对应的生成数据量的比值,得到所述待生成行编码对应的待生成项标识索引。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述待生成项标识包括计算项标识和非计算项标识;
所述基于所述待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,包括:
获取所述待生成项标识中各个非计算项标识对应的生成数据类型的数量;
基于所述各个非计算项标识对应的生成数据类型的数量进行乘积运算,得到所述报表总行数。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述待生成项标识包括计算项标识和非计算项标识;
在基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表之前,还包括:
获取所述计算项标识对应的计算项生成数据,所述计算项生成数据包括各个子数据;
将所述各个子数据按照预设运算规则进行计算,得到所述计算项标识对应的目标计算项生成数据;
基于所述非计算项标识对应的非计算项生成数据和所述计算项标识对应的目标计算项生成数据,得到所述项生成数据。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表,包括:
基于所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码确定所述目标报表中的当前待填充单元格,将所述项生成数据填充到所述当前待填充单元格中。
8.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取待生成报表对应的待生成项标识,基于所述待生成项标识获取对应的待生成项数据,基于所述待生成项数据确定所述待生成项标识对应的生成数据类型的数量;
生成数据量计算模块,用于基于所述待生成项标识对应的生成数据类型的数量进行行数计算,得到报表总行数,基于所述报表总行数与所述待生成项标识对应的生成数据类型的数量进行生成数据量计算,得到所述待生成项标识对应的生成数据类型的生成数据量;
索引计算模块,用于获取所述待生成项标识对应的待生成行编码,基于所述待生成行编码和所述生成数据量进行索引计算,得到所述待生成行编码对应的待生成项标识索引;
生成模块,用于根据所述待生成项标识索引从所述待生成项标识对应的待生成项数据中确定项生成数据;
报表生成模块,用于基于所述项生成数据、所述项生成数据对应的待生成项标识和所述项生成数据对应的待生成行编码生成目标报表。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202210300046.XA 2022-03-25 2022-03-25 数据处理方法、装置、计算机设备和存储介质 Active CN114676675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210300046.XA CN114676675B (zh) 2022-03-25 2022-03-25 数据处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210300046.XA CN114676675B (zh) 2022-03-25 2022-03-25 数据处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114676675A true CN114676675A (zh) 2022-06-28
CN114676675B CN114676675B (zh) 2024-10-18

Family

ID=82074745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210300046.XA Active CN114676675B (zh) 2022-03-25 2022-03-25 数据处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114676675B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117255A1 (en) * 2011-11-08 2013-05-09 International Business Machines Corporation Accessing a dimensional data model when processing a query
CN103488657A (zh) * 2012-06-14 2014-01-01 华为技术有限公司 一种数据表关联方法及装置
CN108205593A (zh) * 2017-12-29 2018-06-26 华为技术有限公司 一种查询的方法及装置
CN109254985A (zh) * 2017-07-11 2019-01-22 阿里巴巴集团控股有限公司 数据库的数据展示方法及装置、电子设备
CN111611784A (zh) * 2020-04-29 2020-09-01 平安科技(深圳)有限公司 报表生成方法、装置、终端设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117255A1 (en) * 2011-11-08 2013-05-09 International Business Machines Corporation Accessing a dimensional data model when processing a query
CN103488657A (zh) * 2012-06-14 2014-01-01 华为技术有限公司 一种数据表关联方法及装置
CN109254985A (zh) * 2017-07-11 2019-01-22 阿里巴巴集团控股有限公司 数据库的数据展示方法及装置、电子设备
CN108205593A (zh) * 2017-12-29 2018-06-26 华为技术有限公司 一种查询的方法及装置
CN111611784A (zh) * 2020-04-29 2020-09-01 平安科技(深圳)有限公司 报表生成方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN114676675B (zh) 2024-10-18

Similar Documents

Publication Publication Date Title
CN112433712B (zh) 报表展示方法、装置、计算机设备和存储介质
CN115858213A (zh) 任务排程检查方法、装置、计算机设备和存储介质
CN114791915B (zh) 数据归集方法、装置、计算机设备和存储介质
CN115495452A (zh) 数据处理方法、装置、计算机设备和存储介质
CN114676675A (zh) 数据处理方法、装置、计算机设备和存储介质
CN115481026A (zh) 测试案例的生成方法、装置、计算机设备、存储介质
CN114969056A (zh) 数据筛选方法、装置、存储介质及计算机设备
CN114547066A (zh) 核电业务数据的标准化方法、装置和计算机设备
CN115408396B (zh) 业务数据的存储方法、装置、计算机设备和存储介质
CN116681454B (zh) 虚拟资源配比策略生成方法、装置、计算机设备和存储介质
CN116700725B (zh) 页面生成方法、装置、计算机设备和存储介质
CN116541454B (zh) 事件配置方法、装置、计算机设备和存储介质
CN117453957A (zh) 资源处理方法、装置、计算机设备和存储介质
CN115878715A (zh) 一种页面展示方案的生成方法、装置、计算机设备
CN117389649A (zh) 业务选择器生成方法、装置、设备、存储介质和程序产品
CN114490537A (zh) 多服务器数据处理方法、装置、计算机设备、存储介质
CN118673031A (zh) 业务数据的处理方法、装置、计算机设备、存储介质
CN117648336A (zh) 数据查询方法、装置、计算机设备和存储介质
CN117648484A (zh) 内容推荐方法、装置、计算机设备和存储介质
CN117435589A (zh) 数据转存方法、装置、计算机设备、存储介质
CN117592757A (zh) 报表数据处理方法、装置、计算机设备和存储介质
CN117216164A (zh) 金融数据同步处理方法、装置、设备、介质和程序产品
CN116662348A (zh) 金融数据库索引构建方法、装置、设备和存储介质
CN117435198A (zh) 页面生成方法和装置
CN118552320A (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