CN102207940B - 用于验证数据的方法和系统 - Google Patents
用于验证数据的方法和系统 Download PDFInfo
- Publication number
- CN102207940B CN102207940B CN201010138994.5A CN201010138994A CN102207940B CN 102207940 B CN102207940 B CN 102207940B CN 201010138994 A CN201010138994 A CN 201010138994A CN 102207940 B CN102207940 B CN 102207940B
- Authority
- CN
- China
- Prior art keywords
- cube
- data
- olap
- etl
- report
- 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
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
- G06F7/026—Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种用于验证数据的方法和系统。该方法和系统根据数据立方体查询条件,从数据立方体生成报告多维数据集。根据与所述数据立方体查询条件相应的源数据查询条件,从源数据生成参考多维数据集。同时,还可以对报告多维数据集进行OLAP逆变换,生成OLAP多维数据集,对OLAP多维数据集进行ETL逆变换,生成ETL多维数据集。根据所生成的多维数据集之间的匹配关系进行数据验证,以确定是否存在数据不一致的情况。通过上述方法和系统,不仅可以容易地验证展示给用户的数据是否存在问题,在存在数据问题的情况下,还可以确定商业智能解决方案中的何处存在问题。
Description
技术领域
本发明涉及数据处理技术,尤其涉及用于验证数据的方法和系统。
背景技术
随着信息技术的发展,越来越多的人们开始利用商业智能的相关技术去分析处理企业的数据,为决策者提供有力的帮助。随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节。同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,事务处理型关系数据库系统已不能全部满足这一要求。而操作型应用和分析型应用,在性能上又难以两全,为此人们常常在关系数据库中放宽了对冗余的限制,引入了统计及综合数据。但这些统计综合数据的应用逻辑是分散并且杂乱的、非系统化的,因此分析功能有限,不灵活,维护困难。不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统支持的不足,通过专门的数据综合引擎,辅之以更加直观的数据访问界面,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。
商业智能(Business Intelligence:简称BI)技术处理的是大量的数据,反映的是数据中的信息和知识。商业智能是指从企业现有的数据中提取有价值的数据,以帮助企业做出明智的业务经营决策的相关技术、应用等。数据包括来自企业自身业务系统以及企业所处的其他外部环境中的各种数据。为了将数据转化为知识,通常将数据源中的数据通过ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)模型注入到数据仓库当中。然后,通过OLAP(On-Line Analysis Processing的缩写,即联机分析处理)模型根据数据仓库中的数据创建数据立方体,以便用于数据挖掘来形成报表报告和数据分析报告。
但是,由于数据源多种多样,ETL模型以及OLAP模型的处理涉及大量的数据,有可能在进行商业智能的数据处理过程中发生错误。已有技术通过检查生成的报告中的数据,与应用系统中的原始数据进行直接比较来确定数据的准确性。但是,报告中的数据量太大,一般无法进行全面的比较。此外,即使发现报告中的数据与应用系统中的原始数据不一致,也无法确定问题出在哪里。全面检测模型和数据仓库中的数据,工作量非常大,经常需要花费大量的时间来确定问题出在哪里。
发明内容
鉴于已有技术的不足,根据本发明的一个实施例,提供了一种用于验证数据的方法,其中,所述数据来自于对源数据进行抽取转换加载ETL模型变换和联机分析处理OLAP模型变换所生成的数据立方体,所述方法包括:
根据数据立方体查询条件,从数据立方体生成报告多维数据集;
根据与所述数据立方体查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
根据所述参考多维数据集与所述报告多维数据集之间的匹配关系进行数据验证。
根据本发明的另一个实施例,还提供了一种用于验证数据的方法,其中,所述数据来自于对源数据进行抽取转换加载ETL模型变换所生成的数据仓库,包括:
根据预定的数据仓库查询条件,从数据仓库生成报告多维数据集;
根据与所述数据仓库查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
根据所述参考多维数据集与所述报告多维数据集之间的匹配关系进行数据验证。
根据本发明的另一个实施例,还提供了一种用于验证数据的系统,其中,所述数据来自于对源数据进行抽取转换加载ETL模型变换和联机分析处理OLAP模型变换所生成的数据立方体,所述方法包括:
报告多维数据集生成装置,用于根据数据立方体查询条件,从数据立方体生成报告多维数据集;
参考多维数据集生成装置,用于根据与所述数据立方体查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
验证装置,用于根据所述参考多维数据集与所述报告多维数据集之间的匹配关系进行数据验证。
根据本发明的另一个实施例,还提供了一种用于验证数据的系统,其中,所述数据来自于对源数据进行抽取转换加载ETL模型变换所生成的数据仓库,包括:
报告多维数据集生成装置,用于根据预定的数据仓库查询条件,从数据仓库生成报告多维数据集;
参考多维数据集生成装置,用于根据与所述数据仓库查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
验证装置,用于根据所述参考多维数据集与所述报告多维数据集之间的匹配关系进行数据验证。
通过根据本发明的实施例的方法和系统,不仅可以容易地验证展示给用户的数据是否存在问题,在存在数据问题的情况下,还可以确定商业智能解决方案中的何处存在问题。从而一方面确保了数据的准确性,更进一步地,还大大减少了在检测数据问题时的工作量。
附图说明
通过对附图中本发明示例实施例方式的更详细描述,本发明的上述、以及其它目的、特征和优势将变得更加明显。
图1示出了一个典型的商业智能解决方案架构的示意图;
图2示出了根据本发明的一个实施例的数据验证方法200的流程图;
图3示出了根据本发明的一个实施例的数据验证方法300的流程图;
图4示出了根据本发明的一个实施例的数据检验方法的示意图;
图5示出了根据本发明的一个实施例的数据检验方法的流程图;
图6示出了根据本发明的一个实施例的数据验证方法600的流程图;以及
图7示出了根据本发明的一个实施例的数据验证系统700的系统框图。
具体实施方式
以下参照按照本发明实施例的方法、系统描述本发明。其中,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置(means)。
也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。
还可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
图1示出了一个典型的商业智能解决方案架构的示意图。其中,数据源A、数据源B和数据源C中的数据,根据预先确定的ETL模型,通过数据抽取、转换和加载过程,被加载到数据仓库120中。然后,通过联机分析处理(OLAP)(On-Line Analysis Processing)模型根据数据仓库中的数据创建数据立方体130,以便用于数据挖掘来形成数据展示140(报表报告和数据分析报告等)。
数据源(Data Source)提供了公司内部或者外部的原始数据或者原始资料,这些资料将成为分析和提取知识的基础。数据源中的数据一般用于在线事务处理(OLTP)系统。其数据组织形式一般为面向事务型,即将完成一个事务所产生的数据集中进行存储,存储在同一张表中或通过主外键关联关系存储在紧密关联的若干张表中。
比如,企业资源管理(ERP)软件是一种典型的在线事务处理系统,其产生的数据可以被商业智能解决方案当作数据源。一个员工入职时填写基本信息是一个独立的事务,这些基本信息可以存储在数据源的同一张表中。公司对员工发放薪酬是一个事务,每个员工的薪酬发放情况可以存储在数据源的同一张表中。这样的数据组织形式便是面向事务型的数据组织。
数据仓库(Data Warehouse)120的主要功能是组织大量数据。通过数据仓库的数据储存架构,可以便于进行各种分析方法如在线分析处理(OLAP)、数据挖掘(Data Mining),帮助决策者快速有效的自大量数据中,分析出有价值的信息。这样,便于决策的快速拟定及快速响应外在环境的变动,帮助建构商业智能(BI)解决方案。
一般来说,数据仓库可由关系数据库建立,其中可以由若干个星型结构的数据组织构成,每一个星型数据组织结构可以包含数个维度数据表,及一个事实数据表。
一个大的企业通常有很多在线事务处理系统(OLTP),即有很多数据源,数据仓库将来自企业各OLTP系统的数据,进行集成,并且进行一致性处理。一致性处理过程可以包含在数据的抽取转换加载(ETL)过程当中。
ETL模型为数据从源数据库之中转换到数据仓库之中的变换模型,ETL模型定义了数据源(如面向事务处理的数据库)中的源数据来源(如位置)、目标数据仓库的目标数据位置以及源数据与目标数据之间的映射关系。数据的抽取转换加载(ETL)过程利用ETL模型从数据源抽取数据,进行转换后,得到目标数据,将目标数据存储到数据仓库(面向主题的数据库)中的目标数据位置。
ETL模型可用下面所述的元数据所描述。对业务数据本身及其运行环境的描述与定义的数据,称之为元数据(metadata)。业务数据主要用于支持业务系统应用的数据,而元数据是描述业务数据的数据。元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。
对于ETL处理,元数据可以用于:定义数据源的位置及数据源的属性、目标数据的位置以及属性;确定从源数据到目标数据的对应规则、在数据实际加载前的其他必要的准备工作,等等。它一般贯穿整个数据仓库项目,而ETL处理的所有过程必须最大化地参照元数据,这样才能快速实现ETL处理。
在图1的商业智能解决方案架构中,还通过联机分析处理(On-LineAnalysis Processing,即OLAP)模型,根据数据仓库120中的数据创建数据立方体130。
数据立方体是商业智能解决方案中用于联机在线分析处理系统的基础,由数据仓库中的数据通过OLAP模型的变换而生成。可以通过以下概念来描述数据立方体:
维(Dimension):是观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维,如时间维、地理维等。
维的层次(Leve1):观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面。例如时间维的层次可以是:日期、月份、季度或年。
维的成员(Member):维的一个取值,是数据项在某维中位置的描述。例如“某年某月某日”是在时间维上位置的描述。
度量(Measure):多维数组的取值。例如,2008年3月,北京,笔记本电脑的销量是10台,那么10台就是度量值,2008年3月,北京,笔记本电脑分别为相应的维度成员。
OLAP模型定义了数据仓库中的源数据来源(如位置)以及属性、目标数据立方体的目标数据位置以及源数据与目标数据之间的映射关系。利用OLAP模型,可以对数据仓库中的数据进行OLAP变换,形成数据立方体,其包括多个维以及相应的度量。相应地,OLAP逆变换模型定义了数据立方体中的源数据位置和属性、数据仓库中的目标数据位置以及源数据与目标数据之间的映射关系。
OLAP模型可以用元数据来描述,定义数据仓库的位置及数据仓库中数据的属性、确定从数据仓库中的数据到数据立方体的数据存储的对应规则、在数据实际加载前的其他必要的准备工作,等等。
例如OLAP模型的元数据可以包括,数据立方体中的度量数据来自于数据仓库中哪个事实表中的哪个列或者是由该列数据经由何种运算得来。在OLAP逆变换模型中,相应地可以包括用元数据描述的数据仓库中哪个事实表中的哪个列来自数据立方体中的哪个度量数据,或者是该列数据经由何种运算的逆运算得来。
由于数据在进行OLAP变换前已经被整合(ETL变换),因此不会发生信息丢失,所以OLAP模型中一般不包括不可逆变换。
在图1所示的商业智能解决方案架构中,有了数据立方体130中的数据,通过数据展示140、例如报表,可以很好地将数据展示给用户。可以通过图表,如柱状图,线图,饼图等图形或者列表,交叉表的形式将数据立方体中的数据呈现给用户。
每个报表展示的数据只是数据立方体的一个子集,称为目标数据立方体。可以根据具体的业务需求,将数据立方体中的部分数据提取出来。可以确定报表中的不同层次的维信息来自于数据立方体中的哪个维度,以及报表中的不同层次的维成员数据分别来自于数据立方体中相应维度的哪个维成员值。
依据具体的业务需求,和数据立方体的数据组织形式,可以生成对数据立方体的查询条件,具体可以包括以下多项:1)数据来自于哪个数据立方体,这取决于我们要查看的目标数据存储在哪个数据立方体中;2)组成该数据立方体的各个维度的成员取值为何值,根据数据是按什么分类的以及数据的过滤器是什么以及数据立方体的定义来确定数据立方体中各个维度成员该取何值;3)度量经过何种运算展示给用户,即商业逻辑中对目标数据的定义是不是需要对立方体的量度做一定的运算得到,例如:乘以一个系数或者单位的转换等。报表生成工具可以通过这些查询条件从数据立方体中查询数据并以报表的形式展示给用户。
在这样一个典型的商业智能解决方案的构建过程中,经常出现的问题有以下几种:ETL模型错误,OLAP模型错误,脏数据错误。
1)ETL模型错误:
ETL模型错误主要是从源数据到数据仓库的映射关系出现逻辑错误,导致数据仓库中的数据出现错误,并反映在数据立方体和最终的报表展示数据上。需要修正ETL模型来纠正错误。
2)OLAP模型错误:OLAP模型错误主要是数据从数据仓库到数据立方体的映射关系出现逻辑错误,导致了展示在报表中的数据出现错误。需要修正OLAP模型来纠正错误。
3)脏数据错误:
可以反映在源数据中或数据仓库中有一些不符合逻辑的数据,即正常的环境下,这些数据是不应该存在的,比如源数据中产生了一些错误或者重复的数据,或者数据仓库中存在了之前加载进来的一些无用数据,这些都可被认为是脏数据。脏数据导致的验证错误不需要修正解决方案去更正,通常需要清除数据来还原。
因此,对于所构建的商业智能解决方案,一方面需要验证最终呈现给用户的数据与应用程序的原始数据是否一致,另一方面,在数据不一致的情况下,需要分析出是由何种问题导致的数据不一致。下面将结合附图详细描述根据本发明的实施例的数据验证方法及系统。
图2示出了根据本发明的一个实施例的数据验证方法200的流程图。
在步骤S210,从数据立方体生成报告多维数据集(ReportMulti-Dimens iona1Data Set)MDS1。其中,多维数据集由特定维度的成员的组合所对应的度量值所构成,多维数据集的结构可以描述为:组成多维数据集的维度,度量的类型,数据集中数据满足的条件。
根据本发明的一个实施例,根据数据立方体的查询条件,从数据立方体生成报告多维数据集MDS1。该报告多维数据集MDS1的组成可以包括:多个维度(根据查询条件中的目标数据立方体的维度定义来确定多维数据集的维度);每个维度由一个相应的成员集合组成(根据查询条件中的“组成该数据立方体的各个维度的成员取值为何值”来确定每个维度的成员集合);每个维度的成员组合所对应的度量值(根据维度的值集合,将数据从数据立方体中提取出来生成每个维度的成员组合所对应的度量值)。
这里需要指出的是,为了便于说明,在本发明的实施例中对多维数据集的结构以及报告多维数据集的组成进行了详细的描述,但本领域普通技术人员应该了解,多维数据集的结构并不限于包括组成多维数据集的维度、度量的类型,数据集中数据满足的条件,等等,报告多维数据集的组成也不限于上述所描述的情况。
在步骤S220,从源数据生成参考多维数据集S。其中,根据具体的业务需求以及源数据的数据组织形式,可以生成与数据立方体查询条件相应的源数据查询条件,根据源数据的查询条件,从源数据生成参考多维数据集S。
参考多维数据集S和报告多维数据集MDS1的生成均是依据相同的具体业务需求(例如,查看什么样的数据-度量的类型,数据是按什么分类的-维度,数据的过滤器是什么-数据满足的条件)去不同的数据源中抽取数据,因此参考多维数据集S与报告多维数据集MDS1的结构相同。
在步骤S230,根据所生成的多维数据集之间的匹配关系进行数据验证。在这里,通过匹配生成的报告多维数据集MDS1与参考多维数据集S,来确定数据是否一致。
如前所述,报告多维数据集和参考多维数据集可以分别由多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值组成,在这种情况下,通过分别比较所述报告多维数据集和所述参考多维数据集的多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值,来确定所述参考多维数据集与所述报告多维数据集之间的匹配关系,并根据确定的匹配关系来进行数据验证。
在确定不同的多维数据集之间的匹配关系时,首先比较其维度的数目;如果相等,则再比较其维度成员的类型;如果相等,则比较度量值的类型;如果相等,则多维数据集的结构相同。否则多维数据集的结构不同,需要检查多维数据集的生成是否根据同样的业务需求。
由于参考多维数据集S是根据具体的业务需求生成的查询条件到源数据中提取数据而构成的,而报告多维数据集MDS1也是根据具体的业务需求生成到数据立方体中的查询条件从而提取数据而构成的。因此,参考多维数据集S与报告多维数据集MDS1具有相同的维度和度量类型,即具有相同的结构。但具体的维度成员值和度量值一个来自于数据源,一个来自于数据立方体。
如果所述参考多维数据集S与所述报告多维数据集MDS1相匹配,则说明经过数据处理之后的数据与源数据是一致的,因而确定不存在数据处理问题,否则,则存在数据处理问题。
图3示出了根据本发明的另一个实施例的数据验证方法300的流程图。图3所示的实施例中的数据验证方法300具有与图2所示的实施例中的数据验证方法200中步骤S210-230相同的步骤S310-330,为简洁起见,这里不再重复。
在步骤S340,根据联机分析处理OLAP的逆变换模型,对报告多维数据集MDS1进行OLAP逆变换,以便生成OLAP多维数据集MDS2。其中,该OLAP多维数据集MDS2采用与报告多维数据集MDS1相同的结构。
模型的逆向运算指的是逻辑关系上的逆运算,比如正向的逻辑关系是源数据中表A中列a的值注入到目的数据表B中的列c,那么该逻辑关系的逆运算便是数据表B中的列c注入到表A中的列a。由于目的数据中不会自己创造数据,其必然有源数据中的事实与之相对应,所以必然存在一个源数据的子集与目的数据是一对一的映射关系,因此根据OLAP模型的定义和其中的正向逻辑关系,可以得到OLAP模型的逆变换模型,逆变换模型中包括了相应的正向逻辑关系的逆运算。
OLAP逆变换模型定义了数据立方体中的源数据位置和属性、数据仓库中的目标数据位置以及源数据与目标数据之间的映射关系。例如,在OLAP逆变换模型中,可以包括用元数据描述的数据仓库中哪个事实表中的哪个列来自数据立方体中的哪个度量数据,或者是该列数据经由何种运算的逆运算得来。
报告多维数据集MDS1中包含了来自数据立方体的数据,包括维度的成员集合以及不同维度的成员集合所对应的度量值。同时构造报告多维数据集MDS1的过程还可以记录报告多维数据集MDS1中的各个数据所来自于的数据立方体的维度和度量。
OLAP模型定义的变换包含维度之间的转换,以及相应的度量之间的转换,即,OLAP系统中的度量数据来自于数据仓库中哪个事实表中的哪个列或者是由该列数据经由何种运算得来,报表中的不同层次的维来自于数据仓库中的哪个维度表,报表中的不同层次的维成员数据分别来自于数据仓库中的哪个维度表中的哪个列。
上面定义的OLAP模型包含的变换均为可逆的。因为目的数据立方体中的数据不管是维度数据还是度量数据均是来自于数据仓库中的事实表或者维度表,因此这种变换是可逆的。也就是说得到了OLAP模型、数据立方体的结构和数据,就可以将数据立方体的任何数据映射回数据仓库中,这个过程就是OLAP模型的逆变换过程。
例如,OLAP逆变换模型,包括了数据立方体中的维度与数据仓库的维度表字段之间的映射关系,数据立方体中度量与数据仓库中的事实表字段之间的映射关系,以及数据立方体中维度与度量之间关系同数据仓库中事实表和维度表之间关系的映射关系。
根据报告多维数据集MDS1中的维度成员值和OLAP模型的逆变换规则中数据立方体的维度与数据仓库的维度表字段之间的映射关系,得到数据仓库中的维度表相应列的值的集合,提取出该列的值的集合构成了OLAP多维数据集MDS2的相应维度的成员集合。
接着,根据报告多维数据集MDS1中的度量数据和OLAP模型的逆变换规则中数据立方体中度量与数据仓库中的事实表字段之间的映射关系,得到数据仓库的事实表中相应列的值的集合,提取出该列的值的集合构成OLAP多维数据集MDS2的度量。
构建好OLAP多维数据集MDS2的所有的维度成员和度量之后,根据维度成员和度量,结合OLAP模型的逆变换规则,得到数据仓库的维度表与事实表的映射关系,即OLAP多维数据集MDS2中的维度与度量之间的对应关系。
结合维度信息,度量信息,以及维度和度量的对应关系,从而得到OLAP多维数据集MDS2。
本领域普通技术人员能够了解的是,上面仅仅是以例示方式给出了生成OLAP多维数据集MDS2的一种实施方式,还可以采用其他方式根据联机分析处理OLAP的逆变换模型以及报告多维数据集MDS1来生成OLAP多维数据集MDS2。
在步骤350,根据所生成的多维数据集之间的匹配关系,进行数据验证。具体地,根据参考多维数据集、报告多维数据集以及OLAP多维数据集之间的匹配关系进行数据验证。其中,确定所述参考多维数据集与所述OLAP多维数据集之间的匹配关系,并根据所述参考多维数据集与所述报告多维数据集之间的匹配关系以及所述参考多维数据集与所述OLAP多维数据集之间的匹配关系确定是否存在数据处理问题。如果所述参考多维数据集与所述报告多维数据集不相匹配,并且所述参考多维数据集与所述OLAP多维数据集相匹配,则确定联机分析处理(OLAP)模型存在问题。如果参考多维数据集与报告多维数据集不匹配并且参考多维数据集与OLAP多维数据集也不匹配,则需要继续执行下面的步骤。
在步骤360,根据抽取转换加载ETL的逆变换模型,对OLAP多维数据集MDS2进行ETL逆变换,以便生成ETL多维数据库MDS3。
ETL模型中可以包括源表(位于数据源中)到目的表(位于数据仓库中)之间格式的调整,比如将多张源数据库表整合到一张数据仓库的事实表中,或者将一张源数据库表拆分成多张数据仓库中的表。这是ETL模型最主要的部分,多数ETL模型中的变换均为此种变换。在ETL逆变换模型中,相应地可以包括用元数据描述的目的表(位于数据仓库)到源表(位于数据源中)之间格式的调整。
ETL模型中可以包括表中列值的换算,比如将源表中不同金钱的种类统一换算成美元。将列值进行百分数换算等。在ETL逆变换模型中,相应地可以包括表中列值的逆换算。
ETL模型中可以包括表中列属性的整合,比如将源表中列A的值和列B的值组合成A和B的拼接并存入目的表的列C。在ETL逆变换模型中,相应地可以包括表中列属性的拆分,比如将目的表中列C的值根据上述拼接的逆运算,拆分为相应的列A的值和列B的值。
另外,有些ETL模型中还可以包括一致性处理,比如将数据源中所有的小数在数据仓库中全部统一成2位。超过2位的截断,不足两位的补0。这种变换可以划为模型中的不可逆部分,即为发生信息丢失的变换,比如说小数位数的截取,字符串长度的截取等。在生成ETL逆变换模型中的逆变换时,这些不可逆的变换操作可以被标记。在下文所述的多维数据集比较时,先对参考多维数据集S中的数据进行ETL模型中不可逆部分的变换后再同其他的多维数据集进行比较。
例如,比较的两个多维数据集(A,B)是否匹配的过程中,如果多维数据集中的维度成员相等,同时维度成员所对应的度量值也相等,则这两个多维数据集匹配。如果不相等,则检查参考模型中是否有不可逆的部分。如果多维数据集B是根据多维数据集A中的数据和模型X的逆生成的,则对A中的相应数据进行模型X中的不可逆的变换操作。之后再将处理后的A同B进行比较。如果多维数据集中的维度成员相等,同时维度成员所对应的度量值也相等,则这两个多维数据集匹配。生成参考多维数据集S后,先对其中的数据进行ETL模型和/或OLAP模型中不可逆部分的变换后再同其他的多维数据集进行比较。多数情况下,OLAP模型中不包括不可逆部分。
OLAP多维数据集MDS2中包含了来自数据仓库的数据,包括以维度的成员集合以及不同维度的成员集合所对应的度量值展示的相对应的维度表的列值的集合以及事实表的列值的集合。同时在构造OLAP多维数据集MDS2的过程中,还可以记录MDS2中的各个数据来自于数据仓库中的哪个事实表中的哪一列和哪一维度表中的哪一列。
ETL模型的逆变换,包括了数据仓库中事实表的事实数据和源表中的一些字段之间的映射关系,和数据仓库中维度表的字段与源表中字段之间的映射关系以及数据仓库中事实表的事实数据和维度数据之间的对应关系同源表中字段之间的对应关系的映射关系。
根据OLAP多维数据集MDS2中的维度成员值(实际上为维度表的列值集合)和ETL模型的逆变换规则,对OLAP多维数据集MDS2进行处理,得到由OLAP多维数据集推导出的源数据中的存储相应的列的值的集合。提取出该列的值的集合构成了ETL多维数据集MDS3的相应维度的成员集合。
构建好ETL多维数据集MDS3的所有的维度成员之后,根据ETL模型的逆变换规则,得到由OLAP多维数据集MDS2推导出的源数据中存储事实表数据的相应列的值的集合。根据ETL多维数据集MDS3已构建好的各个维度成员,给定各个维度成员(即存储维度表相关列的值的数据源中的相应列的取值),根据数据仓库中事实表的事实数据和维度数据之间的对应关系同源表中字段之间的对应关系的映射关系。从而得到的数据源中存储事实表数据的相应列的取值即为ETL多维数据集MDS3中度量的取值。
根据OLAP多维数据集MDS2中的维度成员值(实际上为数据仓库中相应维度表的列值的集合)和ETL模型的逆变换规则,得到与OLAP多维数据集MDS2相应维度成员值相对应的源数据中的存储相应列值的集合。提取出该列的值的集合构成了ETL多维数据集MDS3的相应维度的成员集合。
OLAP多维数据集MDS2中的度量值实际上为数据仓库中相应事实表中的列值集合或者该列值通过预定的运算生成。构建好ETL多维数据集MDS3的所有的维度成员集合之后,根据ETL模型的逆变换规则,得到源数据中存储事实表数据的相应列的值的集合(该事实表中相应列对应OLAP多维数据集MDS2中的度量值)。根据ETL多维数据集MDS3已构建好的各个维度成员,给定各个维度成员值(即源数据当中代表该维度的表的列值),根据数据仓库中事实表的事实数据和维度数据之间的对应关系同源表中字段之间的对应关系的映射关系。从而得到的数据源中存储代表度量数据的相应列的取值即为ETL多维数据集MDS3中度量的取值。
本领域普通技术人员能够了解的是,上面仅仅是以例示方式给出了生成ETL多维数据集MDS3的一种实施方式,还可以采用其他方式根据ETL的逆变换模型以及OLAP多维数据集MDS2来生成ETL多维数据集MDS3。
在步骤S370,根据所生成的多维数据集之间的匹配关系进行数据验证。具体地,可以根据参考多维数据集、报告多维数据集、OLAP多维数据集以及ETL多维数据集之间的匹配关系进行数据验证。
例如,可以确定所述参考多维数据集与所述ETL多维数据集之间的匹配关系以及所述报告多维数据集与所述OLAP多维数据集之间的匹配关系,并根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、所述参考多维数据集与所述OLAP多维数据集之间的匹配关系、所述参考多维数据集与所述ETL多维数据集之间的匹配关系以及所述报告多维数据集与所述OLAP多维数据集之间的匹配关系确定何处存在数据处理问题。
还可以进一步确定所述OLAP多维数据集与所述ETL多维数据集之间的匹配关系,并根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、所述参考多维数据集与所述OLAP多维数据集之间的匹配关系、所述参考多维数据集与所述ETL多维数据集之间的匹配关系、所述报告多维数据集与所述OLAP多维数据集之间的匹配关系以及所述OLAP多维数据集与所述ETL多维数据集之间的匹配关系确定何处存在数据处理问题。
在下面的图5中,将详细描述如何根据上述多个多维数据集之间的匹配关系来验证数据,以确定是否存在数据处理问题以及何处存在数据处理问题。
这里需要说明的是,虽然在图3中将步骤S340描述为在步骤S330之后,将步骤S360描述在步骤S350之后,本领域普通技术人员可以知晓的是,实际上该步骤S340和S360并不必须要在步骤S330和S350完成之后执行。事实上,根据本发明的另一个实施例,可以在生成了OLAP多维数据集和ETL多维数据集之后,再根据各个多维数据集的匹配关系来进行数据验证,例如,步骤S340和S360可以穿插在图5所示的各个步骤之间执行,也可以在图5的各个步骤之前执行。
图4示出了所产生的多个多维数据集:参考多维数据集S,报告多维数据集MDS1,OLAP多维数据集MDS2,ETL多维数据集MDS3。从图4中可以看出,通过采用如上述所述的方法,生成了参考多维数据集S、报告多维数据集MDS1、OLAP多维数据集MDS2以及ETL多维数据集MDS3,并通过这些多维数据集之间的匹配关系来确定由数据源410至数据仓库420至数据立方体430的数据处理是否有问题,以及数据处理问题存在于该商业智能解决方案中的何处。
下面将参考图5详细描述各个多维数据集的比较以及商业智能解决方案问题的跟踪与定位。
如同前面所介绍的,在商业智能解决方案的构建过程中经常出现的问题有以下几种:ETL模型错误,OLAP模型错误,脏数据错误。
通过对报告多维数据集,OLAP多维数据集以及ETL多维数据集和参考多维数据集的比较结果,我们可以判定商业智能解决方案的模型设计是不是存在问题以及何处存在问题。
在图5中,S代表参考多维数据集,MDS1代表报告多维数据集,MDS2代表OLAP多维数据集,MDS3代表ETL多维数据集。
在步骤S510,将参考多维数据集与报告多维数据集进行比较,如果匹配,则认为所展示的数据没有问题,未发现模型异常和脏数据错误。
如果不匹配,即代表存在着数据处理问题,则方法进行到步骤S520,将参考多维数据集与OLAP多维数据集进行比较,如果匹配,则表明是OLAP模型出现了问题。
如果不相等,则方法进行到步骤S530,将报告多维数据集与OLAP多维数据集进行比较,如果匹配,则方法进行到步骤S540,将参考多维数据集与ETL多维数据集进行比较,如果匹配,则表明是ETL模型出现了问题。
如果在步骤S540参考多维数据集和ETL多维数据集不匹配,则方法进行到步骤S550,将OLAP多维数据集与ETL多维数据集进行比较,如果匹配,则表明是脏数据错误。
如果在步骤S550,OLAP多维数据集与ETL多维数据集不匹配,则表明是ETL模型存在问题,同时也有可能存在脏数据的问题。
如果在步骤S530,报告多维数据集和OLAP多维数据集之间不匹配,则方法进行到步骤S560,比较ETL多维数据集与参考多维数据集。如果匹配,则表明是OLAP模型和ETL模型均存在错误。
如果在步骤S560,ETL多维数据集与参考多维数据集不匹配,则方法进行到步骤S570,比较OLAP多维数据集和ETL多维数据集,如果匹配,则表明是OLAP模型和ETL模型均存在问题。
如果在步骤S570,OLAP多维数据集和ETL多维数据集不匹配,则表明除了OLAP模型和ETL模型存在问题外,还有可能存在脏数据问题。
上面参考图5详细描述了各个多维数据集的比较以及商业智能解决方案问题的跟踪与定位。虽然在图5中描述了各个判断步骤,本领域技术人员可以了解的是,本发明并不必须按照图5所示的流程来进行判断,按照与图5所示的流程不同的顺序确定各个多维数据集的匹配关系,也可以获得对数据处理问题的跟踪和定位。
并且,按照本发明的另一个实施例,也可以通过查表的方式获得对数据处理问题的跟踪和定位。下面的表中清晰地介绍了根据不同的比较结果得出的商业智能解决方案在模型中遇到的问题结论。表中的“!=”表示不等于。
多维数据集的比较结果 | 相关问题推断 |
S=MDS1 | 没有数据问题 |
S!=MDS1 S=MDS2 | OLAP模型问题 |
S!=MDS1 S!=MDS2 S=MDS3MDS1=MDS2 | ETL模型问题 |
S!=MDS1 S!=MDS2 S!=MDS3MDS1=MDS2 MDS2=MDS3 | 脏数据问题 |
S!=MDS1 S!=MDS2S!=MDS3MDS1=MDS2 MDS2!=MDS3 | ETL模型问题(有可能有脏数据问题) |
S!=MDS1 S!=MDS2S=MDS3MDS1!=MDS2 | ETL模型和OLAP模型问题 |
S!=MDS1S!=MDS2S!=MDS3MDS1!=MDS2 MDS2=MDS3 | ETL模型和OLAP模型问题 |
S!=MDS1S!=MDS2S!=MDS3MDS1!=MDS2MDS2!=MDS3 | ETL模型和OLAP模型问题(有可能有脏数据问题) |
在前面的实施例中,报告多维数据集是从数据立方体生成的。下面图6示出了根据本发明另一个实施例的数据处理方法的流程图。在所示的方法600中,报告多维数据集是从数据仓库直接生成的,在这种情况下,由于数据仓库中的数据并未经过OLAP模型的变换,因此在生成ETL多维数据集的过程中,无需再进行OLAP模型的逆变换。
在步骤S610,根据预定的数据仓库查询条件,从数据仓库生成报告多维数据集。
在步骤S620,根据与所述数据仓库查询条件相应的源数据查询条件,从源数据生成参考多维数据集。
在步骤S630,根据所生成的多维数据集之间的匹配关系进行数据验证。具体地,根据参考多维数据集与报告多维数据集之间的匹配关系,确定数据是否一致,其中,如果所述参考多维数据集与所述报告多维数据集之间的预定项目不相匹配,则确定存在数据处理问题。
如前所述,报告多维数据集和参考多维数据集可以分别由多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值组成,在这种情况下,通过分别比较所述报告多维数据集和所述参考多维数据集的多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值,来确定所述参考多维数据集与所述报告多维数据集之间的匹配关系,并根据确定的匹配关系来进行数据验证。
同样,为了进一步确定何处存在数据处理问题,在图6所示的方法中,还可以进一步包括步骤S640,根据ETL模型的逆变换模型,对所述报告多维数据集进行ETL逆变换,以便生成ETL多维数据集。
在步骤S650,根据所生成的多维数据集之间的匹配关系进行数据验证。具体地,根据所述参考多维数据集与所述报告多维数据集之间的匹配关系以及所述参考多维数据集与所述ETL多维数据集之间的匹配关系,确定何处存在数据处理问题。如果所述参考多维数据集与所述报告多维数据集之间的预定项目不相匹配并且所述参考多维数据集与所述ETL多维数据集之间的预定项目相匹配,则确定ETL模型存在问题。
另外,如果所述参考多维数据集与所述报告多维数据集之间的预定项目不相匹配并且所述参考多维数据集与所述ETL多维数据集之间的预定项目不相匹配,所述报告多维数据集与所述ETL多维数据集之间的预定项目相匹配,则确定源数据存在问题。
同样,这里的步骤S630也不是必须的,可以在生成了报告多维数据集、参考多维数据集以及ETL多维数据集之后,再根据各个多维数据集之间的匹配关系,进行数据验证,来确定是否存在数据处理问题以及何处存在数据处理问题。
图7示出了根据本发明的一个实施例的数据验证系统700的系统框图。其中,根据本发明的实施例的数据处理系统700包括:报告多维数据集生成装置710,用于从数据立方体生成报告多维数据集;参考多维数据集生成装置720,用于从与所述数据立方体相应的源数据生成参考多维数据集;验证装置750,用于根据所生成的各个多维数据集之间的匹配关系进行数据验证。所述验证装置750可以根据参考多维数据集和报告多维数据集之间的匹配关系来进行数据验证,以确定数据立方体的数据与源数据是否一致。
根据本发明的一个实施例,所述报告多维数据集装置根据数据立方体查询条件,由数据立方体生成所述报告多维数据集,所述参考多维数据集装置根据与所述数据立方体查询条件相应的源数据查询条件,由源数据生成所述参考多维数据集。
如前所述,报告多维数据集和参考多维数据集可以分别由多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值组成,在这种情况下,验证装置可以进一步包括一个比较装置(图中未示出),该比较装置通过分别比较所述报告多维数据集和所述参考多维数据集的多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值,来确定所述参考多维数据集与所述报告多维数据集之间的匹配关系。
根据本发明的另一个实施例,所述参考多维数据集生成装置还用于对参考多维数据集中的数据进行ETL模型中不可逆部分的变换,并将变换后的参考多维数据集作为生成的参考多维数据集。
根据本发明的另一个实施例,如图7中的虚线部分所示,该数据处理系统700还可以包括OLAP多维数据集生成装置730,用于根据OLAP模型的逆变换模型,对所述报告多维数据集进行OLAP逆变换,以便生成OLAP多维数据集。其中,所述验证装置根据参考多维数据集、报告多维数据集以及OLAP多维数据集之间的匹配关系,进行数据验证。例如,验证装置可以确定所述参考多维数据集与所述OLAP多维数据集之间的匹配关系,根据所述参考多维数据集与所述报告多维数据集之间的匹配关系以及所述参考多维数据集与所述OLAP多维数据集之间的匹配关系进行数据验证。如果所述参考多维数据集与所报告多维数据集不相匹配,并且所述参考多维数据集与所述OLAP多维数据集相匹配,则所述验证装置确定OLAP模型存在问题。
根据本发明的另一个实施例,如图7中的虚线部分所示,该数据处理系统700还可以包括ETL多维数据集生成装置740,用于根据ETL模型的逆变换模型,对所述OLAP多维数据集进行ETL逆变换,以便生成ETL多维数据集。其中,所述验证装置根据参考多维数据集、报告多维数据集、OLAP多维数据集以及ETL多维数据集之间的匹配关系,进行数据验证。例如,验证装置可以确定所述参考多维数据集与所述ETL多维数据集之间的匹配关系以及所述报告多维数据集与所述OLAP多维数据集之间的匹配关系,并根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、所述参考多维数据集与所述OLAP多维数据集之间的匹配关系、所述参考多维数据集与所述ETL多维数据集之间的匹配关系以及所述报告多维数据集与所述OLAP多维数据集之间的匹配关系进行数据验证,以确定数据处理问题。
根据本发明的另一个实施例,所述验证装置确定所述OLAP多维数据集与所述ETL多维数据集之间的匹配关系,根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、所述参考多维数据集与所述OLAP多维数据集之间的匹配关系、所述参考多维数据集与所述ETL多维数据集之间的匹配关系、所述报告多维数据集与所述OLAP多维数据集之间的匹配关系以及所述OLAP多维数据集与所述ETL多维数据集之间的匹配关系进行数据验证,以确定数据处理问题。
根据本发明的另一个实施例,报告多维数据集生成装置710根据预定的数据仓库查询条件,从数据仓库生成报告多维数据集,在这种情况下,该数据处理系统700则无需包括OLAP多维数据集生成装置730,ETL多维数据集生成装置740根据ETL模型的逆变换模型,对所述报告多维数据集进行处理,以便生成ETL多维数据集。其中,所述验证装置根据参考多维数据集、报告多维数据集以及ETL多维数据集之间的匹配关系进行数据验证。例如,验证装置可以确定所述参考多维数据集与所述ETL多维数据集之间的匹配关系,并根据所述参考多维数据集与所述报告多维数据集之间的匹配关系以及所述参考多维数据集与所述ETL多维数据集之间的匹配关系进行数据验证,以确定是否存在数据处理问题。
根据本发明的另一个实施例,所述验证装置确定所述报告多维数据集与所述ETL多维数据集之间的匹配关系,根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、所述参考多维数据集与所述ETL多维数据集之间的匹配关系、以及所述报告多维数据集与所述ETL多维数据集之间的匹配关系进行数据验证,以确定数据处理问题。
本发明还提供了一种存储介质或信号载体,其中包括用于执行根据本发明的方法的指令。
附图中的流程图和框图,图示了按照本发明实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。
可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是--但不限于--电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下:有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括--但不限于--无线、电线、光缆、RF等等。
用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言--诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言--诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络--包括局域网(LAN)或广域网(WAN)--连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。
以上结合优选法方案对本发明进行了详细的描述,但是可以理解,以上实施例仅用于说明而非限定本发明。本领域的技术人员可以对本发明的所示方案进行修改而不脱离本发明的范围和精神。
Claims (12)
1.一种用于验证数据的方法,其中,所述数据来自于对源数据进行ETL模型变换和OLAP模型变换所生成的数据立方体,所述方法包括:
根据数据立方体查询条件,从数据立方体生成报告多维数据集;
根据与所述数据立方体查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
根据所述参考多维数据集与所述报告多维数据集之间的匹配关系,进行数据验证,
其中,所述报告多维数据集和所述参考多维数据集分别由多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值组成,
其中,所述根据所述参考多维数据集与所述报告多维数据集之间的匹配关系、进行数据验证进一步包括:
通过分别比较所述报告多维数据集和所述参考多维数据集的多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值,来确定所述参考多维数据集与所述报告多维数据集之间的匹配关系;以及
根据所确定的匹配关系,进行数据验证。
2.根据权利要求1所述的方法,其中,根据与所述数据立方体查询条件相应的源数据查询条件、从源数据生成参考多维数据集进一步包括:对参考多维数据集中的数据进行ETL模型中不可逆部分的变换,其中,将变换后的参考多维数据集作为生成的参考多维数据集。
3.根据权利要求1或2所述的方法,进一步包括:
根据OLAP模型的逆变换模型,对所述报告多维数据集进行OLAP逆变换,以便生成OLAP多维数据集;以及
根据所述参考多维数据集、所述报告多维数据集以及所述OLAP多维数据集之间的匹配关系,进行数据验证。
4.根据权利要求3所述的方法,其中,如果所述参考多维数据集与所述报告多维数据集不相匹配,并且所述参考多维数据集与所述OLAP多维数据集相匹配,则确定OLAP模型存在问题。
5.根据权利要求3所述的方法,进一步包括:
根据ETL模型的逆变换模型,对所述OLAP多维数据集进行ETL逆变换,以便生成ETL多维数据集;以及
根据所述参考多维数据集、所述报告多维数据集、所述OLAP多维数据集以及所述ETL多维数据集之间的匹配关系,进行数据验证。
6.根据权利要求5所述的方法,其中,如果所述参考多维数据集与所述报告多维数据集不相匹配,所述参考多维数据集与所述OLAP多维数据集不相匹配,所述参考多维数据集与所述ETL多维数据集相匹配,并且所述报告多维数据集与所述OLAP多维数据集相匹配,则确定ETL模型存在问题。
7.一种用于验证数据的系统,其中,所述数据来自于对源数据进行ETL模型变换和OLAP模型变换所生成的数据立方体,所述系统包括:
报告多维数据集生成装置,用于根据数据立方体查询条件,从数据立方体生成报告多维数据集;
参考多维数据集生成装置,用于根据与所述数据立方体查询条件相应的源数据查询条件,从源数据生成参考多维数据集;以及
验证装置,用于根据所述参考多维数据集与所述报告多维数据集之间的匹配关系,进行数据验证,
其中,所述报告多维数据集和参考多维数据集分别由多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值组成,
其中,所述验证装置进一步包括:
比较装置,通过分别比较所述报告多维数据集和所述参考多维数据集的多个维度、每个维度的成员集合以及每个维度的成员集合所对应的度量值,来确定所述参考多维数据集与所述报告多维数据集之间的匹配关系。
8.根据权利要求7所述的系统,其中,所述参考多维数据集生成装置还用于对参考多维数据集中的数据进行ETL模型中不可逆部分的变换,其中,将变换后的参考多维数据集作为生成的参考多维数据集。
9.根据权利要求7或8所述的系统,进一步包括:
OLAP多维数据集生成装置,用于根据OLAP模型的逆变换模型,对所述报告多维数据集进行OLAP逆变换,以便生成OLAP多维数据集,
其中,所述验证装置进一步根据所述参考多维数据集、所述报告多维数据集以及所述OLAP多维数据集之间的匹配关系进行数据验证。
10.根据权利要求9所述的系统,其中,如果所述参考多维数据集与所述报告多维数据集不相匹配,并且所述参考多维数据集与所述OLAP多维数据集相匹配,则确定OLAP模型存在问题。
11.根据权利要求9所述的系统,进一步包括:
ETL多维数据集生成装置,用于根据ETL模型的逆变换模型,对所述OLAP多维数据集进行ETL逆变换,以便生成ETL多维数据集,
其中,所述验证装置进一步根据所述参考多维数据集、所述报告多维数据集、所述OLAP多维数据集以及所述ETL多维数据集之间的匹配关系进行数据验证。
12.根据权利要求11所述的系统,其中,如果所述参考多维数据集与所述报告多维数据集不相匹配,所述参考多维数据集与所述OLAP多维数据集不相匹配,所述参考多维数据集与所述ETL多维数据集相匹配,并且所述报告多维数据集与所述OLAP多维数据集相匹配,则确定ETL模型存在问题。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010138994.5A CN102207940B (zh) | 2010-03-31 | 2010-03-31 | 用于验证数据的方法和系统 |
US13/032,681 US8219520B2 (en) | 2010-03-31 | 2011-02-23 | Method and system for validating data |
US13/465,329 US9710536B2 (en) | 2010-03-31 | 2012-05-07 | Method and system for validating data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010138994.5A CN102207940B (zh) | 2010-03-31 | 2010-03-31 | 用于验证数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102207940A CN102207940A (zh) | 2011-10-05 |
CN102207940B true CN102207940B (zh) | 2014-11-05 |
Family
ID=44696778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010138994.5A Active CN102207940B (zh) | 2010-03-31 | 2010-03-31 | 用于验证数据的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8219520B2 (zh) |
CN (1) | CN102207940B (zh) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207940B (zh) | 2010-03-31 | 2014-11-05 | 国际商业机器公司 | 用于验证数据的方法和系统 |
US10671628B2 (en) * | 2010-07-09 | 2020-06-02 | State Street Bank And Trust Company | Systems and methods for data warehousing |
US8661014B2 (en) * | 2010-09-23 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Stream processing by a query engine |
US8571909B2 (en) * | 2011-08-17 | 2013-10-29 | Roundhouse One Llc | Business intelligence system and method utilizing multidimensional analysis of a plurality of transformed and scaled data streams |
US9996807B2 (en) | 2011-08-17 | 2018-06-12 | Roundhouse One Llc | Multidimensional digital platform for building integration and analysis |
CN103198071B (zh) * | 2012-01-06 | 2016-05-25 | 中国移动通信集团山东有限公司 | 数据报表生成方法及其装置 |
US9734214B2 (en) * | 2012-06-28 | 2017-08-15 | Entit Software Llc | Metadata-based test data generation |
JP5784239B2 (ja) * | 2012-09-14 | 2015-09-24 | 株式会社日立製作所 | データ分析方法、データ分析装置及びその処理プログラムを格納した記憶媒体 |
US9240061B2 (en) * | 2012-10-02 | 2016-01-19 | International Business Machines Corporation | Pattern representation images for business intelligence dashboard objects |
US9594816B2 (en) | 2012-11-01 | 2017-03-14 | Tata Consultancy Services Limited | System and method to provide analytical processing of data in a distributed data storage systems |
US8583631B1 (en) * | 2013-01-31 | 2013-11-12 | Splunk Inc. | Metadata tracking for a pipelined search language (data modeling for fields) |
US9092493B2 (en) | 2013-02-25 | 2015-07-28 | International Business Machines Corporation | Adaptive warehouse data validation tool |
US9576036B2 (en) | 2013-03-15 | 2017-02-21 | International Business Machines Corporation | Self-analyzing data processing job to determine data quality issues |
CN103218691B (zh) * | 2013-04-26 | 2016-09-07 | 吉林市赢科信息技术有限责任公司 | 一种嵌入式商业智能信息管理系统及管理方法 |
US9195470B2 (en) | 2013-07-22 | 2015-11-24 | Globalfoundries Inc. | Dynamic data dimensioning by partial reconfiguration of single or multiple field-programmable gate arrays using bootstraps |
US9449060B2 (en) * | 2013-08-06 | 2016-09-20 | International Business Machines Corporation | Post-migration validation of ETL jobs and exception management |
CN104657370B (zh) * | 2013-11-19 | 2018-09-04 | 中国移动通信集团天津有限公司 | 一种实现多维立方体关联的方法和装置 |
US9710528B2 (en) * | 2014-03-25 | 2017-07-18 | Wipro Limited | System and method for business intelligence data testing |
US8990212B1 (en) * | 2014-03-27 | 2015-03-24 | Visier Solutions, Inc. | Systems and methods of mapping multidimensional data and executing queries |
US10353923B2 (en) | 2014-04-24 | 2019-07-16 | Ebay Inc. | Hadoop OLAP engine |
US9996592B2 (en) * | 2014-04-29 | 2018-06-12 | Sap Se | Query relationship management |
US10503480B2 (en) * | 2014-04-30 | 2019-12-10 | Ent. Services Development Corporation Lp | Correlation based instruments discovery |
CN103995879B (zh) * | 2014-05-27 | 2017-12-15 | 华为技术有限公司 | 基于olap系统的数据查询方法、装置及系统 |
US10248508B1 (en) | 2014-06-20 | 2019-04-02 | Amazon Technologies, Inc. | Distributed data validation service |
CN105205085A (zh) * | 2014-06-30 | 2015-12-30 | 中兴通讯股份有限公司 | 一种海量数据的多维分析方法及装置 |
US9928268B2 (en) * | 2014-07-29 | 2018-03-27 | Mark Besch | System and method for verifying the contents of forms relative to a separate dataset |
CN105354201B (zh) * | 2014-08-20 | 2019-02-01 | 中国科学院上海生命科学研究院 | 甄别与消除假阳性结果的方法和系统 |
US9372690B2 (en) * | 2014-09-03 | 2016-06-21 | International Business Machines Corporation | Analysis of data integration job |
CN105488045A (zh) * | 2014-09-16 | 2016-04-13 | 中兴通讯股份有限公司 | 一种数据展现的方法及装置 |
CN104298736B (zh) * | 2014-09-30 | 2017-10-17 | 华为软件技术有限公司 | 数据集合连接方法、装置及数据库系统 |
CN104408181A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 基于数据立方体的可视化数据显示方法和装置 |
CN104391997A (zh) * | 2014-12-15 | 2015-03-04 | 北京国双科技有限公司 | 基于数据立方体的可视化数据显示方法和装置 |
CN104408184A (zh) * | 2014-12-15 | 2015-03-11 | 北京国双科技有限公司 | 基于数据立方体的可视化数据的二维显示方法和装置 |
CN104462446A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 基于数据立方体的可视化数据的二维显示方法和装置 |
CN104504122B (zh) * | 2014-12-29 | 2018-02-06 | 浪潮(北京)电子信息产业有限公司 | 一种数据库迁移数据的验证方法及系统 |
US10360520B2 (en) | 2015-01-06 | 2019-07-23 | International Business Machines Corporation | Operational data rationalization |
US9275099B1 (en) | 2015-03-09 | 2016-03-01 | Vinyl Development LLC | Source independent query language |
GB201504710D0 (en) * | 2015-03-20 | 2015-05-06 | Ibm | Establishing transaction metadata |
US10366073B2 (en) | 2015-06-30 | 2019-07-30 | Bank Of America Corporation | System for automating data validation |
CN106598988B (zh) * | 2015-10-16 | 2020-08-21 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
US10210236B2 (en) * | 2015-11-23 | 2019-02-19 | Ab Initio Technology Llc | Storing and retrieving data of a data cube |
CN107292624A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 提供商品对象信息的方法及装置 |
US10585875B2 (en) * | 2016-04-06 | 2020-03-10 | International Businses Machines Corporation | Data warehouse model validation |
CN106339512A (zh) * | 2016-11-21 | 2017-01-18 | 北京恒华伟业科技股份有限公司 | 一种基于电网地理信息系统的信息分析方法 |
CN107016028B (zh) * | 2016-12-12 | 2020-07-14 | 阿里巴巴集团控股有限公司 | 数据处理方法及其设备 |
CN108805597B (zh) * | 2017-05-05 | 2021-11-23 | 百度在线网络技术(北京)有限公司 | 模型构建方法及装置、数据报表生成方法及装置 |
WO2018209594A1 (en) * | 2017-05-17 | 2018-11-22 | Ebay Inc. | Olap cube optimization using weightings |
CN110019544B (zh) * | 2017-09-30 | 2022-08-19 | 北京国双科技有限公司 | 数据查询方法及系统 |
CN108052542B (zh) * | 2017-11-22 | 2021-06-08 | 贝壳找房(北京)科技有限公司 | 一种基于presto的数据的多维数据的分析方法 |
CN108021670A (zh) * | 2017-12-06 | 2018-05-11 | 中国南方航空股份有限公司 | 多源异构数据融合系统及方法 |
CN108509485B (zh) * | 2018-02-07 | 2021-06-22 | 深圳壹账通智能科技有限公司 | 数据的预处理方法、装置、计算机设备和存储介质 |
CN109190984B (zh) * | 2018-09-06 | 2022-02-22 | 赛尔网络有限公司 | 基于数据立方体模型的数据处理系统及方法 |
US11144567B2 (en) * | 2018-11-30 | 2021-10-12 | Schlumberger Technology Corporation | Dynamic schema transformation |
US11941031B2 (en) * | 2019-01-15 | 2024-03-26 | Google Llc | Systems and methods for specifying OLAP cube at query time |
CN110275920B (zh) * | 2019-06-27 | 2021-08-03 | 中国石油集团东方地球物理勘探有限责任公司 | 数据查询方法、装置、电子设备及计算机可读存储介质 |
US12026172B2 (en) | 2020-12-15 | 2024-07-02 | Bank Of America Corporation | System and method for automatically validating data stored in multiple locations |
CN112905565A (zh) * | 2021-03-09 | 2021-06-04 | 国网河北省电力有限公司信息通信分公司 | 一种数据库管理系统及数据检验方法 |
US11810547B2 (en) * | 2021-04-08 | 2023-11-07 | Sap Se | Machine learning for intelligent dictation of analysis of multidimensional objects |
US20220358135A1 (en) * | 2021-05-06 | 2022-11-10 | Hitachi, Ltd. | System and method for data and data processing management |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564160A (zh) * | 2004-04-22 | 2005-01-12 | 重庆市弘越科技有限公司 | 建立及查询多维数据立方体的方法 |
CN101111835A (zh) * | 2004-11-30 | 2008-01-23 | 科格洛斯公司 | 多维企业软件系统中的自动默认维度选择 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6829621B2 (en) | 2000-10-06 | 2004-12-07 | International Business Machines Corporation | Automatic determination of OLAP cube dimensions |
US20020116213A1 (en) * | 2001-01-30 | 2002-08-22 | Manugistics, Inc. | System and method for viewing supply chain network metrics |
US7870012B2 (en) * | 2001-05-15 | 2011-01-11 | Agile Software Corporation | Method for managing a workflow process that assists users in procurement, sourcing, and decision-support for strategic sourcing |
US7899879B2 (en) * | 2002-09-06 | 2011-03-01 | Oracle International Corporation | Method and apparatus for a report cache in a near real-time business intelligence system |
US7401321B2 (en) * | 2003-04-14 | 2008-07-15 | International Business Machines Corporation | Method and apparatus for processing information on software defects during computer software development |
US7593955B2 (en) * | 2004-11-30 | 2009-09-22 | International Business Machines Corporation | Generation of aggregatable dimension information within a multidimensional enterprise software system |
WO2006096812A2 (en) * | 2005-03-07 | 2006-09-14 | Skytide, Inc. | Analyzing and reporting extensible data from multiple sources in multiple formats |
US20070185867A1 (en) * | 2006-02-03 | 2007-08-09 | Matteo Maga | Statistical modeling methods for determining customer distribution by churn probability within a customer population |
CA2542379A1 (en) * | 2006-04-07 | 2007-10-07 | Cognos Incorporated | Packaged warehouse solution system |
US20080021927A1 (en) | 2006-07-24 | 2008-01-24 | United Technologies Corporation | Model based supportability process planning data set |
CN101136020A (zh) * | 2006-08-31 | 2008-03-05 | 国际商业机器公司 | 自动扩展参考数据的系统和方法 |
US20080307262A1 (en) * | 2007-06-05 | 2008-12-11 | Siemens Medical Solutions Usa, Inc. | System for Validating Data for Processing and Incorporation in a Report |
US8056054B2 (en) * | 2007-06-07 | 2011-11-08 | International Business Machines Corporation | Business information warehouse toolkit and language for warehousing simplification and automation |
US7941398B2 (en) * | 2007-09-26 | 2011-05-10 | Pentaho Corporation | Autopropagation of business intelligence metadata |
US7984019B2 (en) * | 2007-12-28 | 2011-07-19 | Knowledge Computing Corporation | Method and apparatus for loading data files into a data-warehouse system |
US8832601B2 (en) * | 2008-05-31 | 2014-09-09 | Red Hat, Inc. | ETL tool utilizing dimension trees |
US8631042B2 (en) * | 2008-06-03 | 2014-01-14 | International Business Machines Corporation | Data warehouse system |
WO2009146558A1 (en) * | 2008-06-05 | 2009-12-10 | Gss Group Inc. | System and method for building a data warehouse |
CN101477572B (zh) * | 2009-01-12 | 2010-12-08 | 深圳市里王智通软件有限公司 | 基于tds过渡数据存储技术的动态数据仓库的方法与系统 |
CA2660748C (en) * | 2009-03-31 | 2016-08-09 | Trapeze Software Inc. | System for aggregating data and a method for providing the same |
US20100325054A1 (en) * | 2009-06-18 | 2010-12-23 | Varigence, Inc. | Method and apparatus for business intelligence analysis and modification |
CN102207940B (zh) | 2010-03-31 | 2014-11-05 | 国际商业机器公司 | 用于验证数据的方法和系统 |
-
2010
- 2010-03-31 CN CN201010138994.5A patent/CN102207940B/zh active Active
-
2011
- 2011-02-23 US US13/032,681 patent/US8219520B2/en not_active Expired - Fee Related
-
2012
- 2012-05-07 US US13/465,329 patent/US9710536B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564160A (zh) * | 2004-04-22 | 2005-01-12 | 重庆市弘越科技有限公司 | 建立及查询多维数据立方体的方法 |
CN101111835A (zh) * | 2004-11-30 | 2008-01-23 | 科格洛斯公司 | 多维企业软件系统中的自动默认维度选择 |
Also Published As
Publication number | Publication date |
---|---|
US9710536B2 (en) | 2017-07-18 |
US20170212725A9 (en) | 2017-07-27 |
US8219520B2 (en) | 2012-07-10 |
US20120221510A1 (en) | 2012-08-30 |
US20110246415A1 (en) | 2011-10-06 |
CN102207940A (zh) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102207940B (zh) | 用于验证数据的方法和系统 | |
US11281626B2 (en) | Systems and methods for management of data platforms | |
Deng et al. | The Data Civilizer System. | |
US10198460B2 (en) | Systems and methods for management of data platforms | |
US20200081899A1 (en) | Automated database schema matching | |
US9082076B2 (en) | Data quality management for profiling, linking, cleansing, and migrating data | |
US8768976B2 (en) | Operational-related data computation engine | |
US8645332B1 (en) | Systems and methods for capturing data refinement actions based on visualized search of information | |
EP2963570A1 (en) | Dynamic selection of source table for db rollup aggregation and query rewrite based on model driven definitions and cardinality estimates | |
US10095766B2 (en) | Automated refinement and validation of data warehouse star schemas | |
US10789295B2 (en) | Pattern-based searching of log-based representations of graph databases | |
US10223388B2 (en) | Avoid double counting of mapped database data | |
Woodall et al. | A classification of data quality assessment and improvement methods | |
US10599678B2 (en) | Input gathering system and method for defining, refining or validating star schema for a source database | |
CN104756106A (zh) | 表征数据存储系统中的数据源 | |
CN101477522A (zh) | 收集与分析商业智能数据的系统 | |
US10360239B2 (en) | Automated definition of data warehouse star schemas | |
US11544328B2 (en) | Method and system for streamlined auditing | |
Sampaio et al. | DQ2S–a framework for data quality-aware information management | |
EP3152678B1 (en) | Systems and methods for management of data platforms | |
Deutch et al. | Fedex: An explainability framework for data exploration steps | |
JP5506527B2 (ja) | 同義カラム検出装置及び同義カラム検出方法 | |
EP3495971A1 (en) | Method and device for database design and creation | |
US11188228B1 (en) | Graphing transaction operations for transaction compliance analysis | |
Liu et al. | EntityManager: Managing dirty data based on entity resolution |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211110 Address after: USA New York Patentee after: Qindarui company Address before: Armank, New York, USA Patentee before: International Business Machines |
|
TR01 | Transfer of patent right |