目录

  • 一、实验目的
  • 二、实验要求
  • 三、实验内容
  • 四、实验步骤
  • 1、维表设计
  • 2、事实表设计
  • 3、新建多维分析和挖掘项目
  • 五、实验结果分析
  • 六、实验总结体会



一、实验目的

  通过本实验,掌握在Sql Server(2012 或 2008 R2以上版本)中通过 Analysis Services 建立数据仓库的方法。包括如何在 BI Development Studio 的 Analysis Services 项目中定义数据源、数据源视图、维度、属性、层次结构和多维数据集,如何查看多维数据集的维度,理解并掌握 OLAP 分析的基本过程和方法。

二、实验要求

  能够针对某个领域的分析主题,建立事实表与维度表,设计星型模型或雪花模型。查看、编辑数据仓库的基本模型(即事实表与维度表之间的关系)。针对某一系统需求,从无到有设计一 个数据仓库基本架构,要求能够按不同维度进行多维数据查询分析。

三、实验内容

  某电商的业务销售涵盖全国范围,销售商品有家用电器和通信设备等。已建有网上销售业务管理系统,可以获取每日销售信息和顾客的基本信息等。要求为该电商建立一个能够提高市场竞争能力的数据仓库 SDWS,其主题是电商销售情况分析,包括以下分析功能。
(1)分析全国各地区每年、每季度的销售金额;
(2)分析各类商品在每年、每月的销售量。
(3)分析各年龄层次的顾客购买商品的次数。
(4)分析某年某季度各地区、各类商品的销售量。
(5)分析每年各省份、各年龄层次的商品购买金额。
(6)分析各产品子类、各地区、各年龄层次的销售量。
(7)其他销售情况分析等。

四、实验步骤

  为了简化起见,数据仓库采用星型模型。

1、维表设计

  在 SSMS 中,设计如下 4 个维度表。

(1)日期维度表Dates

数据仓库应用开发实训_多维数据集


手工录入适量数据:

数据仓库应用开发实训_数据仓库应用开发实训_02


(2)顾客维度表Customers

数据仓库应用开发实训_数据挖掘_03


手工录入适量数据:

数据仓库应用开发实训_数据仓库应用开发实训_04


(3)地点维度表Locates

数据仓库应用开发实训_多维数据集_05


手工录入适量数据:

数据仓库应用开发实训_数据仓库应用开发实训_06


(4)商品维度表Products

数据仓库应用开发实训_数据仓库_07


手工录入适量数据:

数据仓库应用开发实训_数据挖掘_08

2、事实表设计

  设计一个销售事实表 Sales,对应的表结构如下:

数据仓库应用开发实训_数据仓库应用开发实训_09


假设该事实表中目前的数据如下所示:

数据仓库应用开发实训_多维数据集_10


请注意:

(1)以上的 4 个维度表和1个事实表,都设置了主键(这是必须的)。

(2)为 Sales 事实表设置外键约束,使 Date_key,Cust_key,Locate_key,Prod_key 分别参照另外的 4 个维度表中的主键。

可以新建一个查询,为 Sales 表增加 4 个外键约束,如下:

alter table Sales add constraint fk_1 foreign key(Date_key) references Dates(Date_key)
alter table Sales add constraint fk_2 foreign key(Cust_key) references Customers(Cust_key)
alter table Sales add constraint fk_3 foreign key(Locate_key) references Locates(Locate_key)
alter table Sales add constraint fk_4 foreign key(Prod_key) references Products(Prod_key)

数据仓库应用开发实训_数据仓库_11


  在 SSMS 中建好的数据库以及其中的数据表的情况如下所示:

数据仓库应用开发实训_数据仓库_12

3、新建多维分析和挖掘项目

  在 Sql Server 2012 的 Data Tools 下(Sql Server 2008 R2 的 BI…),新建 Analysis Services 多维分析和挖掘项目,项目名称自拟。然后分别定义数据源、数据源视图、定义维表、定义多维数据集、部署项目、浏览已部署的多维数据集。

数据仓库应用开发实训_数据仓库应用开发实训_13


(1)定义数据源

打开 SSDT,创建 SSAS 项目,连接数据源。

数据仓库应用开发实训_数据仓库_14


右键 “数据源” 点击 “新建数据源”。服务器名填入 LocalHost,再选择数据库。

数据仓库应用开发实训_数据挖掘_15


选择刚创建的数据连接 “LocalHost.SDWS”。

数据仓库应用开发实训_多维数据集_16


下一步,选择 “使用服务账户”。

数据仓库应用开发实训_数据仓库应用开发实训_17


最后,完成数据源定义。

数据仓库应用开发实训_多维数据集_18


(2)定义数据源视图

右键 “数据源视图”,点击 “新建数据源视图”,选择数据源 SDWS。

数据仓库应用开发实训_数据挖掘_19


点击左右箭头即可选中对应表格,右边为选择表格,全部选中即可。

数据仓库应用开发实训_多维数据集_20


数据仓库应用开发实训_数据挖掘_21


数据源视图就创建好了。

数据仓库应用开发实训_多维数据集_22


(3)定义维表

右键维度,新建维表。

数据仓库应用开发实训_多维数据集_23


数据仓库应用开发实训_多维数据集_24


“可用属性” 要全部勾选。

数据仓库应用开发实训_数据仓库应用开发实训_25


单机 “完成”,保存维度。

数据仓库应用开发实训_数据仓库应用开发实训_26


Dates、Locates、Products维表的创建方法一样。

(4)定义多维数据集

右键 “多维数据集”,新建多维数据集。

数据仓库应用开发实训_数据挖掘_27


选择度量表(事实表)为 Sales,选择度量值。

数据仓库应用开发实训_数据仓库应用开发实训_28


数据仓库应用开发实训_数据挖掘_29


维度表要全选。

数据仓库应用开发实训_数据仓库应用开发实训_30


单机 “完成”,保存多维数据集。

数据仓库应用开发实训_数据挖掘_31


设置完后右击项目名称点击 “部署”,即可部署成功。最后就出现了星型模型。

数据仓库应用开发实训_数据仓库_32


  关于维度的层次结构的定义、维度的处理,以及多维数据集的部署。最终完成后的界面参照如下:(基于SQLServer2012版本)

数据集部署成功后:

数据仓库应用开发实训_大数据_33


数据仓库应用开发实训_大数据_34


Customers维度配置:

数据仓库应用开发实训_数据挖掘_35


数据仓库应用开发实训_数据挖掘_36


数据仓库应用开发实训_数据仓库_37


Dates维度配置:

数据仓库应用开发实训_数据仓库_38


数据仓库应用开发实训_数据仓库应用开发实训_39


数据仓库应用开发实训_数据仓库应用开发实训_40


Locates维度配置:

数据仓库应用开发实训_数据挖掘_41


数据仓库应用开发实训_大数据_42


数据仓库应用开发实训_多维数据集_43


Products维度配置:

数据仓库应用开发实训_数据仓库应用开发实训_44


数据仓库应用开发实训_数据仓库应用开发实训_45


数据仓库应用开发实训_大数据_46


多维数据集浏览时,以下是参照界面:

数据仓库应用开发实训_多维数据集_47


数据仓库应用开发实训_大数据_48

五、实验结果分析

(1)数据源定义:通过定义数据源,实现了与实际数据源的连接,确保了数据仓库能够获取到所需的源数据进行分析处理。
(2)数据源视图定义:通过定义数据源视图,实现了对数据源的抽象和简化,使得在多维分析项目中能够更方便地使用数据。
(3)维表定义:日期、顾客、地点和商品等维度表的创建和定义,为多维分析提供了关键维度信息,使得可以按照不同维度进行数据查询和分析。
(4)多维数据集定义:通过定义多维数据集,建立了事实表与维度表之间的关联,实现了多维数据的存储和分析,满足了电商销售情况分析的各项需求。
(5)数据集部署成功:成功部署了多维数据集项目,确保了数据仓库的数据可用性和准确性,使得可以进行后续的多维分析操作。
(6)维度配置和多维数据集浏览:通过对不同维度的配置和多维数据集的浏览,可以实现对电商销售情况的全面分析,包括地区销售金额、商品销售量、顾客购买行为等多方面的详细分析。

  总的来说,实验结果表明成功建立了针对电商销售情况分析的数据仓库 SDWS,并实现了多维分析的基本功能。通过对数据进行多维分析,可以深入挖掘数据背后的规律和趋势,为电商企业提供决策支持和市场竞争优势。

六、实验总结体会

  数据仓库的设计过程需要充分理解业务需求和数据特点,结合具体业务场景进行建模。在本实验中,针对电商销售情况分析的需求,采用了星型模型来设计数据仓库的维度表和事实表,这样的设计能够简洁清晰地反映业务事件的关联关系。
  在数据仓库的设计中,维度表的设计尤为重要。日期、顾客、地点和商品等维度在电商销售分析中扮演着关键的角色,通过手工录入适量数据并设置主键,为多维分析提供了基础数据支持。事实表的设计需要与维度表进行关联,并且需要考虑外键约束的设置,以保证数据的完整性和准确性。在本实验中,销售事实表Sales与日期、顾客、地点和商品等维度表建立了外键约束,确保了数据的关联性。
  在实际操作中,使用 SQL Server 提供的工具(如 SSMS 和 Data Tools)进行数据仓库的建模和多维分析项目的开发,能够有效提高效率并简化操作流程。通过定义数据源、数据源视图、维表、多维数据集等,完成了数据仓库的搭建和多维分析项目的部署。
  最终,通过多维数据集的浏览和配置,可以对电商销售情况进行多维分析,满足了实验中提出的各项分析需求,包括地区销售金额分析、商品销售量分析、顾客购买行为分析等多个方面的需求。
  总的来说,本次实验使我深入了解了数据仓库的建立方法和多维分析的基本过程,对于应用 SQL Server 进行数据仓库建模和多维分析项目开发有了更深入的理解和实践经验。这对我今后在类似领域的工作和研究中将会起到积极的指导和帮助作用。