目录
一、实验目的
通过本实验,掌握在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
手工录入适量数据:
(2)顾客维度表Customers
手工录入适量数据:
(3)地点维度表Locates
手工录入适量数据:
(4)商品维度表Products
手工录入适量数据:
2、事实表设计
设计一个销售事实表 Sales,对应的表结构如下:
假设该事实表中目前的数据如下所示:
请注意:
(1)以上的 4 个维度表和1个事实表,都设置了主键(这是必须的)。
(2)为 Sales 事实表设置外键约束,使 Date_key,Cust_key,Locate_key,Prod_key 分别参照另外的 4 个维度表中的主键。
可以新建一个查询,为 Sales 表增加 4 个外键约束,如下:
altertable Sales addconstraint fk_1 foreignkey(Date_key)references Dates(Date_key)altertable Sales addconstraint fk_2 foreignkey(Cust_key)references Customers(Cust_key)altertable Sales addconstraint fk_3 foreignkey(Locate_key)references Locates(Locate_key)altertable Sales addconstraint fk_4 foreignkey(Prod_key)references Products(Prod_key)
在 SSMS 中建好的数据库以及其中的数据表的情况如下所示:
3、新建多维分析和挖掘项目
在 Sql Server 2012 的 Data Tools 下(Sql Server 2008 R2 的 BI…),新建 Analysis Services 多维分析和挖掘项目,项目名称自拟。然后分别定义数据源、数据源视图、定义维表、定义多维数据集、部署项目、浏览已部署的多维数据集。
(1)定义数据源
打开 SSDT,创建 SSAS 项目,连接数据源。
右键 “数据源” 点击 “新建数据源”。服务器名填入 LocalHost,再选择数据库。
选择刚创建的数据连接 “LocalHost.SDWS”。
下一步,选择 “使用服务账户”。
最后,完成数据源定义。
(2)定义数据源视图
右键 “数据源视图”,点击 “新建数据源视图”,选择数据源 SDWS。
点击左右箭头即可选中对应表格,右边为选择表格,全部选中即可。
数据源视图就创建好了。
(3)定义维表
右键维度,新建维表。
“可用属性” 要全部勾选。
单机 “完成”,保存维度。
Dates、Locates、Products维表的创建方法一样。
(4)定义多维数据集
右键 “多维数据集”,新建多维数据集。
选择度量表(事实表)为 Sales,选择度量值。
维度表要全选。
单机 “完成”,保存多维数据集。
设置完后右击项目名称点击 “部署”,即可部署成功。最后就出现了星型模型。
关于维度的层次结构的定义、维度的处理,以及多维数据集的部署。最终完成后的界面参照如下:(基于SQLServer2012版本)
数据集部署成功后:
Customers维度配置:
Dates维度配置:
Locates维度配置:
Products维度配置:
多维数据集浏览时,以下是参照界面:
五、实验结果分析
(1)数据源定义:通过定义数据源,实现了与实际数据源的连接,确保了数据仓库能够获取到所需的源数据进行分析处理。
(2)数据源视图定义:通过定义数据源视图,实现了对数据源的抽象和简化,使得在多维分析项目中能够更方便地使用数据。
(3)维表定义:日期、顾客、地点和商品等维度表的创建和定义,为多维分析提供了关键维度信息,使得可以按照不同维度进行数据查询和分析。
(4)多维数据集定义:通过定义多维数据集,建立了事实表与维度表之间的关联,实现了多维数据的存储和分析,满足了电商销售情况分析的各项需求。
(5)数据集部署成功:成功部署了多维数据集项目,确保了数据仓库的数据可用性和准确性,使得可以进行后续的多维分析操作。
(6)维度配置和多维数据集浏览:通过对不同维度的配置和多维数据集的浏览,可以实现对电商销售情况的全面分析,包括地区销售金额、商品销售量、顾客购买行为等多方面的详细分析。
总的来说,实验结果表明成功建立了针对电商销售情况分析的数据仓库 SDWS,并实现了多维分析的基本功能。通过对数据进行多维分析,可以深入挖掘数据背后的规律和趋势,为电商企业提供决策支持和市场竞争优势。
六、实验总结体会
数据仓库的设计过程需要充分理解业务需求和数据特点,结合具体业务场景进行建模。在本实验中,针对电商销售情况分析的需求,采用了星型模型来设计数据仓库的维度表和事实表,这样的设计能够简洁清晰地反映业务事件的关联关系。
在数据仓库的设计中,维度表的设计尤为重要。日期、顾客、地点和商品等维度在电商销售分析中扮演着关键的角色,通过手工录入适量数据并设置主键,为多维分析提供了基础数据支持。事实表的设计需要与维度表进行关联,并且需要考虑外键约束的设置,以保证数据的完整性和准确性。在本实验中,销售事实表Sales与日期、顾客、地点和商品等维度表建立了外键约束,确保了数据的关联性。
在实际操作中,使用 SQL Server 提供的工具(如 SSMS 和 Data Tools)进行数据仓库的建模和多维分析项目的开发,能够有效提高效率并简化操作流程。通过定义数据源、数据源视图、维表、多维数据集等,完成了数据仓库的搭建和多维分析项目的部署。
最终,通过多维数据集的浏览和配置,可以对电商销售情况进行多维分析,满足了实验中提出的各项分析需求,包括地区销售金额分析、商品销售量分析、顾客购买行为分析等多个方面的需求。
总的来说,本次实验使我深入了解了数据仓库的建立方法和多维分析的基本过程,对于应用 SQL Server 进行数据仓库建模和多维分析项目开发有了更深入的理解和实践经验。这对我今后在类似领域的工作和研究中将会起到积极的指导和帮助作用。
版权归原作者 Francek Chen 所有, 如有侵权,请联系我们删除。