数据仓库的构建与联机分析处理.docx
《数据仓库的构建与联机分析处理.docx》由会员分享,可在线阅读,更多相关《数据仓库的构建与联机分析处理.docx(30页珍藏版)》请在冰豆网上搜索。
数据仓库的构建与联机分析处理
0.5a+5/6b≤600
a+2/3b≤708
0.1a+0.25b≤135
a、b为大于零的整数
以上就是问题完整的数学模型。
通常,我们把类似上述模型的数学模型称为线形规划模型。
接下来我们就可以用EXCEL来求解这个问题了
第二步,在工作表内输入有关数据,如下图所示:
其中:
单元格B3~C6是每件产品在4台设备上的工作时间要求。
单元格D3~D6是设备的最大开动时间。
单元格B8和C8是产品的单位利润。
单元格B12~C12是产品产量。
单元格B14是最大利润:
=B12*B8+C12*C8。
单元格B17~B20是约束条件。
单元格B17:
=B3*$B$12+C3*$C$12
单元格B18:
=B4*$B$12+C4*$C$12
单元格B19:
=B5*$B$12+C5*$C$12
单元格B20:
=B6*$B$12+C6*$C$12
单元格D17~D20是最大开动时间限制。
单元格D17:
=D3
单元格D18:
=D4
单元格D19:
=D5
单元格D20:
=D6
第三步:
求解。
选择工具菜单中的规划求解命令。
如果规划求解命令没有出现在工具菜单中,则需要安装规划求解加载宏。
出现规划求解对话框时,如下图:
目标单元格为B14,等于最大值。
可变单元格为B12~C12,为A、B两产品产量。
其次,添加约束条件。
然后,点击“选项”按钮,选择假定非负并确定。
最后,点击“求解”。
得到结果。
根据上述求解步骤,同理求出第二问。
经过运算,得出生产三种产品的最合适产量如下:
综上,生产三种产品的方案的利润为8300元,生产两种产品的方案的利润为7659元,经过比较,生产三种产品的方案比较好。
六、实验心得
实验二数据仓库的构建与联机分析处理
第一部分数据仓库的构建
一、实验目的及要求
实验目的:
1.理解数据库与数据仓库之间的区别与联系;
2.掌握典型的关系型数据库及其数据仓库系统的工作原理以及应用方法;
3.掌握数据仓库建立的基本方法及其相关工具的使用。
实验要求:
利用实验室提供的实验软件,认真完成规定的实验项目,真实地记录实验中遇到的各种问题和解决的方法与过程,并绘出模拟实验案例的数据仓库模型。
实验完成后,应根据实验情况写出实验报告。
二、实验设备及软件
基于NT的局域网络,服务器与客户端安装MSSQLServer服务系统以及AnalysisServices系统。
三、实验内容
以SQLServer为系统平台,设计、建立数据库,并以此为基础创建数据仓库。
四、实验步骤
1. 启动SQLServer服务
2. 注册服务器
3. 设计表
4. 修改表
5.建立系统数据源连接
⑴Microsoft®WindowsNT®4.0用户:
单击“开始”按钮,指向“设置”,单击“控制面板”,然后双击“数据源(ODBC)”。
⑵Windows®2000用户:
单击“开始”按钮,指向“设置”,单击“控制面板”,然后双击“管理工具”,再双击“数据源(ODBC)”。
⑶在“系统DSN”选项卡上单击“添加”按钮。
⑷选择“MicrosoftAccess驱动程序(*.mdb)”,然后单击“完成”按钮。
⑸在“数据源名”框中,输入“教程”,然后在“数据库”下,单击“选择”。
⑹在“选择数据库”对话框中,浏览到“C:
\ProgramFiles\MicrosoftAnalysisServices\Samples”,然后单击“FoodMart2000.mdb”。
单击“确定”按钮。
6.建立数据库和数据源
⑴如何建立数据库结构
①在AnalysisManager树视图中展开“AnalysisServers”。
②单击服务器名称,即可建立与AnalysisServers的连接。
③右击服务器名称,然后单击“新建数据库”命令。
④在“数据库”对话框中的“数据库名称”框中,输入“教程”,然后单击“确定”按钮。
⑤在AnalysisManager树窗格中展开服务器,然后展开刚才创建的“教程”数据库。
⑵建立数据源
在AnalysisManager树窗格中,右击“教程”数据库下的“数据源”文件夹,然后单击“新数据源”命令。
在“数据链接属性”对话框中,单击“提供程序”选项卡,然后单击“MicrosoftOLEDBProviderforODBCDrivers”。
①单击“连接”选项卡,然后从“使用数据源名称”列表中单击“教程”。
②单击“测试连接”以确保一切工作正常。
在“Microsoft数据链接”对话框中应出现一条消息,说明连接成功。
在消息框中单击“确定”按钮。
③单击“确定”按钮关闭“数据链接属性”对话框。
7.建立多维数据集
您现在的身份是FoodMartCorporation的数据库管理员。
FoodMart是一家大型的连锁店,在美国、墨西哥和加拿大有销售业务。
市场部想要按产品和顾客分析1998年进行的所有销售业务数据。
使用存储在公司数据仓库中的数据,您就能建立多维数据结构(多维数据集),以便在市场分析人员查询数据库时获取快速的响应。
建立一个多维数据集,用于进行销售分析。
⑴打开多维数据集向导
在AnalysisManager树窗格中,“教程”数据库下,右击“多维数据集”文件夹,单击“新建多维数据集”菜单,然后单击“向导”命令。
⑵向多维数据集添加度量值
度量值是要进行分析的数据库中的量化值。
常用的度量值为销售、成本和预算数据。
度量值根据多维数据集不同的维度类别进行分析。
①在多维数据集向导的“欢迎”步骤,单击“下一步”按钮。
②在“从数据源中选择事实数据表”步骤,展开“教程”数据源,然后单击“sales_fact_1998”。
③单击“浏览数据”按钮可以查看“sales_fact_1998”表中的数据。
数据浏览完毕后,关闭“浏览数据”窗口,然后单击“下一步”按钮。
④若要定义多维数据集的度量值,在“事实数据表数据列”下,双击“store_sales”。
对“store_cost”和“unit_sales”列重复此步骤,然后单击“下一步”按钮。
⑶建立时间维度
在向导的“选择多维数据集的维度”步骤,单击“新建维度”命令。
此操作将调用维度向导。
①在“欢迎”步骤,单击“下一步”按钮。
②在“选择维度的创建方式”步骤,选择“星型架构:
单个维度表”选项,然后单击“下一步”按钮。
③在“选择维度表”步骤,单击“time_by_day”。
单击“浏览数据”按钮可以查看包含在“time_by_day”表中的数据。
查看完“time_by_day”表后,单击“下一步”按钮。
④在“选择维度类型”步骤,选择“时间维度”选项,然后单击“下一步”按钮。
⑤接下来,将定义维度的级别。
在“创建时间维度级别”步骤,单击“选择时间级别”,单击“年、季度、月”,然后单击“下一步”按钮。
⑥在“选择高级选项”步骤,单击“下一步”按钮。
⑦在向导的最后一步,输入“Time”作为新维度的名称。
⑧单击“完成”返回到多维数据集向导。
⑨在多维数据集向导中,现在应能在“多维数据集维度”列表中看到“Time”维度。
⑷建立产品维度
按照建立时间维度的步骤建立差您维度,在“选择创建维度的方式”步骤,选择“雪花架构:
多个相关维度表”选项。
并在“选择维度表”步骤,双击“Product”和“product_class”将它们添加到“选定的表”。
●若要定义维度的级别,在“可用的列”下,按顺序双击“product_category”、“product_subcategory”和“brand_name”。
双击每列后,其名称显示在“维度级别”下。
在选择了所有三列后,单击“下一步”按钮。
在“维度名称”框中,输入“Product”,并保持“与其它多维数据集共享此维度”复选框为选中状态。
单击“完成”按钮。
●现在应能在“多维数据集维度”列表中看到“Product”维度。
⑸建立客户维度
按照建立时间维度的步骤建立客户维度。
在“选择创建维度的方式”步骤,选择“星型架构:
单个维度表”选项。
在“选择维度表”步骤,单击“Customer”,然后单击“下一步”按钮。
若要定义维度的级别,在“可用列”下,按顺序双击“Country”、“State_Province”、“City”和“lname”列。
双击每一列后,其名称将显示在“维度级别”下方。
选择完所有四个列之后,单击“下一步”按钮。
在“指定成员键列”步骤,单击“下一步”按钮。
在“选择高级选项”步骤,单击“下一步”按钮。
在向导的最后一步,在“维度名称”框中,输入“Customer”。
保持“与其它多维数据集共享此维度”复选框的选中状态。
单击“完成”按钮。
这样在多维数据集向导中,现在应能在“多维数据集维度”列表中看到“Customer”维度。
⑹完成多维数据集的生成
①在多维数据集向导中,单击“下一步”按钮。
②在“事实数据表行数”消息给出提示时,单击“是”按钮。
③在多维数据集向导的最后一步,将多维数据集命名为“Sales”,然后单击“完成”按钮。
④向导将关闭并随之启动多维数据集编辑器,其中包含刚刚创建的多维数据集。
单击蓝色或黄色的标题栏,对表进行排列,使其符合下图所示的样子。
五、实验心得
第二部分多维数据组织与分析(OLAP)
一、实验目的及要求
实验目的:
1.理解维(表)、成员、层次(粒度)等基本概念及其之间的关系;
2.理解多维数据集创建的基本原理与流程;
3.理解并掌握OLAP分析的基本过程与方法;
实验要求:
利用实验室和指导教师提供的实验软件,认真完成规定的实验内容,真实地记录实验中遇到的各种问题和解决的方法与过程,并根据实验案例绘出多维数据组织模型及其OLAP操作过程。
实验完成后,应根据实验情况写出实验报告。
二、实验设备及软件
基于NT的局域网络,服务器与客户端安装MSSQLServer服务系统、AnalysisServices系统以及CrystalReport系统。
三、实验内容
1.运用AnalysisServer工具进行维度、度量值以及多维数据集的创建(模拟案例)。
2.使用维度浏览器进行多维数据的查询、编辑操作。
3.对多维数据集进行切片、切块、旋转、钻取操作。
四、实验步骤
1.编辑多维数据集
⑴使用多维数据集编辑器向现有的Sales多维数据集添加维度。
可以使用以下两种方法启用多维数据集编辑器:
①在AnalysisManager树窗格中右击一个现有的多维数据集,然后单击“编辑”命令。
②使用多维数据集编辑器直接创建新的多维数据集。
除非您是高级用户,否则不建议使用本方法。
③如果您是从上一节的操作接着下来的,则应该已经在多维数据集编辑器中。
④在多维数据集编辑器的“架构”窗格中,可以看到事实数据表(黄色标题栏)及联接的维度表(蓝色标题栏)。
在多维数据集编辑器树窗格中,可以在层次树中预览多维数据集的结构。
通过单击左窗格中底部的“属性”按钮,可以编辑多维数据集的属性。
⑵使用存储设计向导设计存储
①在AnalysisManager树窗格中,在“教程”数据库下展开“多维数据集”文件夹,右击“Sales”多维数据集,然后单击“编辑”命令。
②在“欢迎”步骤中单击“下一步”按钮。
③选择“MOLAP”作为数据存储类型,然后单击“下一步”按钮。
④在“设置聚合选项”下单击“性能提升达到”。
在此框中输入“40”作为指定百分比。
⑤此操作指示AnalysisServices将性能提升到40%,而不管需要多大的磁盘空间。
管理员可以用此优化能力平衡查询性能需求和存储聚合数据所需磁盘空间大小。
⑥单击“启动”按钮。
⑦在AnalysisServices设计聚合时,您可以查看向导右边的“性能与大小”图。
从中可以看出增加性能提升对使用额外磁盘空间的需求。
完成设计聚合的进程之后,单击“下一步”按钮。
2.浏览多维数据集数据
使用多维数据集浏览器对Sales数据进行切片和切块。
⑴如何使用多维数据集浏览器查看多维数据集数据
①在AnalysisManager树窗格中,右击“Sales”多维数据集,然后单击“浏览数据”命令。
②出现多维数据集浏览器,显示由多维数据集的一个维度和度量值组成的网格。
其它四个维度显示在浏览器的上方。
⑵如何替换网格中的维度
①要用另一个维度替换网格中的维度,拖动上方框中的维度,然后直接将该维度放在要与其交换的列上。
确保在此过程中,指针的形状为双端箭头。
②使用这种拖放方法,选择“Product”维度按钮并将其拖动到网格上,然后直接放在“Measures”上方。
“Product”维度和“Measures”维度在多维数据集浏览器中将交换位置。
注意:
如果想将维度添加到网格,而不是用另一个维度进行替换,则将该维度拖动到网格的中间。
⑶按时间筛选数据
单击“Time”维度旁边的箭头。
展开“所有Time”和“1998”节点,然后单击“Quarter1”。
将对网格中的数据进行筛选,使筛选出的数据为仅反映该季度情况的数字。
●l 使用拖放方法交换“Product”和“Customer”维度。
单击“Product”并将其拖到“Country”维度上。
●l 双击网格中包含“BakingGoods”的单元。
多维数据集展开以包括子类别列。
●完成后,单击“关闭”按钮关闭多维数据集浏览器。
3.编辑多维数据集
使用多维数据集编辑器可以对现有多维数据集进行更改。
使用多维数据集编辑器向现有的Sales多维数据集添加维度
两种方法启用多维数据集编辑器:
●在AnalysisManager树窗格中右击一个现有的多维数据集,然后单击“编辑”命令。
●使用多维数据集编辑器直接创建新的多维数据集。
除非您是高级用户,否则不建议使用本方法。
在多维数据集编辑器的“架构”窗格中,可以看到事实数据表(黄色标题栏)及联接的维度表(蓝色标题栏)。
在多维数据集编辑器树窗格中,可以在层次树中预览多维数据集的结构。
通过单击左窗格中底部的“属性”按钮,可以编辑多维数据集的属性。
⑴向现有多维数据集添加维度
①在多维数据集编辑器中,在“插入”菜单上单击“表”命令。
②在“选择表”对话框中,单击“promotion”表,单击“添加”按钮,然后单击“关闭”按钮。
③若要定义新的维度,请双击“promotion”表中的“promotion_name”列。
④在“映射列”对话框中选择“维度”选项,然后单击“确定”按钮。
●在树视图中选择“PromotionName”维度。
●在“编辑”菜单中单击“重命名”命令。
●键入“Promotion”,按ENTER键。
●保存所做的更改。
4.钻取多维数据
在Sales多维数据集内启用钻取,然后浏览数据并深化到事务。
⑴启用多维数据集的钻取功能
①在AnalysisManager树窗格中,在“教程”数据库下,展开“多维数据集”文件夹,右击“Sales”多维数据集,然后单击“编辑”命令。
②在多维数据集编辑器中,单击“工具”菜单中的“钻取选项”命令。
③在“多维数据集钻取选项”对话框中选择“启用钻取”复选框。
④单击“全选”,然后单击“确定”按钮。
⑤保存,然后关闭多维数据集编辑器。
⑵给角色提供钻取权限
①在AnalysisManager树窗格中,在“教程”数据库下,展开“多维数据集”文件夹,右击“Sales”多维数据集,然后单击“管理角色”命令。
②多维数据集角色管理器出现,显示Sales多维数据集现有角色的列表。
③在多维数据集角色管理器中,单击“Management”角色,然后在“钻取”列中单击扩展按钮(“...”)。
(还可以单击“编辑”。
)
④“编辑多维数据集角色”对话框出现。
选中“允许钻取”复选框。
⑤单击“确定”按钮。
⑥在多维数据集角色管理器中,“Management”角色显示钻取已启用。
⑦关闭多维数据集角色管理器。
⑶使用分析管理器深化到源系统
①在AnalysisManager树窗格中,在“教程”数据库下,展开“多维数据集”文件夹,右击“Sales”多维数据集,然后单击“浏览数据”命令。
②多维数据集浏览器出现,显示在多维数据集内汇总的数据。
通过双击“USA”、“WA”和“REDMOND”级别,展开“Country”级别。
为了更好地查看数据,可能需要最大化“多维数据集浏览器”窗口。
右击“Abbey”的单位销售额,然后单击“钻取”命令。
③“钻取数据”对话框显示源系统中的事务,这些事务在AnalysisServices中创建了该单元值。
④关闭“钻取数据”对话框。
⑤关闭多维数据集浏览器。
五、实验心得
实验三数据挖掘
一、实验目的及要求
实验目的:
1.理解数据挖掘的基本概念及其过程;
2.理解数据挖掘与数据仓库、OLAP之间的关系
3.理解基本的数据挖掘技术与方法的工作原理与过程,掌握数据挖掘相关工具的使用。
实验要求:
利用实验室和指导教师提供的实验软件,认真完成规定的实验内容,真实地记录实验中遇到的各种问题和解决的方法与过程,并绘出实验案例的数据挖掘模型。
实验完成后,应根据实验情况写出实验报告。
二、实验设备及软件
基于NT的局域网络,服务器与客户端安装MSSQLServer服务系统、AnalysisServices系统以及CrystalReport系统。
三、实验内容
将创建一个数据挖掘模型以训练销售数据,并使用“Microsoft决策树”算法在客户群中找出会员卡选择模式。
请将要挖掘的维度(事例维度)设置为客户,再将Member_Card成员的属性设置为数据挖掘算法识别模式时要使用的信息。
然后选择人口统计特征列表,算法将从中确定模式:
婚姻状况、年收入、在家子女数和教育程度。
下一步需要训练模型,以便能够浏览树视图并从中读取模式。
市场部将根据这些模式设计新的会员卡,使其适应申请各类会员卡的客户类型
四、实验步骤
1.创建揭示客户模式的数据挖掘模型
①在AnalysisManager树视图中,展开“多维数据集”文件夹,右击“Sales”多维数据集,然后选择“新建挖掘模型”命令。
②打开挖掘模型向导。
在“选择数据挖掘技术”步骤中的“技术”框中选择“Microsoft决策树”。
单击“下一步”按钮。
③在“选择事例”步骤中,在“维度”框中选择“Customer”。
在“级别”框中,确保选择了“Lname”。
单击“下一步”按钮。
④在“选择被预测实体”步骤中,选择“事例级别的成员属性”。
然后在“成员属性”框中选择“MemberCard”。
⑤单击“下一步”按钮。
⑥在“选择训练数据”步骤中,滚动到“Customer”维度,清除“Country”、“StateProvince”和“City”框(因为不需要在聚集级别上而只需要在单独的客户级别上确定客户模式)。
单击“下一步”按钮。
⑦在“创建维度和虚拟多维数据集(可选)”步骤中,在“维度名称”框中输入“CustomerPatterns”。
然后在“虚拟多维数据集名称”框中输入“TrainedCube”。
单击“下一步”按钮。
⑧在最后的步骤中,在“模型名称”字段中键入“Customerpatternsdiscovery”。
确保选择了“保存并开始处理”。
单击“完成”按钮。
⑨出现一个窗口,显示模型正在处理之中。
处理完成之后,出现一则消息,说明“已成功完成处理”,然后单击“关闭”按钮。
2.读取客户决策树
①现在已在OLAP挖掘模型编辑器中。
可以使用编辑器编辑模型属性或者浏览其结果。
最大化OLAP挖掘模型编辑器。
②决策树显示于右窗格中。
其中包括四个窗格。
中间的“内容详情”窗格
(1)显示焦点所在的决策树的部分。
“内容选择区”窗格
(2)显示树的完整视图。
该窗格使您可以将焦点设置到树的其它部分。
其它的两个窗格分别是“特性”窗格(3)(特性信息可以用“合计”选项卡以数值方式查看或者用“直方图”选项卡以图形方式查看)和与焦点所在节点相关联的“节点路径”区域(4)。
③在“内容详情”窗格的决策树区域中,颜色代表“事例”的密度(在本事例中为:
客户的密度)。
颜色越深则节点中包含的事例就越多。
单击“全部”节点。
该节点为黑色,因为它代表(7632)事例的100%。
7632代表1998年活动的客户数目(即Sales多维数据集中有事务记录的客户)。
这个数字也说明在1998年并非所有的客户都是活动的,因为我们从“Customer”维度的“Lname”级别中所包含的9991个客户中只得到7632个事例。
④特性窗格显示“全部”节点中,所有事例的55.83%(或者说4263个示例)可能选择铜卡(Bronze);11.50%可能选择金卡(Golden);23.32%可能选择普通卡(Normal);9.34%可能选择银卡(Silver)。
如果没有显示百分比,则可以调整“特性”窗格中“合计”面板的“可能性”列的大小。
⑤如果选择了树的不同节点,此百分比将会更改。
让我们调查一下哪些客户可能选择金卡。
若要执行此操作,则需要重新画出树以便勾画出金卡的高密度区。
在右下角的“树颜色基于”字段中选择“Golden”。
该树显示另一种颜色模式。
可以看出“Customer.Lname.YearlyIncome=$150K+”节点的密度高于其它任何节点。
⑥树的第一个级别由“yearlyincome”属性决定。
树的组织由算法决定,其基础是该属性在输出中的重要性。
这意味着“yearlyincome”属性是最重要的因素,它将决定客户可能选择的会员卡的类型。
选择“Customer.Lname.YearlyIncome=$150K+”节点。
该特性窗格显示收入较多的客户中,45.09%的客户可能会选择金卡。
这个百分比要比“全部”节点中的(11.50%)高得多。
当继续在树中做进一步调查时,让我们调查一下这些百分比是如何演化的。
⑦双击“Customer.Lname.YearlyIncome= $150K+”节点。
该树现在只显示“Customer.Lname.YearlyIncome= $150K+”节点下的子树。
选择“Customer.Lname.MaritalStatus= M”节点。
在“节点路径”窗格中,可以看到包含于该节点的客户的完整的特征定义:
收入高于150000美元且已婚的客户。
该“特性”窗格现在显示:
与上一级别(45.09%)相比,较高百分比(81.05%)的客户可能会选择金卡。
⑧我们再返回到顶层,进行一种与此不同的调查,即调查可能选择普