对于逻辑上的多维数据模型,可以使用不同的存储机制和表示模式实现多维数据模型。目前,使用的多维数据模型主要有星型模型、雪花模型。星型模型由事实表和维度表构成,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。换句话说,每个维度表都与事实表直接相连。在星型模型的基础上,进一步对维度表进行标准化。在雪花模型中,某些维度表是通过其他维度表间接地连接到事实表的。无论哪种模型中,事实表中存放的数据量非常大,维度表中存放描述性的数据,数据量相对较小。 经过大量业务调研与数据分析,建立了星型模型。 质量检验结果事实表:产品关键字、设备关键字、时间关键字、设备关键字、班组关键字、车间关键字、合格品数量、废品数量。 检验员维度表:人员关键字(PK)、职工编号、姓名、性别、年龄、文化程度、身份证号、出生年、出生月、出生日、入厂年、入厂月、入厂日、技术等级、职称资格、聘任资格 时间维度表:时间关键字(PK)、年、月、日 班组维度表:班组关键字(PK)、班组名称 车间维度表:车间关键字(PK)、车间编号、车间名称、车间负责人 产品维度表:产品关键字(PK)、产品类别号、产品图号、产品名称、产品类型、产品数量 4.2 设计与实现 ETL是数据抽取、转换和加载的总称。在Microsoft SQL Server中,Integration Services提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。*编写一行代码,就可以创建SSIS解决方案来使用ETL和商业智能解决复杂的业务问题。在本系统设计过程中,应用了SSIS将ERP等生产过程中数据经过一系列转换、分割、合并等操作,较终将其加载到数据仓库中供分析使用。 4.3 设置维度和多维数据集 首先*事实数据表FactQty,*维度表DimProduct、DimTime、DimWorker、Diminspector。然后定义维度的层次结构: 时间维度(YEAR-QUARTER-MONTH-DAY),产品维度(CATEGORY-SUBCATEGORY-NAME), 职工维度(SHOP-CLASS-WORKER_ID),并且确定度量值为合格量、废品量。 4.4 通过OLAP技术对数据进行分析 建立多维立方体后,即可进行多维数据分析。分析操作通常包括切片、切块、钻取、旋转等。 切片是在某两个维上取一定区间的维成员或全部维成员,而在其余的维上选定一个维成员的操作。例如,选定WORKER维度和工序维度,在时间维度选取一个属性成员(如2011年5月),就得到了立方体在WORKER维度和工序维度两个维度上的一个切片(操作者、工序、合格量,废品量):切块可以看作是由多个切片重叠起来构成的数据块,如2011年5月~2011年6月,就得到了一个切块;钻取分为上钻操作和下钻操作。下钻可以得到细节性的数据,反之,上钻得到的是相对概括性的数据。钻取的深度与维度的层次结构紧密相关;在立方体中,将横、纵坐标转换,即称为旋转,旋转可以得到不同视角的数据。