CN104462254B - 复杂区域取数装置和方法 - Google Patents
复杂区域取数装置和方法 Download PDFInfo
- Publication number
- CN104462254B CN104462254B CN201410671292.1A CN201410671292A CN104462254B CN 104462254 B CN104462254 B CN 104462254B CN 201410671292 A CN201410671292 A CN 201410671292A CN 104462254 B CN104462254 B CN 104462254B
- Authority
- CN
- China
- Prior art keywords
- column
- dimension
- row
- row column
- access
- 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
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/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种复杂区域取数装置,包括:展现样表单元,用于展现所需栏目的样表;数据集单元,用于根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。本发明还提供了一种复杂区域取数方法。通过本发明的技术方案,可以在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及一种复杂区域取数装置和一种复杂区域取数方法。
背景技术
中国式报表形式多样,形如下面的报表是复杂报表的一个复杂区域,参见图4。图4中表格区域的特点是:
1)大部分栏目是固定形成的,栏目之间可以是包含或者部分包含的关系。例如有两个栏目:全部、农民工。全部这个栏目是包含农民工的。再例如这样的栏目:女性、农民工。这两个栏目有部分交集。
2)有的栏目是随着数据进行扩展的,例如工人、工程技术人员就可以是一个随着数据扩展的扩展栏目。
难点:正因为存在上述特点,将上述数据用单条取数SQL实现变得较为困难。本发明提出一种取数方案,可以实现一条SQL语句取出结果数据。(当然,还有部分不影响性能的准备SQL)。
因此,需要一种新的区域取数技术,可以在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
发明内容
本发明正是基于上述问题,提出了一种新的区域取数技术,可以在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
有鉴于此,本发明提出了一种复杂区域取数装置,包括:展现样表单元,用于展现所需栏目的样表;数据集单元,用于根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,能够一次读取分析数据的复杂 区域取数,可以在复杂报表区域中实现高效率数据获取。
在上述技术方案中,优选地,所述数据集单元,具体包括:栏目维度创建模块,用于根据行栏目的定义创建栏目维度;取数逻辑构造模块,用于对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,因为维表数据量小,因此可以将全部查询放到一个维表中,且此维表可以使用事先创建的普通表,减少每次使用创建临时表的开销。
在上述技术方案中,优选地,所述栏目维度创建模块创建的栏目维度,包括行栏目维度和列栏目维度。
在上述技术方案中,优选地,所述栏目维度创建模块创建栏目维度的操作,具体包括:根据用户需求,分别创建行栏目维度表和列栏目维度表。
在上述技术方案中,优选地,所述展现样表单元展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目。
根据本发明的又一个方面,还提出了一种复杂区域取数方法,包括:步骤202:展现所需栏目的样表;步骤204:根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,能够一次读取分析数据的复杂区域取数,可以在复杂报表区域中实现高效率数据获取。
在上述技术方案中,优选地,所述步骤204,具体包括:步骤302:根据行栏目的定义创建栏目维度;步骤304:对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,因为维表数据量小,因此可以将全部查询放到一个维表中,且此维表可以使用事先创建的普通表,减少每次使用创建临时表的开销。
在上述技术方案中,优选地,所述步骤302创建的栏目维度,包括行栏目维度和列栏目维度。
在上述技术方案中,优选地,所述步骤302创建栏目维度的操作,具体包括:根据用户需求,分别创建行栏目维度表和列栏目维度表。
在上述技术方案中,优选地,所述步骤102展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目。
通过以上技术方案,可以在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统 一取数思路。
附图说明
图1示出了根据本发明的实施例的复杂区域取数装置的框图;
图2示出了根据本发明的实施例的复杂区域取数方法的流程图;
图3示出了根据本发明的实施例的数据集单元的流程图;
图4示出了复杂报表的一个复杂区域图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了根据本发明的实施例的复杂区域取数装置的框图。
如图1所示,根据本发明的实施例的复杂区域取数装置100,包括:展现样表单元102,用于展现所需栏目的样表;数据集单元104,用于根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,能够一次读取分析数据的复杂区域取数,可以在复杂报表区域中实现高效率数据获取。
在上述技术方案中,优选地,数据集单元104,具体包括:栏目维度创建模块1042,用于根据行栏目的定义创建栏目维度;取数逻辑构造模块1044,用于对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,因为维表数据量小,因此可以将全部查询放到一个维表中,且此维表可以使用事先创建的普通表,减少每次使用创建临时表的开销。
在上述技术方案中,优选地,栏目维度创建模块1042创建的栏目维度,包括行栏目维度和列栏目维度。
在上述技术方案中,优选地,栏目维度创建模块1042创建栏目维度的操作,具体包括:根据用户需求,分别创建行栏目维度表和列栏目维度表。
在上述技术方案中,优选地,展现样表单元102展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目。
图2示出了根据本发明的实施例的复杂区域取数方法的流程图。
如图2所示,根据本发明的实施例的复杂区域取数方法,包括:步骤202:展现所需栏目的样表;步骤204:根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,能够一次读取分析数据的复杂区域取数,可以在复杂报表区域中实现高效率数据获取。
在上述技术方案中,优选地,如图3所示,步骤204,具体包括:步骤302:根据行栏目的定义创建栏目维度;步骤304:对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集。在该技术方案中,因为维表数据量小,因此可以将全部查询放到一个维表中,且此维表可以使用事先创建的普通表,减少每次使用创建临时表的开销。
在上述技术方案中,优选地,步骤302创建的栏目维度,包括行栏目维度和列栏目维度。
在上述技术方案中,优选地,步骤302创建栏目维度的操作,具体包括:根据用户需求,分别创建行栏目维度表和列栏目维度表。
在上述技术方案中,优选地,步骤102展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目。
本发明的技术方案,能够一次读取分析数据的复杂区域取数,可用于复杂报表区域数据的高效率获取,可以在复杂报表区域中实现高效率数据获取。
本发明的技术方案,具有以下特点:
1、数据源的数据不落地(不创建新表存储数据源数据);
2、不重复读取分析数据;
3、支持对分析数据执行distinct操作,例如:count(distinct(人员id))。
下面给出两个示例,逐步阐述本发明技术方案的原理。
示例1:仅固定栏目,无扩展栏目
展现样表如表二:
表二:仅固定栏目展现样表
全部职工 | 其中:女性 | 其中:农民工 | …… | |
合计 | ||||
一.煤炭生产 | ||||
1.煤炭生产人员 | ||||
其中:原煤生产工人 |
数据集:
表三:仅固定栏目的数据集
方案步骤:
1、根据行栏目的定义创建栏目维度,包括行栏目维度和列栏目维度。1)行栏目维度表
表四示例1行栏目维度表
2)列栏目维度
表五示例1列栏目维度表
2、取数逻辑
假设数据集的表(或查询)名称为t_fact,行栏目维度表名称维t_rowdim,列栏目维度表名称为t_columndim。
示例2:固定栏目+扩展栏目
在示例1的基础上,添加扩展栏目。
展现样表如表四:
表四固定栏目+扩展栏目的展现样表
全部职工 | 其中:女性 | 其中:农民工 | …… | |
管理岗位 | ||||
工程管理岗位 | ||||
技术岗位 | ||||
合计 | ||||
一.煤炭生产 | ||||
1.煤炭生产人员 | ||||
其中:原煤生产工人 |
其中,“全部”、“管理岗位”、“工程管理岗位”、“技术岗位”术语一个新增加的扩展栏目——“岗位”
数据集:
表三固定栏目+扩展栏目的数据集
方案步骤:
1、根据行栏目的定义创建栏目维度,包括行栏目维度和列栏目维度。
1)行栏目维度表
2)列栏目维度
同“表五示例1列栏目维度表”。
2、构造取数逻辑
更复杂的情况,如:列栏目也需要扩展或者行列有多个扩展栏目,处理方式类似。本发明技术方案均可实现正确取数。
可以看出,本发明技术方案无需事先构建全部的维表数据,和构建全部维表的方案比较,本发明有如下优点:
1、维表数据量小,可以大大减少创建维表数据的时间。
2、因为维表数据量小,因此可以将全部查询放到一个维表中,且此维表可以使用事先创建的普通表,减少每次使用创建临时表的开销。
3、因为仅有一个最终的取数逻辑语句,因此执行结束前不会被数据库交换出内存,在并发环境下取得最佳效果。
本发明技术方案,已利用用友HR***的数据进行了验证,可以实现对需要分析的数据的唯一一次读取,因为取数逻辑在一个SQL语句中,对于数据库来说在并发时也可以保证正在处理的数据不会被交换出去,理论上可以实现最佳的性能。
以上结合附图详细说明了本发明的技术方案,考虑到相关技术中没有简便的、统一的针对复杂类型区域取数的解决办法。现有的区域取数无法完成有复杂类型参与的区域取数过程。因此,本发明提出了一种复杂区域取数装置和一种复杂区域取数方法,可以在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种复杂区域取数装置,其特征在于,包括:
展现样表单元,用于展现所需栏目的样表;所述展现样表单元展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目;
数据集单元,用于根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集;所述数据集单元,具体包括:
栏目维度创建模块,用于根据行栏目的定义创建栏目维度;
取数逻辑构造模块,用于对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集;所述栏目维度创建模块创建栏目维度的操作,具体包括:
根据用户需求,分别创建行栏目维度表和列栏目维度表;
将全部查询放到一个维表中,且此维表使用事先创建的普通表,减少每次使用创建临时表的开销;
装置在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
2.一种复杂区域取数方法,其特征在于,包括:
步骤202:展现所需栏目的样表;
步骤204:根据行栏目的定义创建栏目维度,该栏目维度包括行栏目维度和列栏目维度;对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集;所述步骤204,具体包括:
步骤302:根据行栏目的定义创建栏目维度;
步骤304:对于需要扩展的行栏目和/或列栏目,构造取数逻辑,得到与所需栏目对应的数据集;将全部查询放到一个维表中,且此维表使用事先创建的普通表,减少每次使用创建临时表的开销;在现有的区域取数方式基础上,充分利用单对象类型完成多对象类型的区域取数,建立多对象类型参与的面向复杂区域取数的通用、统一取数思路。
3.根据权利要求2所述的复杂区域取数方法,其特征在于,所述步骤302创建栏目维度的操作,具体包括:
根据用户需求,分别创建行栏目维度表和列栏目维度表。
4.根据权利要求3所述的复杂区域取数方法,其特征在于,步骤202中展现样表的栏目,包括仅固定栏目、无扩展栏目、固定栏目和扩展栏目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410671292.1A CN104462254B (zh) | 2014-11-21 | 2014-11-21 | 复杂区域取数装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410671292.1A CN104462254B (zh) | 2014-11-21 | 2014-11-21 | 复杂区域取数装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104462254A CN104462254A (zh) | 2015-03-25 |
CN104462254B true CN104462254B (zh) | 2018-08-28 |
Family
ID=52908290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410671292.1A Active CN104462254B (zh) | 2014-11-21 | 2014-11-21 | 复杂区域取数装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104462254B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446172A (zh) * | 2010-10-08 | 2012-05-09 | 金蝶软件(中国)有限公司 | 数据业务的处理方法及装置 |
CN103745301A (zh) * | 2013-12-16 | 2014-04-23 | 远光软件股份有限公司 | 基于表维度的报表取数设置方法及装置 |
CN103744831A (zh) * | 2013-12-16 | 2014-04-23 | 远光软件股份有限公司 | 一种多维度报表的编制方法及装置 |
CN104063361A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 报表设计方法和报表设计*** |
-
2014
- 2014-11-21 CN CN201410671292.1A patent/CN104462254B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446172A (zh) * | 2010-10-08 | 2012-05-09 | 金蝶软件(中国)有限公司 | 数据业务的处理方法及装置 |
CN103745301A (zh) * | 2013-12-16 | 2014-04-23 | 远光软件股份有限公司 | 基于表维度的报表取数设置方法及装置 |
CN103744831A (zh) * | 2013-12-16 | 2014-04-23 | 远光软件股份有限公司 | 一种多维度报表的编制方法及装置 |
CN104063361A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 报表设计方法和报表设计*** |
Also Published As
Publication number | Publication date |
---|---|
CN104462254A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674154B (zh) | 一种基于Spark的对Hive中数据进行***、更新和删除的方法 | |
CN103761236A (zh) | 一种增量式频繁模式增长数据挖掘方法 | |
US20140214796A1 (en) | Efficient join with one or more large dimension tables | |
MX349042B (es) | Sistema y metodo para motores de consulta de base de datos distribuidos. | |
CN109885614B (zh) | 一种数据同步的方法和装置 | |
CN107748745B (zh) | 一种企业名称关键字提取方法 | |
CN107239468B (zh) | 任务节点管理方法及装置 | |
CN108197187B (zh) | 查询语句的优化方法、装置、存储介质和计算机设备 | |
US10733186B2 (en) | N-way hash join | |
CN104834709A (zh) | 一种基于负载均衡的并行余弦模式挖掘方法 | |
CN104407970A (zh) | 一种新型软件测试用例设计编写方法 | |
CN103984723A (zh) | 一种针对增量数据对频繁项进行更新数据挖掘方法 | |
CN104462254B (zh) | 复杂区域取数装置和方法 | |
US20180203896A1 (en) | Method and apparatus for processing query | |
CN105138562A (zh) | 关系型数据库的数据处理方法及装置 | |
CN103761298A (zh) | 一种基于分布式架构的实体匹配方法 | |
CN105183745A (zh) | 一种基于数据可视化分析的方法 | |
CN104699747A (zh) | 一种基于高维数据过滤器的近似成员查询方法 | |
CN105447134B (zh) | 频繁项集挖掘算法的优化方法 | |
CN108256003A (zh) | 一种根据分析数据重复率提高union运算效率的方法 | |
US20160357775A1 (en) | Multi-Level Colocation and Processing of Spatial Data on Mapreduce | |
CN102323966A (zh) | 基于快速分组搜索技术的cad网络拓扑图分析方法 | |
CN104391866A (zh) | 一种基于高维数据过滤器的近似成员查询方法 | |
Argyriou et al. | Two polynomial time algorithms for the metro-line crossing minimization problem | |
CN104504467A (zh) | 一种基于蚁群算法的夹具装配序列规划方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Applicant before: UFIDA Software Co., Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |