发明内容
本发明的实施例提供一种数据仓库个性化维度表的创建方法和装置,提高了终端形成数据仓库自定义的分析维度的便捷度以及通过终端进行数据分析的自由度。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明公开了一种数据仓库个性化维度表的创建方法,包括:
根据标准维度表的维度数据,在交互界面中显示所述标准维度表,所述标准维度表为数据仓库中已存储的维度表;
获取用户根据所述标准维度表所更改的个性化维度数据;
基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
结合本发明的第一方面,在本发明第一方面的第一种可能的实现方式中,在所述获取用户根据标准维度表所更改的个性化维度数据之后,还包括:
根据预设的校验规则,对所述个性化维度数据进行校验;
所述基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表,具体为:
当所述个性化维度数据满足所述校验规则时,则基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
结合本发明第一方面或第一方面的第一种可能的实现方式,在本发明第一方面的第二种可能的实现方式中,所述元数据模型,包括:个性化维度树定义模块、个性化维度层级定义模块、个性化维度层级成员定义模块、关联定义模块、个性化维度属性定义模块;
所述个性化维度数据,包括:个性化维度树数据、与所述标准维度表相关联的关联数据、个性化维度层级数据、个性化维度层级成员数据和个性化维度属性数据;
所述个性化维度数据基于所述元数据模型生成;
所述个性化维度树数据基于所述个性化维度树定义模块生成,所述关联数据基于所述关联定义模块生成,所述个性化维度层级数据基于所述个性化维度层级定义模块生成,所述个性化维度层级成员数据基于所述个性化维度层级成员定义模块生成,所述个性化维度属性数据基于所述个性化维度属性定义模块生成。
结合本发明第一方面的第二种可能的实现方式,在本发明第一方面的第三种可能的实现方式中,所述基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表,包括:
根据所述标准维度表和所述个性化维度树数据生成临时维度表;
将所述关联数据加载到所述临时维度表,建立所述标准维度表和所述临时维度表的关联关系;
根据所述关联关系,将在所述标准维度表中获取的公共属性加载到所述临时维度表;
将所述个性化维度层级成员数据和所述个性化维度层级数据逐层加载到所述临时维度表;
将所述个性化维度属性数据加载到所述临时维度表,形成所述个性化维度表。
结合本发明第一方面的第三种可能的实现方式,在本发明第一方面的第四种可能的实现方式中,在所述个性化维度层级数据中存储有至少两个层级;
在所述个性化维度层级成员数据中,与所述至少两个层级相对应,存储有在每个所述层级中所包含的至少一个层级成员;
所述将所述个性化维度层级成员数据和所述个性化维度层级数据加载逐层加载到临时维度之前,还包括:
当层级成员与所述层级成员的上级成员之间出现跳层时,则在所述层级成员和所述上级成员之间增加空层成员。
结合本发明的第一方面或第一方面的任一种可能的实现方式,在本发明第一方面的第五种可能的实现方式中,在所述个性化维度树数据中存储有用户所属用户组的用户组标识;
在基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表之后,还包括:
在所述用户组标识所对应的用户组内共享所述个性化维度表。
第二方面,本发明提供了一种数据仓库个性化维度表的创建装置,包括:
交互显示单元,用于根据标准维度表的维度数据,在交互界面中显示所述标准维度表,所述标准维度表为数据仓库中已存储的维度表;
获取单元,用于获取用户根据所述标准维度表所更改的个性化维度数据;
形成单元,用于基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
结合本发明的第二方面,在本发明的第二方面的第一种可能的实现方式中,所述装置,还包括:
校验单元,用于根据预设的校验规则,对所述个性化维度数据进行校验;
所述形成单元,具体用于当所述个性化维度数据满足所述校验规则时,则基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
结合本发明的第二方面或第二方面的第一种可能的实现方式,在本发明第二方面的第二种可能的实现方式中,所述元数据模型,包括:个性化维度树定义模块、个性化维度层级定义模块、个性化维度层级成员定义模块、关联定义模块、个性化维度属性定义模块;
所述个性化维度数据,包括:个性化维度树数据、与所述标准维度表相关联的关联数据、个性化维度层级数据、个性化维度层级成员数据和个性化维度属性数据;
所述个性化维度数据基于所述元数据模型生成;
所述个性化维度树数据基于所述个性化维度树定义模块生成,所述关联数据基于所述关联定义模块生成,所述个性化维度层级数据基于所述个性化维度层级定义模块生成,所述个性化维度层级成员数据基于所述个性化维度层级成员定义模块生成,所述个性化维度属性数据基于所述个性化维度属性定义模块生成。
结合本发明第二方面的第二种可能的实现方式,在本发明第二方面的第三种可能的实现方式中,所述形成单元,包括:
临时表生成模块,用于根据所述标准维度表和所述个性化维度树数据生成临时维度表;
关联模块,用于将所述关联数据加载到所述临时维度表,建立所述标准维度表和所述临时维度表的关联关系;
公共属性加载模块,用于根据所述关联关系,将在所述标准维度表中获取的公共属性加载到所述临时维度表;
层级加载模块,用于将所述个性化维度层级成员数据和所述个性化维度层级数据逐层加载到所述临时维度表;
个性化形成模块,用于将所述个性化维度属性数据加载到所述临时维度表,形成所述个性化维度表。
结合本发明第二方面的第三种可能的实现方式,在本发明的第二方面的第四种可能的实现方式中,在所述个性化维度层级数据中存储有至少两个层级;
在所述个性化维度层级成员数据中,与所述至少两个层级相对应,存储有在每个所述层级中所包含的至少一个层级成员;
所述装置,还包括:
空层成员增加单元,用于当层级成员与所述层级成员的上级成员之间出现跳层时,则在所述层级成员和所述上级成员之间增加空层成员。
结合本发明第二方面的第四种可能的实现方式,在本发明第二方面的第五种可能的实现方式中,在所述个性化维度树数据中存储有用户所属用户组的用户组标识;
所述装置,还包括:
共享单元,用于在所述用户组标识所对应的用户组内共享所述个性化维度表。
本发明实施例提供的一种数据仓库个性化维度表的创建方法和装置,根据已存储的标准维度表对其中的维度数据进行更改,生成个性化维度数据,并基于数据仓库中的元数据模型分别对标准维度表中的维度数据以及用户更改后的个性化维度数据进行加载,形成个性化维度表,进而在通过终端进行数据分析时,根据已存储的标准维度表生成可以满足用户自定义分析维度的个性化维度表,提高了终端形成数据仓库个性化分析维度的便捷度以及通过终端进行数据分析的自由度。
具体实施方式
下面结合附图对本发明实施例一种数据仓库个性化维度表的创建方法和装置进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在基于数据仓库进行数据分析的系统中,如图1所示,包括数据仓库和终端;在所述数据仓库中存储有作为分析对象的事实表以及作为预设的分析维度的维度表,该作为预设的分析维度的维度表也可以理解为是标准维度表;用户操作终端,通过事实表和标准维度表的关联,对数据仓库中的数据进行分析。其中,在建立数据仓库时,事实表和标准维度表通过工作人员建立和生成。
当用户需要对维度表中维度数据进行更改,以便于通过新的维度对所存储的数据进行分析时,本发明所公开的一种数据仓库个性化维度表的创建方法,如图2所示,包括:
S100、根据标准维度表的维度数据,在交互界面中显示标准维度表,该标准维度表为数据仓库中已存储的维度表。
在通过数据仓库进行分析时,其中会存储有由开发人员按照用户的需求,预先开发好的多张维度表,称之为标准维度表。举例来说,在已构建完成数据仓库中,可以存储维度种类为“时间维”、“区域维”、“客户维”、“产品维”、“部门维”和“项目维”等的维度表,通过这些维度表与事实表建立相互关联的关系,从而可以对数据仓库的事实表中的数据进行分析。
为了可以使用户通过标准维度表进行个性化维度表中的数据定义,预先设置一个交互界面,如图3所示,在该交互界面中,对所获取的标准维度表的维度数据进行解析,从而对标准维度表中的维度数据可视化的显示;用户通过在交互界面中选择需要进行调整的标准维度表,即以虚线标出的“区域维”的维度表为例进行描述;在选择一个标准维度表后,设置该标准维度表以树形结构进行展示,如图4所示,在树形结构中进行展开和收缩的操作可以使用户明确的得知维度表的层级结构、层级成员以及所属层级的层级数。从维度表的树形结构中可以看出,为每一个层级的层级成员都预留出了一些个性化属性,可以供用户在交互界面上进行个性化属性的自定义,在“区域维”中,分为依次设置有集团区域、片区和国家等层级,在每一个层级下设置有若干的层级成员。
需要说明的是,为了便于理解,上述内容中标准维度表的显示是通过树形结构完成的,也可以通过其他的显示方式进行显示,例如,可以为拓扑图,仅需用户可以根据所展现的内容明确地得知各个层级成员之间的上下级关系即可,在此不作限制。
S101、获取用户根据标准维度表所更改的个性化维度数据。
当标准维度表在交互界面中进行展示后,用户需要根据所显示的层级结构进行标准维度表的调整,以符合数据分析的需求。
用户可以通过交互界面对标准维度表中的维度数据进行更改,举例来说,当用户希望将“亚太地区”下层的“中国地区”提升到片区这一个层级上时,则在交互界面中通过预设的剪切按键(图中未示出)和粘贴按键(图中未示出)将“中国地区”这一层级成员设置于片区这一层级上,但是在进行操作时,在维度数据中记录“中国片区”的相关数据并未改变;另外,还可以在个性化维度属性中增加一个新的维度属性,以便于用户根据自己所需要的角度对事实表中的数据进行分析,例如可以增加一个发展程度的维度属性以及主体宗教情况的维度属性。用户更改完成后,在如图5所示的交互界面的个性化维度树结构中可以直观地显示,需要说明的是,图中只显示的部分属性值,但不代表只可以为每个层级成员设置两个属性值。
可以理解的是,除了通过上述剪切按键和粘贴按键所进行的操作之外,还可以设置多种操作按键以进行对应的操作,例如设置复制按键进行复制操作,设置插入按键进行新层级成员的插入操作,设置删除按键以进行不需要的层级成员的删除操作,设置重命名按键以进行层级成员的重命名操作等,根据实际的需要还可以设置有其他的按键以进行相对应的操作,在此不作限制。
当用户完成维度表的更改后,进行存储,这时根据用户对标准维度表所进行的更改,生成个性化维度数据,该个性化维度数据为用户针对标准维度表进行个性化时,基于标准维度表的维度数据所生成的。
需要解释的是,个性化维度表根据元数据模型建立,该元数据模型,包括:个性化维度树定义模块、与所述标准维度表相关联的关联定义模块、个性化维度层级定义模块、个性化维度层级成员定义模块和个性化维度属性定义模块等,在每一个模块中规定可以进行设置的数据;当用户在交互界面中对标准维度表的层级结构等进行更改时,通过元数据模型,可以由用户更改之后的、基于标准维度表的维度数据生成个性化维度数据。
通过个性化维度树定义模块所定义和生成的数据称之为个性化维度树数据,该个性化维度树数据包含个性化维度树标识、用户组标识、标准维度类型标识和个性化维度表的形成时间等数据,其中,个性化维度树标识(作为主键)用于标识一个个性化维度树。用户组标识用于标识用户所属的用户组,标准维度类型标识用于标识该个性化维度表。通过个性化维度树标识可以与其他个性化维度树以及标准维度表中的标准维度树进行区别。
通过个性化维度层级定义模块所定义和生成的数据称之为个性化维度层级数据,该个性化维度层级数据包含个性化层级标识(作为主键)。
通过个性化维度层级成员定义模块所定义和生成的数据称之为个性化层级成员数据,该个性化维度层级成员标识、个性化维度树标识、个性化维度层级标识和用于标识一个层级成员的上级成员的上级个性化维度层级成员标识,其中,个性化维度层级成员标识(作为主键)用于标识一个个性化维度层级成员。通过个性化层级成员数据中的个性化维度树标识和个性化维度树数据中的个性化维度树标识,建立个性化层级成员数据和个性化维度树数据的关联;通过个性化层级成员数据中的个性化层级标识和个性化维度层级数据中的个性化层级标识,建立个性化层级成员数据和个性化维度层级数据的关联。
通过关联定义模块所定义和生成的数据称之为关联数据,该关联数据中包含标准维度表自然主键和个性化维度层级成员标识。通过关联数据中的个性化维度层级成员标识和个性化维度层级成员数据中的个性化维度层级成员标识,建立关联数据和个性化维度层级成员数据的关联;通过标准维度表自然主键与标准维度表建立关联,进而通过关联可以调整维度表中层级成员之间的引用关系。该关联数据无需用户具体的进行设置,在用户进行个性化维度表建立的过程中,用户需要选择一个标准维度表作为模组,这样一来,便可以直接获知标准维度表和形成个性化维度表之间的关联关系。
通过个性化维度属性定义模块所定义和生成的数据称之为个性化维度属性数据,可以定义个性化维度属性,并且可以对每个层级成员的个性化维度属性的属性值进行设置,从而可以使用户根据自定义的角度对事实表中的数据进行分析。在个性化维度属性中,可以预留多个字段以供用户设置,例如可以预留十个字段,则说明在其中可以设置十个属性。
除上面所描述的,根据元数据模型还可以设置其他的数据,例如个性化层级成员的名称、个性化维度树的名称、个性化层级的名称、个性化维度的层级数等,用户也可以对这些维度数据进行更改,从而形成新的个性化维度数据,从图3所示的标准维度表中,可以看到标准维度表还包括存储于个性化维度树数据中的终端标识、形成时间和维度表名称等数据,该终端标识可以用于标识制作该维度表的用户名称,该维度表名称用于与其他个性化维度表或标准维度表进行区别,该形成时间用于标识一个维度表的新旧程度等,因此,在元数据模型中所定义的数据可以根据实际的需要进行设置,以实现用户根据该元数据模型进行个性化维度数据的调整。
S102、基于所述数据仓库中已存储的元数据模型对个性化维度数据和标准维度表的维度数据进行加载,形成个性化维度表。
当获取个性化维度数据后,则需要根据该个性化维度数据和标准维度表生成一个用户自定义的个性化维度表。在个性化维度表的个性化数据一部分是从标准维度表中的维度数据继承过来的,一部分是用户针对自己的需要进行修改的。
因此,在形成个性化维度表的过程中,如图6所示,具体执行以下几小步:
S1021、根据标准维度表和个性化维度树数据生成临时维度表。
生成临时维度表,该临时维度表是以数据仓库中已存储的标准维度表为基础而形成的,结构与标准维度表的结构相类似;在标准维度表的基础上,可以在临时维度表中预先留出了一定数量的个性化维度属性、个性化维度层级成员标识和与该性化维度层级成员标识相对应的个性化维度层级成员名称,如图7所示,其中,预留的个性化维度属性、个性化维度层级成员标识和个性化维度层级成员名称的数量可以根据用户的实际需要进行设置,在此不作限制。
S1022、将关联数据加载到临时维度表,建立标准维度表和临时维度表的关联关系。
根据标准维度表和临时维度表之间的关联数据,可以使临时维度表明确其所引用的标准维度表,从而建立标准维度表与临时维度表之间的关联关系。
S1023、根据关联关系,将在标准维度表中获取的公共属性加载到临时维度表。
根据标准维度表和临时维度表之间的关联关系,获取标准维度表中的维度数据,并将其中的不会改变的数据加载到临时维度表中,例如一个维度表的公共属性和自然键等。公共属性包括用户标识、用户编码等,在此对于公共属性不逐一地举例说明。
S1024、将个性化维度层级成员数据和个性化维度层级数据逐层加载到临时维度表。
根据个性化维度层级数据中的层级数,从层级数最大的层级开始,将个性化维度层级成员数据中的层级成员加载临时维度表中,其中包括层级成员的名称,层级成员的描述、层级成员的层级数和上下层级之间的关系,主键和外键的关系以及个性化层级的名称等。
需要说明的是,此处仅举出了部分个性化维度层级成员数据和个性化维度层级数据,因为个性化维度层级成员数据和个性化维度层级数据中所包含的内容可以由根据用户的需求进行设置,所以需要加载的数据也会随着用户的需求的不同而有所变化,在此不作具体的限制。
在此过程中,因为为个性化维度数据,所以在加载个性化维度层级成员数据和个性化维度层级数据时,需要根据用户更改后的层级结构以及层级成员进行。
当一个层级的个性化维度层级成员数据和个性化维度层级数据加载完成后,则在该层级的上一层级中进行加载,以这样的方式逐层进行加载,直到将层级数最小的层级中所需要的个性化维度层级成员数据和个性化维度层级数据加载完成。
需要解释的是,进行个性化维度层级成员数据和个性化维度层级数据的过程中,可以从最下层逐层向上进行加载,也可以从最上层逐层向下进行加载,在此不作限制。
S1025、将个性化维度属性数据加载到临时维度表,形成个性化维度表。
在临时维度表中的层级结构建立完成后,针对临时维度表中的每一个层级成员,加载层级成员的个性化维度属性的属性值,并将个性化维度属性加载到临时维度表中,这时便完成了对于临时维度表的加载,个性化维度数据加载完成后的临时维度表即为如图8所示个性化维度表。此时,用户便可以在数据仓库中选择自定义的个性化维度表对事实表中的数据进行分析。
本发明实施例提供的一种数据仓库个性化维度表的创建方法,根据已存储的标准维度表对其中的维度数据进行更改,生成个性化维度数据,并基于数据仓库中的元数据模型分别对标准维度表中的维度数据以及用户更改后的个性化维度数据进行加载,形成个性化维度表,进而在通过终端进行数据分析时,根据已存储的标准维度表生成可以满足用户自定义分析维度的个性化维度表,提高了终端形成数据仓库个性化分析维度的便捷度以及通过终端进行数据分析的自由度。
在逐层的将个性化维度层级成员数据和个性化维度层级数据加载到临时维度表的过程中,因为由用户人为的设置个性化维度表的层级结构,这样的层级结构的改变则会在进行数据分析的时候出现层级数据出现偏差的问题,且为了解决该问题需要用户检查并修改已形成的个性化维度表,例如如图5所示的维度表中,用户将“中国地区”第二层级的层级成员修改到了第零层级的“集团区域”的下一层级,此时,虽然“集团区域”与“中国地区”的上下层级关系已经建立,但是“中国地区”的层级数未变,当用户生成个性化维度表后,需要以片区这一个层级对进行数据分析时,则“中国地区”这一层级的数据并不会单独显示在片区这一层级中。
为避免跳层问题给数据分析带来的不准确的问题,进一步的,在个性化维度层级数据中存储有至少两个层级;
在个性化维度层级成员数据中,与至少两个层级相对应,存储有在每个层级中所包含的至少一个层级成员;
在步骤S1024、将个性化维度层级成员数据和个性化维度层级数据从下至上逐层加载到临时维度表之前,如图9所示,还包括:
S1026、当层级成员与层级成员的上级成员之间出现跳层时,则在层级成员和上级成员之间增加空层成员。
在根据关联数据建立临时维度表和标准维度表之间的关联后,通过个性化维度层级成员数据中层级成员和上级个性化维度层级成员标识,确定各层级成员与各层级成员所属于的上级成员之间的关系,例如,如图5所示,可以确定“中国地区”与“集团区域”为上下层级关系。
根据个性化维度层级数据中各层级成员的层级数,可以确定“中国地区”为第二层级与“集团区域”为第零层级,这样一来,便可以确定在在“中国地区”和“集团区域”之间存在跳层的问题。
此时为了使用户所需要的数据分析能够准确地根据用户重新建立的层级结构进行,则需要在“中国地区”和“集团区域”之间增加一个空层成员,为了保证数据分析时可以在显示该空层成员,首先需要将该空层成员的非键属性的属性值与该空层成员的同级的层级成员保持一致,例如当“中国地区”属于第一层级时,则需要将层级名称这一属性的属性值与第一层级的层级成员的层级名称进行统一,即统一为“片区”;其次,该空层成员的个性化维度层级成员标识要与用户更改了的层级关系的个性化维度层级成员标识一致,即与“中国地区”这一层级成员的个性化维度层级成员标识保持一致,这样一来,也便可以在加载个性化维度层级成员数据的过程中,对层级成员的名称等数据进行加载。
当无法再检测到个性化维度表中存在跳层的情况时,则继续执行步骤S1024以从下至上逐层的进行个性化维度层级成员数据和个性化维度层级数据的加载到个性化维度表中。
通过上述方式,便可以避免用户在设置个性化维度表过程中所可能出现的跳层的问题。
在标准维度表中,维度表各层级之间、事实表和维度表之间、维度表和关联的维度表之间应该具有稳定的结构,因为在用户制备个性化维度表的过程中,会改变标准维度表中稳定的层级结构和关联结构,这样一来,如果用户更改后的个性化维度数据存在结构不稳定的因素,则会造成形成的个性化维度表的数据分析错误或无法形成所需要的个性化维度表。
进一步的,需要设置一个预设的校验规则对个性化维度数据进行校验,在获取用户根据标准维度表所更改的个性化维度数据之后,如图8所示,还包括:
S103、根据预设的校验规则,对所更改的维度数据进行校验。
校验规则可以根据实际的需要进行设置,例如可以校验规则中设置校验主键和外键之间关联是否稳定、个性化维度树标识是否已经存在等。
需要说明的是,上面只是提出了校验规则的部分的校验内容,校验规则可以根据用户对于校验的实际需要进行设置,在此不作限制,只需要保证通过校验规则校验后的个性化维度数据可以正常地完成形成个性化维度表并进行准确的数据分析即可。
相对应的,步骤S102、基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表,如图10所示,具体为:
S102a、当所述个性化维度数据满足所述校验规则时,则基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
当个性化维度数据满足预先设置的校验规则时,则形成个性化维度表,形成的过程与步骤S102的执行过程相类似,在此不再赘述。
另外,在根据校验规则进行校验的过程中,还存在不满足校验规则的情况。
S102b、当个性化维度数据不满足校验规则时,记录错误内容并提醒。
当个性化维度数据不满足预先设置的校验规则时,则可以在数据仓库中记录一个错误日志,并提示用户校验未通过的,需要重新进行个性化维度数据的更改。
通过根据用户的需要所设置的校验规则,可以对用户更改而形成的个性化维度表层级结构的稳定性以及数据分析的准确性进行检验。
为了对用户所生成的每一个个性化维度表进行单独地标记,以便于用户查找到所需要的个性化维度表,该个性化维度树数据中存储有用户所属用户组的用户组标识;
在基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表之后,如图11所示,还包括:
S104、在用户组标识所对应的用户组内共享个性化维度表。
每一个维度表都存在形成记录,在该形成记录中包含维度表的用户组标识。用户组标识根据制作该维度表的用户所属用户组的用户组标识进行记录,例如属于公共组的用户1制作了一张个性化维度表,则在形成该个性化维度表后,公共组的成员便可以在组内查询到该个性化维度表。
需要说明的是,除用户组标识之外,形成记录中还可以存储有形成时间、维度表名称、维度表类型和维度表种类;维度表名称可以根据用户的需求进行设置,用以用户对维度表进行识别;维度表类型用以对维度表进行分类,例如该维度表可以是由开发人员所开发、预先存储于数据仓库中的标准维度表,由用户进行修改而生成的个性化维度表等,但根据实际的需要也可以设置成其他的维度表类型,在此不作限制;维度表种类,用以标识该维度表所适用的范围,例如“时间维”、“区域维”、“客户维”、“产品维”、“部门维”和“项目维”等,因为维度表所适用的范围可以根据用户的实际需要进行调整,所以不限于上述的维度表种类;形成时间,则用以记录个性化维度表何时形成。此外,除了上述数据记录于形成记录中之外,在形成记录中还可以存储其他的数据,所以上述的形成记录中所存储的数据,不构成对于形成记录的限定。
当生成该形成记录后,根据该形成记录中所记载的用户组标识确定一个用户组,用户所形成的个性化维度表可以在该用户组内对其他成员进行共享,这样一来,用户组内的其他用户便可以对该个性化维度表进行审核,并可以基于该个性化维度表进一步的进行调整,以避免在用户组内需要同样的个性化维度表的用户重复的进行制作。
另外,在个性化维度表形成后,还可以对该个性化维度表中个性化维度数据进行备份,以避免数据仓库出现损坏时,用户所制作的个性化维度表也丢失,从而避免了在数据仓库出现损坏时用户需要重复进行制作过程,进一步提高了用户调整分析维度的便捷度。
为了本领域技术人员更好地理解本发明实施例提供的数据仓库个性化维度表的创建方法的技术方案,下面通过具体的实施例对本发明提供的数据仓库个性化维度表的创建方法进行详细说明。
本实施例以个人电脑(Personal Computer,以下简称PC)为例,本实施例的数据仓库个性化维度表的创建方法,如图12所示,包括:
S1、用户在PC上选择需要进行更改的标准维度表,PC获取该标准维度表的维度数据,并在交互界面中显示标准维度表。
用户启动PC,启动数据仓库的相关软件,PC对已存储的标准维度表进行获取,并在PC上以一个交互界面的形式进行显示,如图13所示,其中,可分为至少分为国家、省和市这三级。用户通过PC上的鼠标选择维度表名称为“第一区域”的标准维度表。PC获取该标准维度表的维度数据,并以树形结构对标准维度表的层级关系进行显示,如图14所示。
S2、用户在交互界面中对标准维度表进行更改,PC获取用户所更改的个性化维度数据。
用户通过鼠标和键盘这些输入设备,在PC所显示交互界面上对个性化维度属性以及其属性值进行设置,增加“地区划分”和“港口”两个属性,并针对层级成员填入属性值,另外,通过增加按键在“市”这一层级中增加“香港”这一层级成员,并设置其级别为第二层级,更改后的层级结构如图15所示。
根据用户所进行的更改,PC生成个性化维度数据。
S3、PC判断个性化维度数据是否满足预设的校验规则。
用户根据校验规则对个性化维度数据进行校验,在本实施例中,则新增加了的层级成员“香港”,此时,需要确定在事实表中存在与其相对应的事实数据以及层级成员标识,如果在事实表中记录有相关的数据,则满足校验规则,如果事实表中不存在相关的数据,则不满足校验规则。
如果不满足校验规则,则执行步骤S30;如果满足校验规则,则执行步骤S4。
S30、PC记录错误内容并在交互界面中对用户进行提醒。
当不满足校验规则时,则需要记录在什么地方出现问题,并在交互界面中显示该问题对用户进行提醒。
S4、PC根据个性化维度数据和标准维度表,形成个性化维度表。
在个性化维度数据满足了校验规则后,PC需要根据个性化维度数据对标准维度表进行转换,以形成个性化维度表。
PC在形成个性化维度表的过程中,执行以下几小步:
S40、PC根据标准维度表和个性化维度树数据生成临时维度表。
PC根据个性化维度数据确定一个标准维度表,并以该标准维度表为模板建立一个临时维度表,以向该临时维度表中加载个性化维度数据,该临时维度表的模型如图7所示。
S41、PC将关联数据加载到临时维度表,建立标准维度表和临时维度表的关联关系。
通过个性化维度数据中的关联数据,建立临时维度表和标准维度表的关联关系。
S42、PC根据关联关系,将在标准维度表中获取的公共属性加载到临时维度表。
通过已经建立的关联关系,将作为公共属性的用户标识、用户编码等数据加载到临时维度表中。
S43、PC根据个性化维度层级数据和个性化维度层级成员数据,判断层级成员与该层级成员的上级成员之间是否出现跳层。
如果出现跳层则执行步骤S44,对跳层的情况进行调整;如果未出现跳层则直接执行步骤S45。
在判断跳层时,需要根据个性化维度层级数据中各层级成员的层级数以及个性化维度层级成员数据中各层级成员的层级进行,例如“香港”的上一层级为“中国”,PC可以确定“香港”的层级数为第二层级,“中国”的层级数为第零层级。这样一来,便可以确定在“市”这一层级和“国家”这一层级之间缺少了“省”这一层级的层级成员。
S44、PC在层级成员和上级成员之间增加空层成员。
当确定在个性化维度数据中存在跳层的问题时,则需要在“香港”和“国家”这两个层级之间增加一个“省”这一层级的空层成员,并且该空层成员的个性化维度层级成员标识与“香港”的个性化维度层级成员标识相同,即可以同样的引用事实表中“香港”的个性化维度层级成员标识所对应的事实数据以进行分析,另外,该空层成员的作为非键属性的描述与“省”这一层级的作为非键属性的描述保持一致。
如果在个性化维度数据中还存在其他的跳层,则循环的执行这一步,当确定个性化维度数据中不存在跳层的情况后,则执行步骤S45。
S45、PC将个性化维度层级成员数据和个性化维度层级数据从下至上逐层加载到临时维度表。
当通过补充空层成员避免跳层情况的出现后,从下至上逐层地对每个层级的每个层级成员的数据加载到临时维度表,在临时维度表中形成个性化维度的层级结构。
S46、PC将个性化维度属性数据加载到临时维度表,形成个性化维度表。
在临时维度表中形成个性化维度的层级结构后,针对每一个成员将个性化维度属性逐个的加载到临时维度表中,从而形成了个性化维度表。
S5、PC在用户组中共享个性化维度表。
在个性化维度表形成后,根据个性化维度树数据中的用户组标识,可以确定制作个性化维度表的用户所属于的用户组,并且在该用户组中共享该个性化维度表,这样一来,便可以使用户组中的其他成员对该个性化维度表进行审查,也可以使用户组中的其他成员使用该个性化维度表。
S6、PC对个性化维度数据进行备份。
另外,在个性化维度表形成后,还可以对形成该个性化维度表的维度数据进行备份,从而避免了当数据仓库的个性化维度表相关的数据丢失时,需要用户重新的进行个性化维度表的制作等问题。
与上述一种数据仓库个性化维度表的创建方法相对应,本发明还公开了一种数据仓库个性化维度表的创建装置100,如图16所示,包括:
交互显示单元101,用于根据标准维度表的维度数据,在交互界面中显示所述标准维度表,所述标准维度表为数据仓库中已存储的维度表;
获取单元102,用于获取用户根据所述标准维度表所更改的个性化维度数据;
形成单元103,用于基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
可选的,所述装置100,还包括:
校验单元104,用于根据预设的校验规则,对所述个性化维度数据进行校验;
所述形成单元103,具体用于当所述个性化维度数据满足所述校验规则时,则基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
具体的,所述元数据模型,包括:个性化维度树定义模块、个性化维度层级定义模块、个性化维度层级成员定义模块、关联定义模块、个性化维度属性定义模块;
所述个性化维度数据,包括:个性化维度树数据、与所述标准维度表相关联的关联数据、个性化维度层级数据、个性化维度层级成员数据和个性化维度属性数据;
所述个性化维度数据基于所述元数据模型生成;
所述个性化维度树数据基于所述个性化维度树定义模块生成,所述关联数据基于所述关联定义模块生成,所述个性化维度层级数据基于所述个性化维度层级定义模块生成,所述个性化维度层级成员数据基于所述个性化维度层级成员定义模块生成,所述个性化维度属性数据基于所述个性化维度属性定义模块生成。
进一步的,所述形成单元103,包括:
临时表生成模块1030,用于根据所述标准维度表和所述个性化维度树数据生成临时维度表;
关联模块1031,用于将所述关联数据加载到所述临时维度表,建立所述标准维度表和所述临时维度表的关联关系;
公共属性加载模块1032,用于根据所述关联关系,将在所述标准维度表中获取的公共属性加载到所述临时维度表;
层级加载模块1033,用于将所述个性化维度层级成员数据和所述个性化维度层级数据逐层加载到所述临时维度表;
个性化形成模块1034,用于将所述个性化维度属性数据加载到所述临时维度表,形成所述个性化维度表。
进一步的,在所述个性化维度层级数据中存储有至少两个层级;
在所述个性化维度层级成员数据中,与所述至少两个层级相对应,存储有在每个所述层级中所包含的至少一个层级成员;
所述装置100,还包括:
空层成员增加单元105,用于当层级成员与所述层级成员的上级成员之间出现跳层时,则在所述层级成员和所述上级成员之间增加空层成员。
可选的,在所述个性化维度树数据中存储有用户所属用户组的用户组标识;
所述装置100,还包括:
共享单元106,用于在所述用户组标识所对应的用户组内共享所述个性化维度表。
本发明实施例提供的一种数据仓库个性化维度表的创建装置,根据已存储的标准维度表对其中的维度数据进行更改,生成个性化维度数据,并基于数据仓库中的元数据模型分别对标准维度表中的维度数据以及用户更改后的个性化维度数据进行加载,形成个性化维度表,进而在通过终端进行数据分析时,根据已存储的标准维度表生成可以满足用户自定义分析维度的个性化维度表,提高了终端形成数据仓库个性化分析维度的便捷度以及通过终端进行数据分析的自由度。
图17示出了本发明上述的终端200的结构,通过该终端200的结构可以用于实施本发明实施例中所描述的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明的方法实施例
该终端可以为包括PC、手机、平板电脑、PDA、销售终端(Point of Sales,以下简称POS)、车载电脑等终端设备,图17示出的是与本发明实施例提供的终端200的部分结构的框图。终端200,包括输入设备210、存储器220、显示设备230、处理器240、通信模块250、电源260以及物理信息标识270等部件。本领域技术人员可以理解,图17中示出的结构并不构成对终端200的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图18对PC300的各个构成部件进行具体介绍:
输入设备310可用于接收输入的指令,以及产生与PC300的用户设置以及功能控制有关的键信号输入。输入设备310可包括触控面板311以及其他输入设备312。触控面板311,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板311上或在触控面板311附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板,311可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器340,并能接收处理器340发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板311。除了触控面板311,输入设备310还可以包括其他输入设备312。具体地,其他输入设备312可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
存储器320可用于存储软件程序以及模块,处理器340通过运行存储在存储器320的软件程序以及模块,从而执行PC300的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区;存储数据区可存储根据PC300的使用所创建的数据(比如图片文件、文档、音频数据、电话本等)等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
显示设备330可用于显示由用户输入的信息或提供给用户的信息以及PC300的各种菜单。显示设备330,可以采用液晶显示器(Liquid Crystal Display,以下简称LCD),有机发光二极管(Organic Light-Emitting Diode,以下简称OLED)等形式来配置。进一步的,触控面板311可覆盖显示面板331,当触控面板311检测到在其上或附近的触摸操作后,传送给处理器340以确定触摸事件的类型,随后处理器340根据触摸事件的类型在显示面板311上提供相应的视觉输出。虽然在图18中,触控面板311与显示面板331是作为两个独立的部件来实现PC300的输入和输出功能,但是在某些实施例中,可以将触控面板311与显示面板331集成而实现PC300的输入和输出功能。
处理器340是PC300的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行PC300的各种功能和处理数据,从而对PC300进行整体监控。可选的,处理器340可包括一个或多个处理单元;优选的,处理器340可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器340中。
PC300还包括与其他终端进行通信的通信模块350,该通信模块350可以为蓝牙模块、WiFi模块等。通过该通信模块350,PC300可以将所获取的信息发送给其他终端、也可从其他终端获取信息。
PC300还包括给各个部件供电的电源360(比如电池),优选的,电源可以通过电源管理系统与处理器340逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,PC300还可以包括摄像头、蓝牙模块等,在此不再赘述。
本发明实施例中,如图18所示,该PC300所包括的存储器320、显示设备330和处理器340,还具有以下功能:
输入设备310,用于获取用户在交互界面上所进行的点击操作,以及更改形成个性化维度数据时所进行的内容输入。
存储器320,用于存储标准维度表、标准维度表的维度数据、元数据模型、用户根据标准维度表进行更改并基于元数据模型而形成的个性化维度数据。所述元数据模型,包括:个性化维度树定义模块、个性化维度层级定义模块、个性化维度层级成员定义模块、关联定义模块、个性化维度属性定义模块;该个性化维度数据中包括个性化维度树数据、与所述标准维度表相关联的关联数据、个性化维度层级数据、个性化维度层级成员数据和个性化维度属性数据;
所述个性化维度数据基于所述元数据模型生成;
所述个性化维度树数据基于所述个性化维度树定义模块生成,所述关联数据基于所述关联定义模块生成,所述个性化维度层级数据基于所述个性化维度层级定义模块生成,所述个性化维度层级成员数据基于所述个性化维度层级成员定义模块生成,所述个性化维度属性数据基于所述个性化维度属性定义模块生成。
显示设备330,用于显示交互界面,并在交互界面中展现标准维度表、个性化维度表。
处理器340,用于根据标准维度表的维度数据,在交互界面中显示所述标准维度表,所述标准维度表为数据仓库中已存储的维度表;获取用户根据所述标准维度表所更改的个性化维度数据;基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
在本发明实施例中,为了判断用户更改而形成的个性化维度数据的准确性,在处理器340执行获取用户根据标准维度表所更改的个性化维度数据的过程之后,还用于根据预设的校验规则,对所述个性化维度数据进行校验;
处理器340执行基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表的过程中,具体用于当所述个性化维度数据满足所述校验规则时,则基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表。
在本发明实施例中,处理器340在执行基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表的过程中,还用于根据所述标准维度表和所述个性化维度树数据生成临时维度表;将所述关联数据加载到所述临时维度表,建立所述标准维度表和所述临时维度表的关联关系;根据所述关联关系,将在所述标准维度表中获取的公共属性加载到所述临时维度表;将所述个性化维度层级成员数据和所述个性化维度层级数据逐层加载到所述临时维度表;将所述个性化维度属性数据加载到所述临时维度表,形成所述个性化维度表。
在本发明实施例中,在所述个性化维度层级数据中存储有至少两个层级;
在所述个性化维度层级成员数据中,与所述至少两个层级相对应,存储有在每个所述层级中所包含的至少一个层级成员;
在处理器340执行将所述个性化维度层级成员数据和所述个性化维度层级数据加载逐层加载到临时维度的过程之前,还用于当层级成员与所述层级成员的上级成员之间出现跳层时,则在所述层级成员和所述上级成员之间增加空层成员。
在本发明实施例中,在所述个性化维度树数据中存储有用户所属用户组的用户组标识;
处理器340在执行所述基于所述数据仓库中已存储的元数据模型对所述个性化维度数据和所述标准维度表的维度数据进行加载,形成个性化维度表的过程之后,还用于在所述用户组标识所对应的用户组内共享所述个性化维度表。
本发明实施例提供的一种终端,根据已存储的标准维度表对其中的维度数据进行更改,生成个性化维度数据,并基于数据仓库中的元数据模型分别对标准维度表中的维度数据以及用户更改后的个性化维度数据进行加载,形成个性化维度表,进而在通过终端进行数据分析时,根据已存储的标准维度表生成可以满足用户自定义分析维度的个性化维度表,提高了终端形成数据仓库个性化分析维度的便捷度以及通过终端进行数据分析的自由度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。