数据仓库实验—AnalysisServices高级操作一、实验目的1掌握AnalysisServices的高级操作二、实验内容1、创建计算成员2、创建成员属性3、创建虚拟维度4、设置维度自定义汇总、写回及其它功能5、定义高级计算6、添加父级别数据三、实验步骤1、创建计算成员将多维数据集数据、算术运算符、数字和/或函数组合起来创建自定义度量值或维度成员,这些度量值和维度成员称为计算成员。可以使用计算成员通过将原始数据建模为有意义的业务指示符来增强分析。计算成员将增加分析的价值。它们可以描述趋势、行为和异常情况。Sales多维数据集内现已填充数据。市场部想增强Sales多维数据集中的数据并确定每个商店售出产品的平均产品价格。基于以下两个度量值在Sales多维数据集中创建计算成员:Store_sales和unit_sales。1.1如何创建计算成员1)在AnalysisManager树窗格中,在已建立的数据库下,右击“Sales”多维数据集,然后单击“编辑”命令。2)进入多维数据集编辑器开始编辑Sales多维数据集。多维数据集组件(“维度”、“度量值”、“计算成员”等)列在多维数据集编辑器的左窗格中。3)右击“计算成员”,然后单击“新建计算成员”。4)现在进入计算成员生成器中。前三个框用于确定计算成员的维度的特征:“父维度”(其所属维度)、“父成员”(其所附加到的父代)和“成员名称”。5)将“父维度”设置保持为“Measures”不变。此时“父成员”框不可用,因为度量值维度不支持层次结构。在“成员名称”框中输入“Averageprice”。6)计算成员生成器的下半部分提供生成计算成员表达式所需的全部组件。在“数据”下展开“Measures”维度,然后展开“MeasuresLevel”。出现度量值列表。7)从中选择“StoreSales”,然后将其拖入“值表达式”框中。8)在数字和运算符键区,单击“/”运算符。在“值表达式”框中表达式的末尾出现运算符。9)在“数据”下选择“Unitsales”度量值,然后拖至“值表达式”框中表达式的末尾。10)计算成员现已完全定义完毕。单击“确定”按钮。计算成员生成器关闭,回到多维数据编辑器中。请注意,新创建的计算成员在多维数据集编辑器的左窗格的“计算成员”文件夹中已经可用。11)单击“保存”图标或单击“文件”菜单中的“保存”命令以保存所做的更改。1.2查看计算成员数据1)若要查看数据,请单击右窗格底部的“数据”选项卡。出现数据,Measures维度出现在列中,Customer维度出现在行中。注意共出现以下四列:三个度量值列和一个刚创建的计算成员列,即AveragePrice。2)关闭多维数据集编辑器。2、创建成员属性成员属性是维度成员的一个特性。它为最终用户提供关于成员的其它信息。成员属性有多种用途。除提供关于成员的信息外,在分析多维数据集的数据时,还可在查询中使用成员属性为最终用户提供多个选项。成员属性还可作为虚拟维度中级别的基础方案:市场部希望将Sales多维数据集分析功能扩展到根据客户的下列特征分析客户销售数据:性别、婚姻状况、教育程度、年收入、在家子女数和会员卡。为此,向Customer维度添加以下六个成员属性:Gender(性别)、Maritalstatus(婚姻状况)、Education(教育程度)、YearlyIncome(年收入)、NumChildrenAtHome(在家子女数)和MemberCard(会员卡)。这些成员属性将限制Customer维度中的每个成员。1)在AnalysisManager树窗格中,展开“共享维度”文件夹。2)右击“Customer”维度,然后单击“编辑”命令。3)在维度编辑器中,展开“Lname”。您将看到该级别的“成员属性”文件夹。4)在“架构”窗格中,将“gender”列从“Customer”表拖动到“LName”的“成员属性”文件夹5)为以下五列重复上述步骤:“marital_status”、“education”、“yearly_income”、“num_children_at_home”和“member_card”。在“Lname”的“成员属性”文件夹下应看到以下六个成员属性:“Gender”、“MaritalStatus”、“Education”、“YearlyIncome”、“NumChildrenAtHome”和“MemberCard”。6)在“文件”菜单上单击“保存”命令。7)关闭维度编辑器。3、创建虚拟维度虚拟维度是基于物理维度内容的逻辑维度。这些内容可以是物理维度中的现有成员属性,也可以是物理维度的表中的列。使用虚拟维度,可以基于多维数据集中的维度成员的成员属性对多维数据集数据进行分析。其优点是不占用磁盘空间或处理时间。方案:在前面已经为客户维度添加了六个成员属性,所以将创建一个带有YearlyIncome(年收入)成员属性的虚拟维度,然后将这个新创建的维度添加到Sales多维数据集中。3.1创建虚拟维度1)在AnalysisManager树窗格中右击“共享维度”文件夹,指向“新建维度”菜单,然后单击“向导”命令。2)在维度向导的“欢迎”步骤中单击“下一步”按钮。3)选择“虚拟维度:另一个维度的成员属性”,然后单击“下一步”按钮。4)在“选择带有成员属性的维度”步骤中,单击“Customer”维度,然后单击“下一步”按钮。5)在“选择虚拟维度的级别”步骤中,单击“Lname.YearlyIncome”成员属性,然后单击添加按钮“”。单击“下一步”按钮。6)在“选择高级选项”步骤中,确保不选中“选项”框中的任何项目。此时不需要设置高级选项。单击“下一步”按钮。7)在“完成维度向导”步骤中,在“维度名称”框中输入“YearlyIncome”。8)单击“完成”按钮。9)您现在在维度编辑器中。单击“文件”菜单中的“退出”命令。10)新维度包括在共享维度的列表中。3.2向现有多维数据集添加虚拟维度1)在AnalysisManager树视图中,右击“多维数据集”文件夹中的“Sales”多维数据集,然后单击“编辑”命令。2)在多维数据集编辑器中右击左窗格树中的“维度”。单击“现有维度”。3)在维度管理器中选择新创建维度“YearlyIncome”,将它拖动到“多维数据集维度”列表中。单击“确定”按钮。4)关闭多维数据集编辑器。当提示您保存多维数据集时单击“是”。5)当设计存储窗口向您提示时请单击“是”。6)按照存储设计向导步骤操作并选择以下设置:a)数据存储类型:MOLAPb)聚合选项:性能提升达到20%c)最后步骤:处理多维数据集7)当最后一行显示为:“已成功完成处理”时,单击“进程”对话框中的“关闭”。4设置维度自定义汇总、写回及其它功能在某些应用程序(如预算应用程序和其它财务应用程序)中,维度需要支持自定义汇总。例如,一个帐户维度可能需要支持费用支出帐户,以便通过汇总将这些支出计算收入。在预算或收益应用程序中,数据通常在上一级输入,如产品组或客户组,而不是在最低级别输入。这些数据必须作为常规汇总数据的补充或替代输入。在某些维度中,业务需要可能要求特定级别的所有成员或整个维度是唯一的,和/或进行显示时能以某种方式排序。必须以维度和级别为基础,对这些排序依据和唯一性特征进设置。根据公司的业务流程,必须以关系模型或多维模型来维护维度结构。财务部经理想要创建他们自己的多维数据集,用来分析本年度公司的费用支出并预算下一年度的费用支出。本节将创建一个ExpenseBudget(开支预算)多维数据集。首先,需要通过维度向导,使用所有可用的新高级选项设置一个新的Account(帐目)维度。然后,将设置一个使您得以区分Actual(实际)数据和Budget(预算)数据的Scenario(方案)维度。接着将创建ExpenseBudget多维数据集并对它进行处理。4.1设置一个新的Account(帐目)维度1)在AnalysisManager树窗格的数据库中,右击“共享维度”文件夹,指向“新建维度”菜单,然后单击“向导”命令。2)在“欢迎”步骤,单击“下一步”按钮。3)在“选择维度的创建方式”步骤中,选择“父子维度:单个维度表中相关的两列”,然后单击“下一步”按钮。4)在“选择维度表”步骤,单击“Account”,然后单击“下一步”按钮。5)若要定义子键列,在“成员键”旁边,选择“account_id”。6)若要定义父键列,在“父键”旁边,选择“account_Parent”。7)若要定义成员名列,在“成员名”旁边,选择“account_description”。单击“下一步”按钮。8)向导现在显示“选择高级选项”步骤。逐个选择每个选项,或单击“全选”按钮。进行选择时,描述字段的内容将根据当前选项的内容进行更新。单击“下一步”按钮。9)在“指定排序依据和唯一性”步骤,确保“成员排序依据”框设置为“名称”。然后,在“名称在下列范围内唯一”框中,选择“维度成员”。单击“下一步”按钮。10)在“设置维度写回功能”步骤,选择“启用此维度中的写回功能”复选框,然后单击“下一步”按钮。11)在“设置带有数据属性的成员”步骤,选择“非叶成员有相关的数据”复选框。单击“下一步”按钮。12)在维度向导的“设置自定义汇总”步骤,选择“启用自定义汇总”复选框,然后确保选择了“用运算符定义的自定义汇总”选项。13)单击展开按钮(“...”),该按钮在“运算符列”框旁边。即会出现“定义自定义成员列”对话框。选择“使用现有的列”选项,然后在“现有列”框中,选择“account_rollup”。单击“确定”按钮,然后单击“下一步”。14)最后一步,在“维度名称”框内键入“Account”。保持“创建维度的层次结构”复选框的清除状态。单击“完成”按钮。15)现在在维度编辑器中编辑新创建的“Account”维度。单击“数据”选项卡显示新创建的维度树。展开“所有Account”成员。4.2创建Scenario维度和ExpenseBudget多维数据集1)在维度编辑器中,将为此维度创建一个新的成员属性。单击“架构”选项卡。2)在左窗格中,展开“AccountId”。3)在“架构”选项卡上,从“Account”表选择“account_type”,并将其拖到树窗格中的“成员属性”窗格上。新的成员属性,称为“AccountType”,将添加到列表中。4)退出维度编辑器,当提示保存维度时,单击“是”按钮。5)现在“Account”维度出现在“共享维度”列表中。6)右击“共享维度”文件夹,单击“新建维度”菜单,然后单击“向导”命令。使用维度向导创建Scenario维度,其中将包含各种类别的数据(Actual、Budget、Forecast等等)。将此维度创建为具有下列特征:a)维度类型:父子b)表:Categoryc)会员键:Category_id,父键:Category_parent,会员名:Category_descriptiond)高级选项:自定义汇总、写回e)自定义汇总:单击“启用自定义汇总”复选框,单击“用MDX定义的自定义公式”选项。单击展开按钮(“...”)并选择“创建新列”,然后将其命名为Category_Formulaf)写回:选择“启用写回”复选框g)名称:Scenario7)关闭维度编辑器。8)右击“多维数据集”文件夹,单击“新建多维数据集”,然后单击“向导”命令;此操作将打开多维数据集向导。按照向导所提供的步骤创建ExpenseBudget,使其具有下列特征:h)事实数据表:expense_facti)度量值:Amountj)维度:Scenario、Account、Store、Timek)是否要计算事实数据表的行数?是l)名称:ExpenseBudget9)在多维数据集的“工具”菜单上,单击“设计存储”命令。这将显示存储设计向导,可在其中定义聚合和存储设计。保留存储设计向导中的默认值,并在该向导的最后一步处理该多维数据集。10)处理完毕后,关闭多维数据集编辑器。5