1.本说明书中实施方式关于计算机数据处理领域,具体涉及一种商业智能系统的构建方法、装置、设备和存储介质。
背景技术:2.商业智能,又称商务智能,英文为business intelligence,简写为bi。商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。所述的数据包括来自企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据以及来自企业所处的其他外部环境中的各种数据。商业智能bi系统一般由数据仓库(datawarehouse,dw)、联机分析处理(on-line analytical processing,olap,也称为多维分析)、用户查询和报表(query & reports)等部分组成。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(extraction)、转换(transformation)和装载(load),即etl过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、olap工具等对其进行分析和处理,这时信息变为辅助决策的知识,最后将知识呈现给管理者,为管理者的决策过程提供支持。
3.目前,传统基于数据仓库路线的商业智能系统的构建要先使用etl工具从业务数据库中抽取业务数据至贴源层,然后接着构建相应的主题模型。在构建完成主题模型之后,形成数据仓库,再基于数据仓库开发报表工具,最终构建完成商业智能系统。
4.基于全部业务数据来构建商业智能系统,在一定程度上会使得商业智能系统包含部分用户需求度相对不高的数据,从而造成商业智能系统和用户的契合度不高的技术问题。
技术实现要素:5.本说明书中多个实施方式提供一种商业智能系统的构建方法、装置、设备和存储介质,以在一定程度上提高商业智能系统与用户需求的契合度。
6.本说明书的一个实施方式提供一种商业智能系统的构建方法,包括:获取包括多个报表项的业务需求报表,以及所述报表项的属性数据;基于所述报表项以及所述报表项的属性数据,生成包括具有关联关系的事实表和维度表的初始主题模型;在业务数据库中抽取对应所述事实表和所述维度表的业务数据,以将所述业务数据同步至所述初始主题模型中,以形成所述商业智能系统。
7.本说明书的一个实施方式提供一种商业智能系统的构建装置,包括:报表获取模块,用于获取包括多个报表项的业务需求报表,以及所述报表项的属性数据;模型生成模块,用于基于所述报表项以及所述报表项的属性数据,生成包括具有关联关系的事实表和维度表的初始主题模型;数据抽取模块,用于在业务数据库中抽取对应所述事实表和所述维度表的业务数据,以将所述业务数据同步至所述初始主题模型中,形成所述商业智能系
统。
8.本说明书提供的多个实施方式,通过业务需求表报的报表项以确定初始主题模型,并基于初始主题模型抽取业务数据形成所述商业智能系统,可以在一定程度上提高商业智能系统与用户需求的契合度。
附图说明
9.图1为本说明书的一个实施方式提供的商业智能系统构建系统的架构示意图。
10.图2为本说明书的一个实施方式提供的商业智能系统构建方法的示意图。
11.图3为本说明书的一个实施方式提供的报表项的配置文件的界面的示意图。
12.图4a为本说明书的一个实施方式提供的事实表的配置文件的界面的示意图。
13.图4b为本说明书的一个实施方式提供的维度表的配置文件的界面的示意图。
14.图5为本说明书的一个实施方式提供的事实表和维度表的关联关系的配置文件的界面的示意图。
15.图6为本说明书的一个实施方式提供的商业智能系统的构建方法的流程的示意图。
16.图7为本说明书的一个实施方式提供的商业智能系统的构建装置的示意图。
17.图8为本说明书的一个实施方式提供的计算机设备的示意图。
具体实施方式
18.概述在相关技术中,商业智能系统需要在将业务数据抽取值贴源层后才会进行主题模型的构建。在构建完成主题模型后,才会进一步开发报表工具。在开发完成报表工具后才能够构成完成商业智能系统。然而,从业务数据库中抽取业务数据的过程和开发报表工具的过程往往需要花费较多的时间,这会导致整个商业智能系统的构建流程需要较长时间。
19.因此,有必要提供一种商业智能系统的构建方法,可以通过业务报表生成初始主题模型,并依照初始主题模型抽取相应的业务数据,并且同时进行业务报表开发以实现解决构建商业智能系统需要花费较长时间的技术问题。
20.场景示例请参阅图1和图2,本说明书中提供一种商业智能系统的构建方法的应用场景示例。
21.用户可以依照业务需求,收集符合需求的业务需求报表,并上传至商业智能系统的构建系统之中。具体的,所述业务需求报表可以是能展示销售数据的报表。商业智能系统的构建系统可以提取出所述业务需求报表的报表项。依照所述报表项的名称,商业智能系统的构建系统可以生成报表项的属性数据的配置文件,并提供用户报表项配置页面。用户可以在报表项配置界面中下载所述属性数据的配置文件。接着,在配置文件中,根据每一个报表项对应多个属性,依次确定报表项属性的取值。
22.请参阅图3,用户可以通过配置控件配置每个报表项业务属性、报表项类别、是否入库以及备注等信息。接着,商业智能系统的构建系统可以根据报表项属性对报表项进行筛选,提取出用于形成事实表和用于形成维度表的报表项。
23.接着,针对形成事实表的报表项,商业智能系统的构建系统可以提供给用户事实表的配置文件。请参阅图4a,事实表的配置文件的配置界面中,商业智能系统的构建系统可以自动生成部分信息,形成所述配置文件。用户可以在其生成的配置界面的基础上做一定的修改。相应的,针对用于形成维度表的报表项,商业智能系统的构建系统可以提供给用户维度表的配置文件,维度表的配置文件的配置界面可以参阅图4b。
24.商业智能系统的构建系统在确定完成事实表和维度表后,可以生成事实表和维度表之间的关联关系的配置文件,以用于确定所述事实表和所述维度表之间的关联关系。具体的,所述关联关系的配置文件的界面请参阅图5。其中,每一列可以对应维度表的信息,每一行可以对应事实表的信息。用户可以通过将维度表主键与事实表主键相应的表格中输入标识“√”,表明所述事实表和维度表之间具有关联关系,可以完成所述关联关系的配置文件的配置。商业智能系统的构建系统在接收到关联关系的配置文件的配置后,可以形成所述初始主题模型,并且可以通过随机算法生成一些虚拟数据。紧接着,商业智能系统的构建系统还可以通过etl工具从业务系统中抽取对应所述初始主题模型的事实表和维度表的业务数据同步至初始主题模型。在通过etl工具在业务数据库中抽取业务数据的过程期间,开发人员也能够通过初始主题模型的结构以及部分虚拟数据,开发报表应用,以缩短商业智能系统的构建的周期。具体的,开发人员可以基于初始主题模型的虚拟数据,利用合适的查询和分析工具、数据挖掘工具、olap工具等对其进行分析和处理,以用于给用户提供辅助决策的分析界面。
25.系统架构请参阅图1,本说明书实施方式提供一种商业智能系统的构建系统。所述商业智能系统的构建系统可以包括客户端和服务器。所述客户端可以用于接收用户的配置信息,以确定商业智能系统所包括的主题模型的事实表、维度表以及事实表和维度表之间的关联关系。所述服务器可以用于创建所述商业智能系统。在一些实施方式中,所述商业智能系统的构建系统还可以包括多个部署有业务数据库的服务器。在所述业务数据库中可以抽取业务数据同步至所述主题模型。
26.所述客户端可以是具有网络访问能力的电子设备。具体的,例如,客户端可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
27.示例的方法请参阅图6,本说明书的一个实施方式提供一种商业智能系统的构建方法。所述商业智能系统的构建方法可以应用于服务器。所述商业智能系统的构建方法可以包括以下步骤。
28.步骤s110:获取包括多个报表项的业务需求报表,以及所述报表项的属性数据。
29.在一些情况下,通过从业务数据库抽取到贴源层的业务数据构建商业智能系统,需要等到将业务数据全部抽取到贴源层后才可以进行构建。这使得商业智能系统的构建过程需要花费较长的时间。另外,对于部分用户,并不需要针对业务数据库中全部数据进行分析。因此,抽取全部的业务数据至贴源层,并在此基础上构建主题模型可能会增加商业智能系统的构建时长。因此,可以通过获取业务需求报表,来构建初始主题模型,以进一步构建商业智能系统。并且,通过业务需求报表的报表项来构建商业智能系统,也可以在一定程度上提高商业智能系统与用户需求的契合度。
30.在本实施方式中,所述业务需求报表可以表示符合用户的业务需求的需求报表。其中,所述业务需求报表可以包括多个报表项。所述报表项可以用于示意业务数据。具体的,例如,所述业务需求报表可以是通过excel表格创建。excel表格中的每个记录有业务数据的字段可以作为所述报表项。当然,所述业务需求报表也可以是数据库中存储的业务报表,数据库中存储有所述业务报表对应的业务数据的字段可以作为所述业务报表的报表项。
31.具体的,例如,所述业务需求报表可以是一个销售记录表。其中,销售记录表可以包括业务员姓名、销售额、销售量以及同比增长量等信息。其中,业务员姓名、销售额、销售量以及同比增长量均可以作为所述报表项。
32.在本实施方式中,所述报表项可以具有对应的表示所述报表项的属性的属性数据。所述报表项的属性数据可以用于表示至少一个报表项。所述报表项的属性可以用于确定能构成初始主题模型的报表项。具体的,所述报表项的属性可以包括并且不限于报表项的名称、业务属性、报表项类别、是否入库、备注等。其中,报表项对应的业务属性可以是根据业务需求设定的。所述字段类别可以用于表示所述报表项记录的数据是指标数据或者维度数据。是否入库可以表示是否可以用于构建初始主题模型。
33.所述报表项的属性数据可以根据用户配置得到。在一些实施方式中,所述属性数据也可以是服务器通过分析报表项的生成的。具体的,通过自然语言处理技术可以通过分析报表项的名称来确定报表项所属于的事实表或者维度表。具体的,例如,对于名称为“销售额”、“销售量”的报表项,通过词向量、命名实体识别等技术可以判断名称之间的相似性,以确定报表项是否属于一个事实表或者维度表。当然,也可以根据在预配置的字典中搜索来确定报表项所属于的事实表以及维度表。
34.在一些实施方式中,通过分析业务需求报表中报表项记录的数据,可以判断报表项对应的字段属于事实表或者维度表。具体的,例如,对于名称为“销售额”的报表项,可以包括多个数值数据,所述数值数据之间可能均不同或者相同的个数较少,或者包含了较多小数,则可以推断该报表项对应的字段属于事实表。当然,也可以通过报表项名称进行统计分析。在一些实施方式中,通过分析对应事实表的报表项的数据之间的关系,可以确定记录原子指标的报表项,即通过该报表项的确定其他的记录非原子指标的报表项。具体的,例如,根据销售额和对应的日期可以计算出销售额的同比增长量。对于一些报表项取值为有限个数的字符串数据的情况下,可以推断所述报表项对应的字段为属于维度表。
35.在本实施方式中,获取包括多个报表项的业务需求报表的方法,可以是接收到用户提供的业务需求报表,并将其导入商业智能系统的构建系统。具体的,可以提供一个业务
需求报表的获取页面。所述获取页面中包括一个用于上传业务需求报表的控件。在所述控件被触发的情况下,可以导入业务需求报表。商业智能系统的构建系统可以识别所述业务需求报表的报表项以及确定所述报表项的属性数据。当然,所述获取包括多个报表项的业务需求报表的方法,也可以是提供给用户业务需求报表的配置界面,用户可以在所述页面中配置业务需求报表。其中,用户配置的业务需求报表可以不包括具体的对应报表项的数据。
36.步骤s120:基于所述报表项以及所述报表项的属性数据,生成包括具有关联关系的事实表和维度表的初始主题模型。
37.在一些情况下,根据所述报表项的属性数据,可以生成初始主题模型。在此基础上,可以在业务数据库中抽取相应的业务数据同步至所述初始主题模型中,以生成目标主题模型,以最终构建完成商业智能系统。
38.在本实施方式中,所述事实表可以包括用于记录表示业务事件的数据的报表项所形成的指标字段;所述维度表包括用于描述所述事实表所记录的数据的特性的报表项所形成的维度字段。所述事实表可以是数据仓库结构中的中央表,具有联系事实与维度表的度量值和键。维度表是维度属性的集合,可以表示数据特定维度的信息。
39.在一些实施方式中,所述报表项的属性数据可以包括报表项与报表项之间的关联关系。其中,所述关联关系可以包括多个报表项同属于一个事实表或者多个报表项同属于一个维度表。当然,所述关联关系也可以包括多个同属于一个事实表的报表项与相应的同属于一个维度表的报表项之间的关联关系。
40.具体的,例如,表示销售额和表示销售量的报表项可以同属于一个事实表。表示公司名称和公司地址的报表项也可以同属于一个维度表。另外,根据表示销售额和销售量的报表项形成的事实表可以与表示公司名称和公司地址形成的维度表之间可以具有关联关系。相应的,在初始主题模型中,表示公司名称和公司地址形成的维度表可以命名为公司维度表。公司维度表中可以包括公司维度主键。表示销售额和销售量的报表项形成的事实表可以命名为销售事实表。销售事实表中,可以包括销售事实主键。所述销售事实主键和公司维度主键之间可以具有关联关系。例如,所述关联关系可以是外键关系。
41.所述初始主题模型可以包括多个维度表和多个事实表。所述多个维度表和所述多个事实表之间可以具有关联关系。所述初始主题模型的结构可以有多种结构。具体的,可以包括星型模型、雪花模型和星座模型等。具体的,所述初始主题模型可以只包括事实表和维度表的字段标识,可以不包括相应的业务数据。当然,在一些情况下,所述初始主题模型也可以包括部分数据。其中,所述数据可以是业务报表所包含的数据。当然,所述数据也可以是根据算法生成的虚拟数据。其中,所述虚拟数据可以没有实际意义。
42.通过根据业务需求报表构建初始主题模型后,可以对业务数据库进行业务数据抽取,并为业务需求报表提供支持,以在业务数据抽取的同时实现业务需求报表的开发,以在一定程度上减少了商业智能系统的构建的时长。
43.基于所述报表项以及所述报表项的属性数据,生成包括具有关联关系的事实表和维度表的初始主题模型的方法,可以是先基于所述报表项的属性数据,分别构建事实表和维度表。具体的,可以先对报表项进行筛选,得到能够记录原子指标的报表项。接着根据报表项之间的关联关系,生成多个事实表和维度表。其中,所述事实表可以包括多个指标字
段。所述指标字段可以与相应的报表项对应。所述维度表可以包括多个维度字段,所述维度字段对应有报表项。接着根据事实表和维度表之间的关联关系,可以将相互关联的事实表中的主键与维度表中的主键关联起来,以生成所述初始主题模型。
44.步骤s130:在业务数据库中抽取对应所述事实表和所述维度表的业务数据,以将所述业务数据同步至所述初始主题模型中,以形成所述商业智能系统。
45.在一些情况下,在构建完成初始主题模型后,可以依照初始主题模型所包括的字段,去业务数据库中提取相应的数据,以形成目标主题模型。另外,在抽取数据的过程中,也可以根据初始主题模型的结构开发相应的报表工具,以实现在同一个时间段内开发报表工具和抽取数据,节约了商业智能系统构建的时间。
46.所述业务数据库可以是记录有业务数据的数据库。其中,所述业务数据库可以是多个分布在不同服务器上的数据库。其中,所述数据库的类型可以不同。具体的,例如,数据库可以是oracle、mysql等关系型数据库,也可以是mongodb等非关系数据库。另外,不同数据库中数据存储标准可以不同。
47.在业务数据库中抽取对应所述事实表和所述维度表的业务数据的方法,可以是先通过etl数据抽取工具将数据抽取至商业智能系统之中。具体的,etl数据抽取工具可以将业务系统的数据经过抽取、清洗转换后加载到商业智能系统所包括的贴源层中。接着,可以依照初始主题模型所包括的事实表和维度表具有的字段,将业务数据从贴源层中提取至初始主题模型,得到主题模型。具体的,将事实表和维度表的数据抽取完成后,可以构建完成商业智能系统的主题模型层。在一些实施方式中,在数据抽取的时间段内,开发人员可以完成业务报表工具的开发,可以将所述报表工具接入主题模型,可以形成所述商业智能系统,在一定程度上可以减小商业智能系统的构建时间,以提供构建效率。
48.在一些实施方式中,获取包括多个报表项的业务需求报表,以及所述报表项的属性数据的步骤,包括:接收包括多个报表项的所述业务需求报表;提供对应所述报表项的报表项配置页面;其中,所述报表项配置页面用于确定所述报表项的属性数据;接收所述报表项配置页面的配置信息,以确定所述报表项的属性数据。
49.在一些情况下,初始主题模型的确定对商业智能系统性能的影响较大。因此,初始主题模型的事实表、维度表以及其关联关系对商业智能系统的性能有着较大的影响。通过服务器自动生成事实表和维度表的过程中,也可能需要用户的确认信息以在一定程度上避免推断错误。因此,可以为用户提供所述报表项的报表项配置页面,以较为准确地确定报表项的属性数据。另外,本实施方式中,可以只需要用户配置报表项的至少部分属性数据而不必用户直接配置事实表和维度表,可以在一定程度上降低配置人员的技术门槛。
50.所述报表项配置页面可以用于提供给用户以确定报表项的属性数据。具体的,所述报表项配置页面可以是一个网页页面。所述网页页面中可以提供矩阵排列的多个控件。其中,每个控件可以用于配置一个报表项的一个属性。具体的,网页页面可以展示有一个表格。表格的每一列可以表示一个属性。每一行可以表示一个报表项。其中,每个表格单元中可以具有一个下拉选项控件用于配置报表项的属性。例如,报表项的属性可以是报表项类别。报表项的类别可以包括维度和指标。通过下拉选项控件,可以选择对应的报表项的类别。接收所述报表项配置页面的配置信息,可以是接收用户对所述网页的操作信息,以确定所述报表项的属性数据。
51.在一些实施方式中,所述报表项配置页面也可以包括下载控件和/或导入控件。具体的,所述下载控件可以为用户提供一个配置文件。所述配置文件可以是excel文件,也可以是word文件。相应的,接收所述报表项配置页面的配置信息,以确定所述报表项的属性数据的方法啊,可以是用户在配置文件中配置完成报表项的属性数据后,通过所述导入控件导入商业智能系统的构建系统之中,以确定报表项的属性数据。
52.在一些实施方式中,基于所述报表项以及所述报表项的属性数据,生成包括相关联的事实表和维度表的初始主题模型的步骤,包括:根据所述报表项的属性数据,确定至少一个事实表和用于生成所述事实表的报表项,以及至少一个维度表和用于生成所述维度表的报表项;提供用于配置所述事实表和所述维度表的关联关系的关系配置页面;接收所述关系配置页面的配置信息,得到所述事实表和所述维度表之间的关联关系,以形成所述初始主题模型。
53.在一些情况下,生成包括相关联的事实表和维度表的初始主题模型可以先确定事实表和维度表以及二者之间的关联关系,再构建所述初始主题模型。其中,确定事实表和维度表的关联关系的方法,可以通过用户的配置关系,以一定程度上避免服务器自动生成时所造成的初始主题模型的性能下降。
54.根据所述报表项的属性数据,确定至少一个事实表和用于生成所述事实表的报表项,以及至少一个维度表和用于生成所述维度表的报表项的方法,可以是根据属性数据中,表示报表项类别的属性,来确定报表项对应的类别。例如,可以将报表项类别为“指标”的报表项确定为用于生成事实表的报表项。另外,可以将报表项类别为“维度”的报表项确定为用于生成维度表的报表项。对于类别为“指标”的报表项,可以确定所述报表项所属于的事实表。具体的,可以根据属性数据中所配置的表示事实表的属性来确定事实表。当然,也可以根据所述报表项的多个属性,通过聚类方法等操作,将报表项划分为多组。其中,每一组的报表项可以属于同一个事实表。在此过程中,也可以对报表项进行筛选。例如,可以去除意义重复的报表项。去除数据可以通过其他报表项的数据计算得到的报表项。对于类别为“维度”的报表项,可以根据属性数据中所配置的表示维度表的属性来确定事实表。当然,也可以根据所述报表项的多个属性,分析出属于一个维度表的报表项以生成维度表。
55.在一些实施方式中,将报表项划分为属于事实表的报表项和属于维度表的报表项后,还可以为用户提供配置事实表和维度表的配置界面。例如,可以将配置报表项所属于的事实表或者维度表的名称。相应的,商业智能系统的构建系统可以根据对应同一个事实表或者维度表名称的报表项,生成相应的事实表或者维度表。
56.提供用于配置所述事实表和所述维度表的关联关系的关系配置页面的方法,可以是提供一个配置文件。所述配置文件可以是支持多种格式。例如,可以是woed或者excel等格式。具体的,所述配置文件可以提供一个配置表格。其中,表格的每一列可以对应一个维度表,表格的每一行可以对应一个事实表。用户可以在表格中输入相应的确认标识,如可以进行打钩。具有确定标识的表格所对应的事实表和维度表可以具有关联关系。当然,提供用于配置所述事实表和所述维度表的关联关系的关系配置页面的方法也可以是提供一个网页的配置页面,用户可以在所述配置页面上进行操作,商业智能系统的构建系统在接收到所述操作后,可以确定所述事实表和所述维度表之间的关联关系。具体的,网页页面中也可以提供一个表格,表格的每一列可以对应一个维度表,表格的每一行可以对应一个事实表,
通过接收用户的网页操作,以确定事实表和维度表的关联关系。
57.接收所述关系配置页面的配置信息,得到所述事实表和所述维度表之间的关联关系,以形成所述初始主题模型的方法,可以是接收所述配置信息后,商业智能系统的构建系统可以查找确定标识对应的事实表和维度表的标识,以确定具有关联关系的事实表和维度表。通过确定事实表和用于生成事实表报表项,可以构建事实表。其中,每个报表项可以对应事实表中的一个指标字段。另外,事实表中还可以构建有事实表主键。相应的,确定维度表和用于生成维度表的报表项后,可以构建维度表。其中,每个报表项可以对应维度表中的一个维度字段。维度表还可以包括有维度表主键。根据所述关系,可以将具有关联关系的事实表和维度表的主键进行关联,从而可以生成初始主题模型。
58.在一些实施方式中,基于所述报表项以及所述报表项的属性数据,生成包括相关联的事实表和维度表的初始主题模型的步骤,包括:在所述业务需求报表包括的报表项中确定用于记录原子指标数据的报表项,作为指标项;其中,所述原子指标数据能用于计算出所述报表项记录的非原子指标数据;基于所述指标项,确定至少一个包括指标字段的事实表;其中,所述指标字段根据所述指标项形成;依照所述事实表和所述报表项的属性数据,生成包括相关联的事实表和维度表的初始主题模型。
59.在一些情况下,业务需求报表所包括的记录有指标数据的报表项可能冗余。为了确保初始主题模型的性能,可以剔除一些不必要的报表项来生成事实表。
60.所述原子指标数据可以是报表项中,记录的能用于统计分析的基准数据。基于所述基准数据,可以计算出其他报表项所记录的数据。具体的,例如,销售额增长率可以通过不同时间的销售额数据计算得到。其中,销售额数据可以作为所述基准数据。通过销售额数据可以计算出销售额增长率。相应的,用于记录所述原子指标数据的报表项,可以作为指标项。在一些情况下,部分数据之间不经由其他数据参与可以相互转换,则可以将其中一个数据作为基准数据。例如,商品的尺寸分别通过两个报表项表示。其中一个报表项的单位是厘米,一个单位是米,则可以只保留其中一个。通过所述指标项可以确定事实表,并且根据事实表和维度表之间的关联关系,可以构建所述初始主题模型。
61.在所述业务需求报表包括的报表项中确定用于记录原子指标数据的报表项,作为指标项的方法,可以是基于报表项对应的属性数据确定。具体的,报表项的属性可以包括表示指标项的属性。依照所述属性数据,可以在报表项中筛选出指标项。进一步的,根据指标项可以确定事实表,从而生成初始主题模型。
62.在一些实施方式中,在所述业务需求报表包括的报表项中确定用于记录原子指标数据的报表项,作为指标项的方法也可以通过计算机依次计算报表项所具有的数据之间的关联关系。例如,对于记录有每日销售额的报表项以及记录有每日增长率的报表项,商业智能系统的构建系统可以通过统计发现报表项与销售额之间的对应关系,则可以确定其中一个报表项为指标项。
63.在一些实施方式中,基于所述报表项以及所述报表项的属性数据,生成包括相关联的事实表和维度表的初始主题模型的步骤,包括:在所述业务需求报表包括的报表项中确定用于描述所述事实表所记录的数据的特性的报表项,作为维度项;合并所述维度项中表示同一个维度信息的维度项,得到目标维度项;基于所述目标维度项,确定至少一个包括根据所述目标维度项形成的维度字段的维度表;依照所述维度表和所述报表项的属性数
据,生成包括相关联的事实表和维度表的初始主题模型。
64.在一些情况下,业务需求报表所包括的记录有维度数据的报表项也可能冗余。相应的,也可以将一些重复的报表项进行合并,来生成维度表,以在一定程度上提高初始主题模型的性能。
65.在所述业务需求报表包括的报表项中确定用于描述所述事实表所记录的数据的特性的报表项,作为维度项的方法,可以是根据报表项对应的属性数据,确定能作为所述维度项的报表项。所述维度项可以记录有表示维度信息的数据。具体的,例如,名称为“公司名称”的报表项的报表项类别为维度,则可以确认其为维度项。当然,确认所述报表项为维度项的方法也可以是根据计算机自动识别的。
66.合并所述维度项中表示同一个维度信息的维度项,得到目标维度项的方法,可以是在选择多个表示相同维度信息的报表项一个报表项作为维度项参与初始主题模型的构建。当然,合并所述维度项中表示同一个维度信息的维度项,也可以是综合多个维度项的信息后,生成能够较好地表示所述维度信息的目标维度项。具体的,例如,维度项中可以包括名称为“发送日期”、“生成日期”、“销售日期”的维度项。所述维度项可能来自于不同的业务报表,但是表明的都是日期信息。因此,可以在将所述维度项进行合并。例如,可以生成名称为“日期”的目标维度项。其中,所述目标维度项的颗粒度可以与合并前的维度项中,颗粒度最小的维度项相同。
67.在确定目标维度表后,可以根据属性数据构建相对应的维度表。进一步地,根据维度表和实施表之间的关联关系,可以形成所述初始主题模型。
68.在一些实施方式中,所述商业智能系统的构建方法还可以包括:根据所述初始主题模型,生成对应所述初始模型的事实表和维度表的虚拟数据,以用于依照具有所述虚拟数据的初始主题模型,开发用于展示所述业务数据的报表工具。
69.在一些情况下,业务需求报表可能不具有相应的数据,或者仅仅只具有一部分数据。因此,基于所述业务需求报表生成的初始主题模型中事实表和维度表所包括的字段没有相应数据,或者可能缺少部分数据。为了在一定程度上不加大报表工具开发人员的难度,并且为了兼容较多的工具,可以生成虚拟数据存储初始主题模型。
70.所述虚拟数据可以是不对应有真实业务的数据。具体的,所述虚拟数据可以是基于算法生成的,没有实际意义的数据。例如,可以通过随机算法生成。或者,所述虚拟数据可以基于少部分数据计算出的数据。在一些实施方式中,所述虚拟数据也可以是历史的业务数据,即抽取部分历史数据填入初始主题模型。通过所述虚拟数据,可以对报表工具的开发予以支持。例如,所述虚拟数据可以用于测试报表工具。在一些实施方式中,也可以不采用所述虚拟数据,直接基于初始主题模型,开发报表工具。
71.在一些实施方式中,所述商业智能系统的构建方法还可以包括:依照所述初始主题模型所包括的事实表和维度表之间的关联关系,生成虚拟宽表;其中,所述虚拟宽表包括至少一组相关联的事实表和维度表所包括的指标字段和维度字段。
72.在一些情况下,反复通过关联关系去搜索数据可能会导致数据读取的速率有所降低。因此,可以通过生成宽表的方式来提高性能。
73.所述虚拟宽表可以表示通过初始主题模型的宽表。所述虚拟宽表可以不包括数据,或者仅包括主题模型具有的部分数据。其中,主题模型包括的部分数据可以是所述虚拟
数据。所述虚拟宽表可以通过将事实表和维度表进行合并得到。具体的,具有关联关系的事实表和维度表中的指标字段和维度字段可以分别有对应关系。通过基于主键合并,可以形成所述虚拟宽表,以在一定程度上提高数据读写的效率。在一些实施方式中,所述虚拟宽表的字段可以具有一定的字段冗余。
74.示例的装置、电子设备、存储介质和软件请参阅图7,本说明书的一个实施方式还提供一种商业智能系统的构建装置。所述商业智能系统的构建装置可以包括报表获取模块、模型生成模块和数据抽取模块。
75.报表获取模块,用于获取包括多个报表项的业务需求报表,以及所述报表项的属性数据。
76.模型生成模块,用于基于所述报表项以及所述报表项的属性数据,生成包括具有关联关系的事实表和维度表的初始主题模型。
77.数据抽取模块,用于在业务数据库中抽取对应所述事实表和所述维度表的业务数据,以将所述业务数据同步至所述初始主题模型中,形成所述商业智能系统。
78.关于商业智能系统的构建装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述商业智能系统的构建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
79.请参阅图8,本说明书实施方式提供一种电子设备,所述电子设备可以包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述实施方式中的方法。
80.本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的商业智能系统的构建方法。
81.本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的商业智能系统的构建方法。
82.可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
83.可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
84.可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
85.除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
86.可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signalprocessor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
87.可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
88.本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
89.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
90.在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
91.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
92.另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
93.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者
说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram)、磁碟或者光盘等各种可以存储程序代码的介质。
94.以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。