SSAS使用基础手册专业资料_第1页
SSAS使用基础手册专业资料_第2页
SSAS使用基础手册专业资料_第3页
SSAS使用基础手册专业资料_第4页
SSAS使用基础手册专业资料_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQLSERVERSSAS使用手册BI、OLAP、AnalysisServicesBI概念简介BI系统负责从各种数据源中收集数据,并将这些数据进行必要转换后存储到一种统一存储介质中,并提供应使用者将这些数据转换为使用者所需信息功能。一种BI系统普通涉及5层:数据源层(datasourcelayer):由每日操作数据、文本数据、Excel表格、Access数据库、其她外部数据构成;数据转换层(datatransformationlayer):转换数据源层为统一持续数据,并放入数据存储层;数据存储和提取层(datastorageandretrievallayer):数据仓库;分析层(analyticallayer):多维度OLAP数据库,为决策者提供分析根据;展示层(presentationlayer):报表和可视化工具。与当前RDC系统相应,BSERP数据库便相称于一种数据源层,它提供实时事务数据。一种由SSIS(SQLServerIntegrationServices)提供ETL功能可以将业务数据库中操作性数据通过一定规则转换为统一持续数据,它提供便是一种数据转换层功能。通过SSIS转换后数据,存储到DW_RDC数据仓库中。DW_RDC是一种关系型数据仓库,包括两种类型表:维度表和事实表。它提供一种数据存储和提取功能,但是这里数据依然不是多维数据,因此咱们需要将这些数据通过SSAS(SQLServerAnalysisServices)转换成多维数据并提供分析功能,这些多维数据,存储在BI_RDC中。最后,咱们将BI_RDC数据通过Analyzer展示工具进行多维可视化呈现。OLAP、AnalysisServices由SSAS生成BI_RDC是一种OLAP(On-LineAnalysisProcess)多维数据库。OLAP是与OLTP(On-LineTransactionProcess)相相应概念,OLTP是老式关系型数据库重要应用,重要是基本、寻常事物解决;OLAP是数据仓库系统重要应用,支持复杂分析操作,侧重决策支持,并且提供直观易懂查询成果。某些在BI系统中重要概念,也是从OLAP中概念延伸过来,例如:属性、层次构造、维度,度量值等。IntegrationServices、AnalysisServices以及ReportingServices是SQLServer提供BI工具,分别提供BI系统数据转换层、分析层和展示层功能。可以看到使用微软SQLSERVER产品可以完全实现BI系统中可以提供所有功能。其中,MicrosoftSQLServerAnalysisServices为商业智能应用程序提供了联机分析解决(OLAP)功能和数据挖掘功能。AnalysisServices支持OLAP,可以设计、创立和管理包括从其她数据源(如,关系型数据库)聚合来数据多维构造。对于数据挖掘应用程序,AnalysisServices使您可以通过使用各种各样业界原则数据挖掘算法,设计、创立和查看从其她数据源构造数据挖掘模型。使用SSAS需要理解概念Cube、Dimension和MeasureCube就像一种坐标系,每一种Dimension代表一种坐标轴,要想得到一种点,就必要在每一种坐标轴上取一种值,而这个点就是Cube中Cell。见下图(来源于):上图较好阐明了Cube、Dimension、Measure之间关系。这里需要注意是:其实Measure也属于一种维度,即MeasuresDimension。所有Measure构成了MeasuresDimension,这个维度只有一种Hierarchy,并且这个Hierarchy只有一种层次(Level)。Hierarchy、Level和Member在上节图中,每个Dimension只有一种Hierarchy,而在实际环境中,一种Dimension往往有诸多Hierarchy。因而,上一小节中关于“Cube就象一种坐标系,每一种Dimension代表一种坐标轴”这句话其实不够精确,精确说应当是每一种Hierarchy代表了一种坐标轴,而Hierarchy中每一种Member代表了坐标轴上一种值。下图以时间维度为例展示了Dimension内部构造。UDM统一维度模型但愿直接从诸如公司资源规划(ERP)数据库这样数据源中检索信息顾客会晤临几种重要挑战:此类数据源内容普通非常难于理解,由于它们设计初衷是针对系统和开发人员,而不是顾客。顾客所关怀信息普通分布在各种异类数据源中。虽然只是使用其她关系数据库,顾客也必要理解每个数据库详细信息(例如,所用SQL方言)。更糟糕是,这些数据源类型也许各不相似,不但涉及关系数据库,并且还涉及文献和Web服务。尽管许多数据源都倾向于包括大量事务级别详细信息,但是,支持业务决策制定所需查询经常涉及汇总信息和聚合信息。随着数据量增长,最后顾客为进行交互式分析而检索此类汇总值所需时间也会过长。业务规则普通并不封装在数据源中。顾客需要自行理解数据。统一维度模型(UDM)作用是在顾客和数据源之间搭建一座桥梁。UDM构造于一种或各种物理数据源之上。顾客使用各种客户端工具(例如,MicrosoftExcel)向UDM发出查询。虽然UDM只是作为数据源上瘦层来构造,对于最后顾客而言也有益处:更简朴、更容易理解数据模型,与异构后端数据源相隔离,并且汇总类型查询性能也有所提高。在某些方案中,可以自动构造简朴UDM。如果在构造UDM过程中再增长某些投资,则可以从该模型提供丰富元数据中获得其她收益。UDM具备下列长处:极大地丰富了顾客模型。提供了支持交互式分析高性能查询,虽然是数据量非常大也不例外。捕获模型中业务规则,以支持更丰富分析。支持“关闭循环”:容许顾客按照所看到数据进行操作。\o"折叠"基本最后顾客模型当前考虑一种示例,在该示例中,顾客但愿比较不同步间段销售额和配额。销售额数据存储在主数据库“销售额和库存”,其中包括许多其她表。甚至在标记出了有关表之后,该顾客也也许发现单个实体(例如,产品)数据分散在诸多表中。由于引用完整性由应用程序逻辑强制实行,因而没有定义这些表之间关系。销售配额存储在另一种应用程序数据库中。这两个数据库都不会捕获任何业务规则,例如如下事实:为比较配额和实际销售额,必要使用订单发货日期,而不能使用与订单关于其她日期(订单日期、订单到期日期、筹划日期等)。直接访问数据源一方面考虑顾客直接访问数据源状况。下图显示了一种使用示例工具构造查询示例。到当前为止,顾客已经完毕了大量工作。其中涉及:从大量名称隐晦表中筛查出所需表。拟定了应将哪些列用于联接表。从诸多包括大量针对系统详细信息表中,选取那些包括所需详细信息列。例如,在存储了关于产品类别详细信息表中11个列中,只有两个名称列与顾客实际有关。当前顾客专注于定义应当在哪里使用“外部”联接与“内部”联接,以及如何对详细信息进行分组以提供所需聚合。然而,顾客还要面对更艰巨任务。例如,顾客如何联接来自其她数据源数据?虽然其中一种数据库支持分布式查询,大多数顾客依然无法构造所需查询,并且在此任务中工具也许无法向顾客提供足够支持。代码示例显示了一种查询外部数据办法。SELECTQuotas.QuotaAmount,Quotas.EmployeeId,?FROMOPENROWSET('SQLOLEDB','seattle1';'Sales';'MyPass','SELECT*FROMForecasts.dbo.SalesQuota?)AsQuotas如果使用其她数据源(如Web服务),则在拟定如何执行对的远程调用,然后又如何解决返回XML以将其与其她数据合并时,顾客将遇到另一种巨大障碍。最后尚有一点:对一种查询执行此项工作之后,进行下一种查询时,此工作很大一某些又将重复一遍。使用UDM访问数据源与前面情形相反,如下关系图例示了如何为访问某个基于这些数据源而构造简朴UDM顾客生成查询。MicrosoftSQLServer附带开发工具提供了此示例中显示设计界面。但可以使用支持UDM任何接口,涉及客户端工具,例如,OfficeExcel或OfficeWeb组件(OWC),或诸多报表和分析工具中一种。左边树视图显示了UDM内容。注意该示例中如下几点:只为顾客显示面向顾客有关项目。系统列(例如,行GUID或最后修改日期)是不可见。所用名称为和谐名称,而没有使用基本数据库中采用面向开发人员命名商定。UDM还将每个业务实体所有属性分组为单独“维度”,如产品或雇员。因而,客户端便可引用该示例中“产品颜色”、“子类别”以及“类别”,而无需在所涉及大量表之间显式执行联接。这些表达事务值或度量值列随后将显示为“度量值”。例如,顾客普通都喜欢对销售量或销售配额之类列进行聚合。这种将数据显示为“度量值”和“维度”办法称为“维度建模”。右边关系图显示了当前查询中包括元素。在这种状况下,为了祈求“按产品类别分类销售额和配额”,顾客只需通过从树视图中将三个有关项目拖动到右侧设计界面中,即可定义查询。顾客不必指定实际访问两个不同数据源时所需详细信息,或在诸多有关表之间执行对的联接。模型定义了简朴默认格式:例如,使用货币符号。还可以定义更复杂格式,涉及条件格式,例如,如果某个值低于特定阈值,则以红色显示该值。同一模型可支持各种查询。例如,只需通过拖动雇员维度中一种属性便可按雇员对成果进行细分。\o"折叠"扩展基本模型虽然上面示例阐释了虽然简朴UDM也可以明显地简化基本数据浏览。但是,当顾客访问数据时,还会遇到更多挑战。例如:支持来自不同顾客众多不同类型查询UDM规模也许会变得非常庞大。如何才干保证解决特定任务顾客不会受到与之无关信息干扰?如何满足全球顾客但愿看到以其自己母语显示报表规定?如何才干简化所有与时间有关常用问题?例如,顾客也许但愿显示与上一年同期进行比较销售额。本某些探讨了上述某些问题,阐明UDM如何支持对基本模型进行扩展以协助顾客实现更高档数据浏览操作。层次构造虽然将一种实体所有属性合并为一种维度可以明显简化顾客模型,但是,尚有某些属性关系是用简朴列表所无法表达。在前面示例中,“类别”、“子类别”以及SKU定义了其中一种可用于组织产品层次构造。由于顾客经常但愿基于此类层次构造执行分析,因而UDM容许定义此类层次构造。例如,按“类别”查看总计之后,顾客也许要进一步到“子类别”,然后进一步到最低SKU级别。每个层次构造都是序列属性,可以在查询中使用这些属性来简化这种向下深化和向上深化情形。如下关系图示例显示了层次构造也许以何种形式出当前最后顾客界面中。该模型包括若干种不同层次构造,产品便是按照这些层次构造来组织。这里显示查询回答了这个问题:“显示以产品类别分组销售额和配额,然后细分到子类别。”该查询是通过将“按类别分类产品”层次构造拖到网格中来定义。为了查看详细数据,该顾客双击“自行车”类别以展开子级别。UDM解决如何在层次构造级别之间进行移动详细信息。UDM还解决诸如配额在“子类别”级别不可用而只在“类别”级别可用这样详细信息。其中一种特殊层次构造是父子层次构造,这种构造中包括互相之间具备复杂关系实体。在下一种图中,“雇员”维度具备名为“按组织构造分类雇员”层次构造。使用此层次构造,您可以更容易地在组织每个级别浏览父子关系并分析汇总值。例如,主管销售CharlesMarshall销售配额涉及其所有员工销售配额总和再加上与其直接有关所有销售配额。分类顾客普通会为其数据应用分类。例如,顾客也许说“这些属性包括了雇员个人详细信息方方面面”或“此属性是电子邮件地址”。UDM提供有两种机制,专用于依照此分类来提供其她值:维度、属性和其她对象可以放在语义上故意义类别中,以便于客户端工具更加合理地使用它们。例如,属性可以标记为URL。然后,包括此属性报表便可依照URL值进行导航。另一种属性也许标记为电子邮件地址。在这种状况下,报表客户端就也许依照某些顾客操作自动打开新电子邮件。度量值、层次构造和其她对象都可以分组到对顾客故意义文献夹中。使用此分组,报表工具可以以更易于管理方式显示大量属性。例如,也许有一组标签为“CustomerDemographics”属性。时间时间信息普通使用“日期时间”或“日期”数据类型记录在基本数据源中。尽管精通SQL或XPath顾客可以提取按年度总计数据所需要日期信息,但虽然是这样顾客也也许会发现很难基于时间其她方面来为问题编写查询,例如“按星期几显示销售额”或“从七月一日开始,按会计年度显示明细。”但是,UDM有内置时间知识,涉及如下日历:自然会计报告(“445”等)生产(13个期间)ISO8601因而,该模型也许涉及一种时间维度,该时间维度提供了一组丰富属性用于定义每日详细信息。下图显示了当顾客选取查看会计年度销售量和配额时成果。若要执行此操作,顾客只需将有关项从树拖到筛选区域。UDM懂得如何将该顾客操作翻译为日期范畴,此外,它还理解业务规则,即查询中必要涉及在这些日期发货订单,而不是在这些日期到期订单或在这些日期定购订单。由UDM隐式执行对的联接。此外,UDM为回答与时间有关常用问题提供了特定支持,这些问题涉及诸如“本月与上一年度同一月份比较”这样同期比较。翻译在上面示例中,模型内容和数据都以一种语言显示。但是,国际顾客普通需要查看以她们本地语言显示元数据。为理解决此问题,UDM容许将元数据翻译为其她任何语言。使用特定区域设立连接客户端应用程序便可接受以相应语言显示所有元数据。该模型还可以进行数据翻译。属性可以映射到数据源中其她元素,并且可觉得这些元素提供不同语言翻译。例如,如果顾客在连接时使用了咱们在上一示例中始终使用相似工具,但这是从采用法语区域设立客户端计算机上执行,则UDM和查询成果都会以法语显示,如图所示。透视虽然此处所用示例模型大小非常适度,但是,真实模型也许涉及更广范畴,包括数十种度量值和维度,并且每个维度都包括数十种或数百种属性。执行特定任务顾客普通不必查看完整模型。为了避免模型完整大小对顾客产生干扰,咱们需要定义一种视图来显示该模型一种子集。UDM提供了这种称为透视视图。一种UDM可以具备各种透视,每个透视都只表达一种与特殊顾客组有关特定模型子集(度量值、维度、属性等)。然后,每个透视都可与顾客安全角色(定义应当看到该透视顾客)进行关联。例如,名为“西雅图库存”透视可以定义为只包括来自库存度量值组度量值,隐藏“按位置分类仓库”层次构造,并将默认“都市”设立为“西雅图”。属性语义UDM提供了属性其她语义。这些语义目的是为了使信息更容易使用。下面是可以应用于属性语义某些示例:名称与键:查看关系数据库时,也许无法理解EmployeeID是一种系统生成无意义唯一键。UDM解决此问题办法是让“雇员”属性同步具备键(唯一EmployeeID)和名称(例如,名称由FirstName和LastName串联而成)。诸如“显示雇员”这样查询便可通过使用其唯一ID来对的地区别同名雇员,但是显示对顾客故意义名称。排序:属性值普通必要以某个固定顺序显示,而该顺序并不是简朴字母或数值顺序。UDM容许定义默认排序设立以管理此规定。例如:按星期日、星期一、星期二等星期日期浮现。顺序中优先级显示为高、中、低。离散化:对于数值属性,显示属性每个非重复值普通毫无意义。例如,查看某个产品所有不同价格($9.97,$10.05,$10.10,…)销售额与查看每一价格范畴(<$10,$10-$15,…)销售额相比,后者更有用。UDM容许使用各种条件将属性离散到上述范畴中。核心性能指标(KPI)公司普通会定义核心性能指标(KPI),这些指标是用于衡量业务发展状况重要原则。UDM容许创立这样KPI,以便公司可以按更易于理解方式分组和呈现数据。KPI还可以使用图形来显示状态和走向,例如,表达好、普通或糟糕批示灯。UDM中每个KPI可觉得每个性能指标最多定义四个表达式:实际值目的值状态一种介于-1和1之间规范化值,表达实际状态与目的比率(-1表达“非常差”,1表达“非常好”)走向一种介于-1和1之间规范化值,表达一段时间走向(-1表达“明显变差”,1表达“明显变好”)使用KPI,客户端工具可以用一种顾客更容易理解方式来提供有关度量值。下图中示例显示了客户端工具如何显示三个KPI(已组织到显示文献夹)。\o"折叠"性能顾客执行交互式浏览需要具备迅速响应时间。由于这种数据浏览频繁进行,而它所涉及数据集又非常大,因而这个规定给人们提出了一道难题。为了提高性能,UDM提供了缓存服务。缓存可以存储从基本数据源读取详细数据,以及基于该数据预先计算聚合值。然而,使用这些缓存值也许会暗示数据在某种限度上有些陈旧。业务规定决定对信息时效性规定。在某些状况下,规定必要显示最新数据;而在其她状况下,显示已存在两小时甚至两天数据也是完全可以。为了反映这种指定数据状态方略,UDM既容许显式管理缓存(例如,可以将筹划定义为在每天凌晨2点刷新缓存),也容许使用“积极缓存”进行透明管理。顾客可以指定对数据时效性规定,而UDM将自动创立和管理缓存,以尽量提高对查询响应速度。\o"折叠"分析前面某些解决了UDM如何支持交互式数据浏览问题。但是,只是使信息可从基本数据源中获得,虽然以更容易理解和易用形式,也显然不符合将业务逻辑并入顾客模型中这一目的。因而,UDM提供了用来定义对数据执行简朴和复杂计算功能。基本分析查询普通返回聚合数据。例如,典型查询将按类别显示销售额,而不是逐个显示每个销售订单。但是,并没有可以定义应当如何聚合特定度量值基本关系数据。例如,可以明显地对销售量进行汇总,但单位价格应当是平均值。UDM添加了这种语义。可以使用各种方案定义聚合办法:可以使用简朴聚合函数,例如Sum、Count、DistinctCount、Max或Min等。可以将聚合定义为半累加。这表达将使用诸如Sum这样简朴函数来计算除“时间”(在其中使用了“最后期间”)外所有维度。例如,虽然可以从“产品”到“产品类别”对库存级别进行求和,但是“月份”库存级别不是每天库存级别之和;相反,该月库存级别是该月最后一天库存级别。聚合可以基于账户类型(如收入与支出)。可以自定义聚合以满足任何特殊规定。UDM还可以包括计算成员。这些成员未与源数据直接关联,但是派生自源数据。例如,计算成员(方差)可以定义为计算销售额和配额之间差别。同样,UDM可以定义顾客关怀实体集:例如,按销售量排名前10名客户或最重要产品。然后可以轻松使用这些集将查询范畴限制到特定实体集。高档分析有时,顾客需要计算比前面给出“方差”示例更复杂。下面是复杂计算某些示例:显示每个时间段本三个月移动平均值。比较此时间段和上一年相似时间段逐年增长率。如果销售额以基本货币进行报告,请使用销售时当天平均汇率将销售额转换为原始货币。按照比今年销售额增长10%条件计算下一年每个类别预算销售额,然后依照过去3年相对平均销售额将该预算销售额向下分派给每个产品。UDM提供了一种完备模型用于定义上述计算,与多维度电子表格类似,它可以基于其她单元中值来计算某个单元值。但是,甚至上述比喻也局限性以描述UDM中计算丰富性。某个单元中值也许不但依照其她单元中值进行计算,并且还依照该单元过去值进行计算。因而,它可以支持联立方程;例如,利润等于收入减去支出,但是奖金(涉及在支出中)来自利润。除了提供专用于编写此类计算功能强大多维度表达式(MDX)语言以外,UDM还启用了与Microsoft.NET集成。此集成容许以任何可验证.NET语言(例如,C#.NET或VisualBasic.NET)编写存储过程和函数。然后,可以从MDX调用存储过程或函数,以便在计算中使用。客户端不能查看此类计算详细信息。对于客户端应用程序,这只意味着模型当前有了更有用度量值。在下面示例中,顾客要查看在美国销售利润最高产品各种计算度量值(基于销售额)。与数据挖掘集成可以以丰富、容易理解形式显示数据很重要,但顾客还需要能通过数据推导出新信息。UDM紧密集成了数据挖掘技术,容许对数据进行挖掘,并在后来使用发现模式执行预测。\o"折叠"使数据可操作对于顾客而言,查看数据普通会及时引起更多问题,或者引起采用某种操作需要。例如:“加入该编号详细销售额涉及哪些?”“配额太低-我必要增长配额。”“这有些不正常-我想要使用注释对该编号进行标记。”“咱们在网站上针对该促销提供了哪些详细信息?”通过易于理解方式为顾客提供数据是不够。还需要使顾客可以更容易地依照她们所看到数据执行操作。UDM通过下列两种方式提供这种支持:容许将更改写回数据中使操作与数据关联。写回UDM不是只读。也可以通过UDM更新数据。在使用度量值状况下,更新可以像这些值增量那样,与原始值分开存储。此外,还可以更新汇总数字。例如,请考虑预算方案。虽然预算量也许最后在详细级别(例如,按组和帐户)上公开,但是值也许一方面在汇总限度较高档别(按部门和帐户类型)上公开。操作UDM支持操作涉及数据和基于该数据执行操作之间链接。重要操作种类涉及:URL:转到指定URL。此类型操作支持将顾客引向某些URL,以获得进一步信息,并将顾客引向容许执行新任务某些基于Web应用程序。例如:对于产品,转到阐明该产品公司网站。对于产品/仓库组合,转到基于Web库存管理应用程序(将产品/仓库作为参数进行传递)以容许提高安全存货水平。报表:执行指定报表。例如,对于给定产品,该操作可以执行一种参数化产品报表,以用来提供产品阐明和当前订单状态。钻取:钻取到可用详细信息最低档别。例如,按产品和客户查看总销售额顾客可以钻取查看构成总销售额所有销售事务。操作可以与特定区域数据进行关联。例如,导航到网页操作也许应用于每个产品,但是查看详细存货转移事务操作将应用于每个产品和仓库数量值。虽然操作已定义为UDM一某些,但是客户端应用程序应当负责检索合用操作详细信息,并将操作提供应顾客,然后依照需要启动操作。\o"折叠"安全性对UDM访问是可控制。安全性重要功能涉及:UDM提供基于角色安全性。可以定义角色,可以将权限授予这些角色以及作为每个角色成员顾客。顾客实际权限是授予顾客所属每个角色权限联合。角色权限也可涉及“强回绝”,是指删除与顾客也许所属其她角色无关权利。管理权限(例如,更改UDM)可以独立于数据访问权限而进行授予。并且,可觉得读取对象元数据,以及为数据读/写访问权,定义单独权限。可以在直至单个单元粒度级别上对数据进行安全设立。例如,可以将查看产品“器材”销售额顾客限制为客户“ACME”。安全性也可以是有条件:例如,只有当某个部门具备五名以上雇员时才容许某个角色查看该部门薪金总额。权限可以定义与否应使用直观共计(在这种状况下,共计只反映顾客对其具备权限较低档别成员)。单元访问也可以是有条件,这表达只有当其她所有单元也是可查看时,从其她单元派生单元才是可查看。例如,如果利润派生自收入和成本,则顾客只能查看她们有权同步查看其收入和成本产品利润。创立一种SSAS项目SQLServer是以解决方案来管理一种BI项目,BI项目可以是AnalysisServices项目、IntegrationServices项目或者是ReportingServices项目,一种解决方案可以包括以上三类项目任意一种或几种,这取决于使用者在创立这些项目时是使用同一种解决方案还是另创立一种新解决方案。创立任意BI项目,都是在SQLServer提供“SQLServerBusinessIntelligenceDevelopmentStudio”环境中实现。(1)一方面在“开始程序MicrosoftSQLServer”中,找到“SQLServerBusinessIntelligenceDevelopmentStudio”并点击打开。(2)在打开页面中,可以选取新建一种新AnalysisServices项目。新建项目办法有两种:=1\*GB3①在页面顶部工具栏中选取“文献”,在弹出菜单中选取“新建项目”=2\*GB3②在页面“近来项目”中,点击“创立”右侧项目(3)在打开“新建项目”对话框“模板”中,点选“AnalysisServices项目”,并且在底部输入该项目名称,存储位置,并且勾选“创立爱你解决方案目录”,随后可以此外给解决方案命名或者保持与项目名称一致;如果是在已经打开一种项目后选取创立新项目,还可以选取是新建解决方案还是将该项目添入已存在解决方案。(4)点击“新建项目”对话框中拟定按钮,新AnalysisServices项目创立成功。创立数据源与数据源视图创立数据源在新建成功项目“解决方案资源管理器”中,可以开到一种AnalysisServices项目中涉及几种空文献夹,分别是数据源、数据源视图、多维数据集、维度、挖掘构造、角色、程序集、杂项。其中数据挖掘文献夹是用来创立数据挖掘功能,本文档并不涉及。一种AnalysisServices项目数据源是为将要生成OLAP多维数据库提供数据。一种AnalysisServices项目数据源文献夹可以包括各种数据源,但是普通BI系统都会将来自业务系统中数据通过ETL过程抽取、转换后加载到一种数据仓库或者是ODS系统数据库中。在RDC系统中,数据源是来自于DW_RDC数据仓库中。DW_RDC中汇总了创立OLAP多维数据库所需所有维度和度量数据。(1)在“解决方案资源管理器”中,右键单击“数据源”文献夹,在弹出菜单中选取“新建数据源”(2)随后会弹出“数据源向导”。在“数据源向导”欢迎页面中点击下一步。(3)在“选取如何定义连接”也页面中选取“基于既有连接或新连接创立数据源”并且点击“新建”按钮。(4)在弹出“连接管理器”中,键入“服务器名”;在“登录到服务器”中选取“使用SQLServer身份验证”,并且键入顾客名和密码;在“连接或输入一种数据库名”中选取为AnalysisServices提供数据源数据库。(5)点击“测试连接”,弹出显示“连接测试成功”信息对话框黄总点击“拟定”回到“连接管理器”对话框中并再次点击“拟定”回到“数据源向导”“选取如何定义连接”页面中。(6)在“选取如何定义连接”页面“数据连接”中会存在上一环节中创立数据连接。点击下一步。(7)在“模仿信息”页面中选取“使用服务账户”并点击“下一步”(8)在“完毕向导”页面中,可以键入数据源名称或者保持默认。点击完毕,数据源创立成功。(9)在“解决方案资源管理器”中可以在“数据源”文献夹下看到后缀为ds数据源文献。创立和设计数据源视图创立数据源视图MicrosoftSQLServer中联机分析解决(OLAP)和数据挖掘项目是依照一种或各种数据源中有关表、视图和查询逻辑数据模型来设计。此逻辑数据模型称为数据源视图。数据源视图是一种对象,它包括来自所选数据源对象(其中涉及在基本数据源或数据源视图中定义这些对象之间所关于系)元数据。数据源视图缓存生成视图所基于数据源中元数据。使用缓存元数据可以在不具备持续有效数据源连接状况下开发AnalysisServices项目。使用数据源视图可以定义填充大型数据仓库数据子集。此外,通过数据源视图还可以定义基于异类数据源或数据源子集同源架构。由于数据源视图代表一种独立架构,因此可以依照需要添加任何批注,而不会影响基本数据源架构。(1)右键单击“数据源视图”文献夹,在弹出菜单中选取“新建数据源视图”。(2)在“数据源视图向导”欢迎页面中点击“下一步”。(3)在“选取数据源”页面中,选中“DWRDC”数据源,并点击下一步。(4)在“名称匹配”页面中,保持默认并点击“下一步”。(5)在“选取表和视图”页面中,选取创立OLAP多维数据库需要表和视图。(6)在可用对象中选中需要使用到表并点击箭头按钮,将该表添加进包括对象中。这里以RDC系统OM主题为例,仅选取该主题需要到表和视图。选取好之后点击“下一步”。(7)在“完毕向导”页面中,键入数据源视图名称或者保持默认。点击“完毕”结束创立数据源视图。(8)在“解决方案资源管理器”中,浮现后缀为dsv数据源视图。设计数据源视图创立成功数据源视图之后,SQLServerBusinessIntelligenceDevelopmentStudio会自动弹出DWRDC.dsv设计界面,并且归属到“DWRDC.dsv[设计]”选项卡中。设计界面涉及三某些内容分别为:“关系图组织程序”窗格:可在其中创立子关系图,用于查看数据源视图子集。“表”窗格:其中将以树形式显示各个表及其架构元素。“关系图”窗格:其中将以图形方式显示各个表及其互有关系。数据源视图设计选项卡中重要操作就是定义维度和维度、维度和事实表之间关系。定义关系操作既可以在“表”窗格也可以在“关系图组织程序”窗格中实现。由于在设计数据仓库时都会事先定义好维度表主键,因此在创立数据源视图之后有些关系是自动创立好,但是依然会存在需要手动设定不同表之间关系操作。上图“关系图组织程序”中,Dim_Date表便不存在任何与其她表关系。这里咱们通过两种方式阐明创立Dim_Date表与其她表关系办法。这里应当理解是,关系都是从包括外键表指向包括主键表。依照维度表和事实表特性,维度表中一定会包括主键,有也许包括外键;而事实表中包括键普通都是外键,因而一张事实表普通都是指向外部关系,而维度表则既有指向自己关系,也有指向外部关系。在“表”窗格中创立关系(1)在表窗格中,展开Dim_Date表,右键Dim_Date或者右键Dim_Date中包括“关系”文献夹,选取弹出菜单中“新建关系”功能。(2)在弹出“指定关系”对话框中,在“源(外键)表”选取框中选取Fact_OM事实表(本次示例中仅有Fact_OM表中包括外键DateKey),在“目的(主键)表”中选取Dim_Date表;在源列和目的列中都选取“DateKey”。随后点击拟定。(3)创立成功之后,会在Dim_Date表“关系”文献夹中浮现一种关系。并且在“关系图组织程序”窗格中也会相应浮现Fact_OM到Dim_Date指向关系。在“关系图组织程序”窗格中创立关系(1)在“关系图组织程序”窗格中,Dim_Date表和Fact_OM开始不存在任何关系。(2)选中“Fact_OM”表中DateKey并将它拖动到Dim_Date表中DateKey位置,会在两者之间创立关系,由于最初并未将Dim_Date表中DateKey设立为主键,因此在创立关系时会弹出“与否创立逻辑主键?”对话框,点击是会在DateKey之前标记主键。(3)创键成功后会在“表”窗格中Dim_Date表中“表”文献夹中浮现两者之间关系。创立和布置维度在一种AnalysisServices项目中,创立维度和多维数据集先后顺序可以任意。如果先创立多维数据集并且在创立多维数据集过程中创立维度,不利于维度设计和维护。因而在开发过程中一方面创立需要使用到维度,然后再创立多维数据集。任何维度和多维数据集中度量值,都是以数据源视图中表为基本,如果想要创立维度和多维数据集度量值在数据源视图中并不存在,则必要一方面在数据源视图中一方面添加表之后才干创立。本实例中数据源视图中一共包括了11张表,其中两张表是事实表,此外九张表都是维度表,其中Dim_Date维度表可以创立时间维度,Dim_Channel维度表可以创立父子维度,其她维度表,都创立为原则维度。原则维度原则维度是最基本维度。其她特殊维度都可以通过一方面将该维度创立成原则维度后改进维度属性特性等操作实现。维度数据源便是数据仓库中维度表,原则上维度表中任意一种字段都可以相应一种维度中属性,但是并不是每一种维度表中字段均有必要转换成维度属性,这需要依照实际需求设计。这里以Dim_Customer维度表为例,演示阐明如何通过该维度表创立一种DimCustomer维度。(1)右键单击“解决方案资源管理器”中BI项目“维度”文献夹,在弹出菜单中选取“新建维度”。(2)在“维度向导”欢迎页面中点击“下一步”。(3)在“选取创立办法”页面中,选取“使用既有表”,点击“下一步”(4)在“指定源信息”页面中,选取所要创立维度主表,选取该维度键列以及名称列(5)在“选取有关表”中,取消勾选“Dim_Channel”和“Dim_Area”,点击“下一步”。(6)在“选取维度属性”页面中,勾选需要用到维度属性,在该环节中可以在属性类型中设立维度中每一种属性类型。由于这里创立是常规维度,因此在属性类型保持默认“常规”就可以。选取好之后点击“下一步”。(7)在“完毕向导”页面中,键入维度名称或者保持默认。之后点击“完毕”。(8)在“解决方案资源管理器中”“维度”文献夹中浮现后缀为dim维度文献。并且SSAS会自动打开维度设计器。(9)在解决方案资源管理器中右键单击DimCustomer.dim维度,在弹出菜单中选取“解决”。(10)SSAS会弹出对话框,直接选“是”,一方面对该维度进行布置(11)布置成功后,点击“运营”对该维度进行解决(在“解决维度”对话框中可以配备解决设立,并且设立解决选项,但此处咱们保持默认)(12)维度解决成功后点击“关闭”。这是可以通过“维度设计器”“浏览器”选项卡中浏览维度数据。(13)打开“维度设计器”中“浏览器”选项卡,并在“层次构造”中选取“CustomerName”。在“当前级别ALL”之前“+”。会看到客户名称属性包括数据。(14)咱们以同样办法为除了Dim_Date表以及Dim_Channel表以外其她维度类型表创立原则维度,创立成功之后,“解决方案资源管理器”中“维度”文献夹下共包括6个原则维度时间维度任何BI系统特别是商业应用BI系统都应当包括一种时间维度。普通,一种时间维度粒度精准到月,但是依然有诸多商业需求规定将时间维度粒度精准到每一天。在SSAS中创立时间维度方式有三种,第一种方式是像创立原则维度那样基于一张时间维度表创立时间维度;第二种方式是通过维度创立向导创立,基本数据源中创立一种新时间维度表。维度将包括顾客指定日期范畴、属性和日历数据;最后一种方式是直接在服务器上创立时间维度,而不使用基本数据源。维度将包括顾客指定日期范畴、属性和日历数据。本文档以第一种方式来简介如何生成一种基于时间维度表时间维度。以这种方式创立时间维度表,指定维度属性属性类型方式有两种。第一种是一方面向创立常规维度那样创立时间维度,创立成功之后,在时间维度属性特性处修改时间类型;或者是在创立时间维度过程中指定期间维度属性类型。(1)在“解决方案资源管理器”中,右键单击“维度”文献夹,在弹出菜单中选取“新建维度”。(2)在“维度向导”“选取创立办法”页面中选取“使用既有表”。点击“下一步”。(3)在“指定源信息”也卖弄中选取Dim_Date表为主表,并点击“下一步”。(4)在“选取维度属性”页面中选取进行BI分析所需时间维度属性,并点击“下一步”(5)在“完毕向导”页面中,键入名称或保持默认,点击“完毕”。(6)在“解决方案资源管理器”中“维度”文献夹下中浮现“DimDate.dim”维度。(7)在DimDate.dim维度设计器中,右键单击“DateKey”属性并在弹出菜单中选取“属性”。(8)在“DateKeyDimensionAtteibute”窗口中,找到“Type”特性,并在右侧窗口中点击倒三角图表。(9)在“Type”特性菜单中,展开“日期”,接着展开“日历”。选取“Days”。(10)接着为其她时间维度属性定义“Type”。Month属性“Type”定义成“Month”;为MonthCN属性“Type”定义为“Month”;为PeriodOfTenDays属性“Type”定义为“TenDays”;为QuarterEN属性“Type”定义为“QuarterEN”;为WeekOfYear属性“Type”定义为“Weeks”;为Year属性“Type”定义为“Years”。时间维度创立成功。(11)此外一种指定维度属性属性类型方式,是在创立时间维度过程中,在“维度向导”“选取维度属性”页面中指定期间属性属性类型。(12)时间维度创立完毕之后,对该维度进行布置和解决,之后便能在“维度设计器”“浏览器”选项卡中浏览数据。父子维度父子维度与其她维度不同地方就是维度中数据是递归层次关系。如adventureWorksDW库中DimEmployee表中数据(上级和下级雇员层次关系)就是递归关系。表中主键是EmployeeKey列,相应于每个雇员ID,雇员上级ID保存在ParentEmployeeKey列。也就是说ParentEmployeeKey和EmployeeKey列是外键关系。本实例中Dim_Channer表中数据存在递归关系,即包括父渠道渠道代码也涉及子渠道渠道代码,因此以Dim_Channel表为数据源创立维度需要创立成父子维度。(1)一方面应当在数据源视图中创立Channel自关联关系。右键单击数据源视图中Dim_Channel表,选取“新建关系”。(2)在“指定关系”页面中,选取“源(外键)表”和“目的(主键)表”都为Dim_Channel,随后在源列中选取“ParentChannel”字段,在目的列中选取“Channel”字段。点击“拟定”。(3)在Dim_Channel表上会浮现一种指向自己关系。(4)关系创立成功后,右键单击“解决方案资源管理器”下“维度”文献夹,在弹出菜单中选取“新建维度”(5)创立维度过程与创立原则维度过程完全相似。当DimChannel维度创立成功之后,在DimChannel设计器中,ParentChannel属性会浮现父子维度标记,同步在ParentChannel属性窗口用法为Parent,而其她属性均为Regular。顾客自定义层次构造顾客自定义层次构造是相对于属性层次构造概念,在创立维度之后,SSAS会自动将每一种维度属性定义为一种属性层次构造,该属性层次构造普通只有两层,顶层为默认成员,子层为该属性包括所有值。顾客自定义层次构造是顾客在创立维度后按照需求自己定义层次,这种层次可以有任意多层,层次之间关系不是自然关系。本示例中DimCustomer维度中,可以按照“区域代码渠道代码客户代码”顺序创立顾客自定义层次构造,而这种层次构造中各层次之间关系并不是自然关系而是顾客自定义。(1)在DimCustomer维度设计其中,点击“AreaCode”并按住鼠标左键将其拖动到“层次构造”窗格中。(2)在“层次构造”窗格中会浮现“层次构造”。(3)依次将Channel属性和CustomerCode属性拖到层次构造“新级别”位置。设立好层次构造如下图左图。层次构造创立成功。(4)布置并解决该维度,在维度“浏览器”窗格中,可以浏览刚刚创立层次构造。创立和布置多维数据集创立多维数据集(1)在“解决方案资源管理器”中,右键单击“多维数据集”文献夹,在弹出菜单中选取“新建多维数据集”。(2)在“多维数据集向导”欢迎页面中点击“下一步”。(3)在“选取创立办法”页中,选取“使用使用表”。点击“下一步”。(4)在“选取度量值”页面中选取一种度量值组(由于本示例数据源视图中仅有两张事实表,因而此处仅选取一张表,此外一张表在演示如何在已经创立好多维数据集中添加度量值组时添加)。点击“下一步”。(5)在“选取度量值”页面中华人民共和国,选取分析所需要用到度量值。点击“下一步”。(6)在“选取既有维度”页面中,选取与Fact_OM事实表关联维度表,点击“下一步”。(7)在“完毕向导”页面,键入多维数据集名称或者保持默认,并点击“完毕”。(8)SSAS会自动打开刚刚创立OM多维数据集设计器,在多维数据集设计器中,可以添加度量值组,添加需要使用到维度以及修改度量值组属性等操作。修改多维数据集修改多维数据集操作涉及添加度量值组,添加度量值,添加维度以及修改度量值组与度量值属性等操作。本示例简介如何添加度量值、度量值组以及修改度量值组和度量值属性。在多维数据集设计其中添加度量值组(1)在多维数据集设计器中,打开“多维数据集构造”选项卡,右键单击“度量值”窗格中OM多维数据集,在弹出菜单中,选取“新建度量值组”。(2)在“新建度量值组”对话框黄总,选取“Fact_OMTarget”表,点击拟定。(3)FactOMTarget度量值组出当前“多维数据集构造”中“度量值”窗格中,在“数据源视图”窗格中也会浮现Fact_OMTarget事实表。修改度量值组和度量值属性(1)右键“多维数据集构造”选项卡中“度量值”窗格中某一种度量值组,在弹出菜单中华人民共和国选取“属性”。SSAS会弹出度量值组属性配备器(2)度量值组属性拟定整个度量值组行为,并设立度量值组内度量值某些属性默认行为。详细定义如下表。属性定义AggregationPrefix指定用于聚合名称通用前缀。DataAggregation拟定AnalysisServices与否可为度量值组聚合持久化数据或缓存数据。默以为聚合持久化数据和缓存数据。ErrorConfiguration可配备错误解决设立,用于解决重复键、未知键、空键、错误限制、检测到错误时操作以及错误日记文献。EstimatedRows指定事实数据表中预计行数。EstimatedSize指定度量值组预计大小(字节)。ID指定对象标记符。IgnoreUnrelatedDimensions拟定当查询中涉及与度量值组无关维度成员时,与否将无关维度强制为顶级。默认设立为True。ProactiveCaching可配备错误解决设立,用于解决重复键、未知键、空键、错误限制、检测到错误时操作以及错误日记文献。ProcessingMode批示在解决期间或之后与否进行索引和聚合。选项是Regular和LazyAggregations。ProcessingPriority拟定在后台操作(例如,惰性聚合和索引)期间多维数据集解决优先级。默认值为0。StorageLocation度量值组文献系统存储位置。如果未指定,则从包括度量值组多维数据集中继承该位置。StorageMode度量值组存储模式。可用值是MOLAP、ROLAP或HOLAP。Type指定度量值组类型。(3)在“多维数据集构造”选项卡中“度量值”窗格中展开某一种度量值组,右键单击该度量值组中度量值,在弹出菜单中选取“属性”,SSAS会弹出度量值属性配备器。(4)度量值从其所属度量值组中继承某些属性,除非这些属性在度量值级别被覆盖。度量值属性拟定度量值聚合方式、它数据类型、对顾客显示名称、度量值将在其中浮现显示文献夹、它格式字符串、任何度量值表达式、基本源列和它对顾客可见性。属性定义AggregateFunction拟定度量值聚合方式。关于详细信息,请参阅聚合函数。DataType指定与度量值绑定基本领实数据表中列数据类型。Description提供度量值阐明,可以在客户端应用程序中显示该阐明。DisplayFolder指定当顾客连接到多维数据集时度量值将在其中显示文献夹。多维数据集有诸多度量值时,可以使用显示文献夹来对度量值进行分类,从而改进顾客浏览体验。FormatString拟定显示格式。详细信息,请参阅显示格式。ID显示度量值唯一标记符(ID)。该属性为只读。MeasureExpression指定定义度量值多维表达式(MDX)。Name指定度量值名称。Source指定与度量值绑定数据源视图中列。Visible拟定度量值可见性。维度用法维度用法定义如何在每个度量值组中使用多维数据集维度。维度关系定义度量值组中使用多维数据集维度如何与度量值组中度量值有关。在“多维数据集”设计器“维度用法”选项卡页面中可以设定不同度量值组和维度之间关系。维度用法依照维度表和事实表关联方式不同而不同,重要有常规关系、被引用关系、事实关系和多对多关系。=1\*GB3①当维度键列与事实数据表直接联接时,多维数据集维度与度量值组之间便会存在常规维度关系。这种直接关系基于基本关系数据库中主键-外键关系,但是也可以基于数据源视图中定义逻辑关系。常规维度关系表达老式星型架构设计中维度表与事实数据表之间关系;引用维度关系表达雪花型架构设计中维度表与事实数据表之间关系。=2\*GB3②当雪花型架构中各维度表进行连接时,顾客可以使用各种表中列定义一种维度,也可以依照单独维度表定义单独维度,然后使用引用维度关系设立定义这些维度之间链接。=3\*GB3③事实维度普通称为退化维度,是通过事实数据表而非维度表中列构造原则维度。有用维度数据有时存储在事实数据表中以减少重复。=4\*GB3④多对多维度关系通过指定联接到维度表中间事实数据表来定义维度与度量值组之间关联。中间维度表接着同步联接到中间事实数据表和该关系指定度量值组所基于事实数据表。中间事实数据表与该关系中维度表以及中间维度之间多对多关系便创立了主维度成员与由该关系指定度量值组中度量值之间多对多关系。多对多维度可将维度模型扩展了老式星型架构范畴,并在维度不直接与事实数据表有关联状况下支持复杂分析。(1)打开“OM.cube设计器”中“维度用法”选项卡,可以看到在创立多维数据集时SSAS自动关联维度和度量值组之间用法。(2)点击度量值组和维度交点处按钮,打开“定义关系”窗口。(3)在“选取关系类型”筛选框中打开下拉菜单,可以看到维度用法种类。(本示例中维度与度量值组之间关系所有为常规关系。)使用聚合功能度量值聚合方式分为累加性,办累加性和非累加性。在“多维数据集设计器”“度量值”选项卡中,展开某一度量值组并右键单击其中包括度量值,在弹出菜单中选取属性。在属性设计其中,找到“AggregateFunction”并展开下拉列表。可以看到,其列表中包括12中聚合方式。聚合函数累加性返回值Sum累加性对所有子成员值求和。这是默认聚合函数。Count半累加性检索所有子成员计数。Min半累加性检索所有子成员最低值。Max半累加性检索所有子成员最高值。DistinctCount非累加性检索所有唯一子成员计数。None非累加性不执行任何聚合,直接从事实数据表中为包括度量值度量值组提供维度中叶成员和非叶成员所有值。如果从事实数据表中无法为成员读取任何值,则该成员值设立为空。ByAccount半累加性依照为账户维度中某一成员账户类型指定聚合函数计算聚合。如果度量值组中不存在任何账户类型维度,则视为None聚合函数。关于账户维度详细信息,请参阅账户(SSAS)。AverageOfChildren半累加性计算所有非空子成员平均值。FirstChild半累加性检索第一种子成员值。LastChild半累加性检索最后一种子成员值。FirstNonEmpty半累加性检索第一种非空子成员值。LastNonEmpty半累加性检索最后一种非空子成员值。布置和浏览多维数据集(1)在“解决方案资源管理器”中,右键单击“多维数据集”文献夹中OM.cube多维数据集,在弹出菜单中选取“解决”。SSAS会一方面布置然后解决该多维数据集。(2)在弹出对话框中选取“是”。(3)在“解决多维数据集-OM”页面中点击运营。(4)解决成功后关闭解决窗口。(5)打开“OM.cube设计器”中“浏览器”选项卡。(6)在“浏览器”选项卡中,分别将如下图所示维度属性和度量值拖动到恰当位置,可以构成一张报表,该报表仅有一种维度和两个度量值。设计分区MicrosoftSQLServerAnalysisServices使用分区来管理和存储多维数据集中度量值组数据和聚合。每个度量值组至少有一种分区;该分区在定义度量值组时创立。为度量值组创立新分区时,该新分区将添加到此度量值组已有分区集合中。度量值组反映了其所有分区中所包括组合数据。这意味着必要保证度量值组中某分区数据不同于此度量值组中任何其她分区数据,从而保证未在度量值组中多次反映此数据。度量值组原始分区基于多维数据集数据源视图中单个事实数据表。当度量值组有各种分区时,每个分区可以引用数据源视图中或者多维数据集基本关系数据源中不同表。如果将每个分区限制到表中不同行,则度量值组中各种分区可以引用同一种表。分区是用来管理多维数据集(特别是大型多维数据集)强大而灵活工具。例如,某个包括销售信息多维数据集可以包括存储过去每一年数据分区和存储当年每一季度数据分区。将当前信息添加到多维数据集时,只需解决当前季度分区;如果解决数据量越少,则会通过缩短解决时间来提高解决性能。在年末,这四个针对季度分区可以合并成一种单独针对全年分区,并为新一年第一季度创立新分区。此外,该新分区创立过程可以作为数据仓库加载和多维数据集解决过程一某些自动执行。分区对多维数据集业务顾客不可见。但是,管理员可以配备、添加或删除分区。每个分区都存储在一组单独文献中。每个分区聚合数据都可以存储在定义该分区AnalysisServices实例中,也可以存储在其她AnalysisServices实例中,或者存储在用于提供分区源数据数据源中。分区容许多维数据集源数据和聚合数据分布在各种硬盘驱动器和各种服务器计算机中。对于中型到大型多维数据集而言,分区可以极大地提高查询性能、负载性能和多维数据集易维护性。关于远程分区详细信息,请参阅远程分区。可以在独立于度量值组中其她分区状况下,对每个分区存储模式进行配备。可以使用源数据位置、存储模式、积极缓存和聚合设计选项任意组合来存储分区。在设计分区时,您可以使用实时OLAP和积极缓存选项来平衡查询速度以避免发生滞后。存储选项还可以应用于有关维度以及度量值组中事实。这种灵活性使您可以按照需要设计多维数据集存储方略。分区构造分区构造必要与其度量值组构造匹配,这意味着还必要在分区中定义用于定义度量值组度量值以及所有有关维度。因而,创立分区时,它将自动继承为度量值组定义同一组度量值和有关维度。但是,度量值组中每个分区可以有不同事实数据表,并且这些事实数据表可以来自不同数据源。当度量值组中不同分区有不同事实数据表时,这些表必要非常相似以维护度量值组构造,这意味着解决查询会针对所有分区所有事实数据表返回相似列和数据类型。如果不同分区事实数据表来自不同数据源,则任何有关维度源表和任何中间事实数据表还必要包括在所有数据源中,并且它们在所有数据库中构造必要相似。并且,在定义与度量值组有关多维数据集维度属性时,需要使用所有维度表列都必要包括在所有数据源中。如果分区源表与度量值组源表有相似构造,则不需要定义分区源表和有关维度表之间所有联接。有些事实数据表也许会包括未用于定义度量值组中度量值列,但有些则不会包括。同样,有些数据库也许会包括未用于定义有关维度表中属性列,但有些则不会包括。某些数据库也许会包括未用于事实数据表或有关维度表表,而其她数据库则不包括。数据源和分区存储分区基于数据源中表或视图,或者基于数据源视图中表或命名查询。分区数据存储位置是由数据源绑定定义。普通,可以对度量值组进行水平或垂直分区:在水平分区度量值组中,其中每个分区都基于一种单独表。此分区类型合用于数据被分隔为各种表状况。例如,在某些关系数据库中,对每月数据都使用一种单独表。在垂直分区度量值组中,度量值组基于单个表,并且每个分区基于筛选该分区数据源系统查询。例如,如果一种表中包括几种月数据,则通过应用TransactSQLWHERE子句以返回每个分区单独月份数据,仍可以按月份对度量值组进行分区。每个分区均有存储设立,用来拟定分区数据和聚合是存储在本地AnalysisServices实例中,还是存储在使用其她AnalysisServices实例远程分区中。存储设立还可以指定存储模式,并指定与否使用积极缓存来控制分区滞后时间。增量更新在多分区度量值组中创立和管理分区时,必要十分谨慎,以保证多维数据集数据精确性。虽然对于单分区度量值组普通不需要特别谨慎,但在对这些分区进行增量更新时则需要十分小心。对分区进行增量更新时,将创立与源分区具备相似构造新暂时分区。暂时分区在被解决后将与源分区合并。因而,必要保证填充暂时分区解决查询不会复制既有分区中任何已有数据。创立分区(1)一方面将FactOM已经存在分区删除。右键分区并在弹出菜单中选取“删除”(2)在“OM.cube设计器”中打开分区选项卡。可以看到该页面中包括OM多维数据集两个度量值组,每个度量值组中个有一种分区。(3)单击FactOM度量值组分区之下“新建分区”。(4)在“分区向导”欢迎页面中点击“下一步”。(5)在“指定源信息”页面中,勾选“可用表”中FactOM,点击“下一步”。(6)在“限制行”页面中,勾选“指定查询以限制行”。(7)咱们这里为FactOM度量值组创立三个分区,分别是之前,和之后。在SQL查询WHERE语句之后,添加“[dbo].[Fact_OM].[DateKey]<0101”条件。点击“下一步”(8)在“解决位置和存储位置”页面中保持默认。(9)在“完毕向导”页面中,键入分区名称为“FactOM_之前”,并选取“稍后设计聚合”。点击“完毕”(10)其她两个分区与第一种分区创立方式相似。设计好分区如下。命名计算计算是一种多维表达式(MDX)或脚本,用于在MicrosoftSQLServerAnalysisServices中定义多维数据集计算成员、命名集或范畴分派。使用计算,您可以添加不是由多维数据集数据而是由特定表达式(这些表达式可以引用多维数据集其她某些、其她多维数据集,或者甚至引用AnalysisServices数据库以外信息)所定义对象。使用计算,您还可以扩展多维数据集功能,提高商业智能应用程序灵活性和能力。计算成员计算成员是在运营时使用对其进行定义时所指定多维表达式(MDX)表达式来计算其值成员。计算成员就像其她任何成员同样,可用于商业智能应用程序。计算成员不会增长多维数据集大小,由于多维数据集中只存储定义;值计算则在需要回答查询时才在内存中执行。可觉得任何维度(涉及度量值维度)定义计算成员。在度量值维度中创立计算成员称为计算度量值。尽管计算成员普通基于多维数据集中已存在数据,但是可以通过将数据与算术运算符、数字和函数进行组合而创立复杂表达式。还可以使用MDX函数(例如,LookupCube)来访问AnalysisServices数据库内其她多维数据集中数据。AnalysisServices涉及原则化VisualStudio函数库,可以使用存储过程从除当前AnalysisServices数据库以外源中检索数据。关于存储过程详细信息,请参阅使用存储过程(AnalysisServices)。例如,假设货运公司行政人员但愿基于每体积单位利润拟定运送哪种类型货品利润更高。她们使用包括“货品”、“船队”和“时间”维度以及Price_to_Ship、Cost_to_Ship和Volume_in_Cubic_Meters度量值“发运”多维数据集;但是,该多维数据集中未包括赚钱率度量值。通过在下列表达式中合并既有度量值,可以在多维数据集中创立一种计算成员来作为度量值,并将它命名为Profit_per_Cubic_Meter:([Measures].[Price_to_Ship]-[Measures].[Cost_to_Ship])/[Measures].[Volume_in_Cubic_Meters]创立计算成员之后,下一次浏览“发运”多维数据集时,Profit_per_Cubic_Meter将与其她度量值一起浮现。命名集命名集是返回集CREATESETMDX语句表达式。在MicrosoftSQLServerAnalysisServices(SSAS)中,MDX表达式作为多维数据集定义一某些而保存。创立命名集目是为了重用多维表达式(MDX)查询。使用命名集,业务顾客可以简化查询,并针对复杂、惯用集表达式使用集名称而不是集表达式。脚本命令脚本命令是一种MDX脚本,是多维数据集定义一某些。使用脚本命令,您可以执行几乎所有受多维数据集MDX支持操作,例如,拟定将计算仅应用于多维数据集一某些作用域。在SQLServerAnalysisServices(SSAS)中,MDX脚本可以在脚本执行过程中特定位置应用于整个多维数据集,或其中特定某些。默认脚本命令(CALCULATE语句)会基于默认作用域使用聚合数据来填充多维数据集中单元。默认作用域为整个多维数据集,但是您可以定义更具限制作用域(称为子多维数据集),然后将MDX脚本仅应用于该特定多维数据集空间。SCOPE语句定义计算脚本中所有后续MDX表达式和语句作用域,直到作用域终结或重新定义为止。然后,使用THIS语句将MDX表达式应用于当前作用域。可以使用BACK_COLOR语句为当前作用域中单元指定背景单元颜色,以在调试期间提供协助。例如,可以使用脚本命令并基于此前时间段销售额加权值,跨时间和销售区域为雇员分派销售配额。创立计算从本章如下,所有内容均是以微软提供实例数据仓库数据为基本进行。

定义聚合物理度量值计算(1)打开AnalysisServicesTutorial多维数据集多维数据集设计器,然后单击“计算”选项卡。注意“计算表达式”窗格和“脚本组织程序”窗格中默认CALCULATE命令。此命令指定多维数据集中度量值应当依照其AggregateFunction属性所指定值进行聚合。度量值普通会求和,但也也许计数或按其她某种方式进行聚合。下图显示了多维数据集设计器“计算”选项卡。(2)在“计算”选项卡工具栏上,单击“新建计算成员”。新窗体将出当前“计算表达式”窗格中,您可以在其中定义此新计算成员属性。新成员还会出当前“脚本组织程序”窗格中。下图显示了在单击“新建计算成员”时出当前“计算表达式”窗格中窗体。(3)在“名称”框中,将计算度量值名称更改为[TotalSalesAmount]。如果计算成员名称包括空格,则该计算成员名称必要放在方括号中。注意,在“父层次构造”列表中,默认状况下,将在“度量值”维度中创立新计算成员。普通,度量值维度中计算成员也称为计算度量值。(4)在“计算”选项卡“计算工具”窗格中“元数据”选项卡上,展开“度量值”,再展开“Internet销售”后,可以查看“Internet销售”度量值组元数据。可以将元数据元素从“计算工具”窗格拖到“表达式”框中,再添加运算符和其她元素,以便创立多维表达式(MDX)。或者,可以直接在“表达式”框中键入MDX表达式。(1)将“Internet销售额”从“计算工具”窗格中“元数据”选项卡拖到“计算表达式”窗格中“表达式”框中。(2)在“表达式”框中,在“[度量值].[Internet销售额]”背面键入加号(+)。(3)在“计算工具”窗格中“元数据”选项卡上,展开“分销商销售”,再将“分销商销售额”拖到“计算表达式”窗格中“表达式”框中加号(+)背面。(4)在“格式字符串”列表中,选取“货币”。(5)在“非空行为”列表中,选中“Internet销售额”和“分销商销售额”复选框,再单击“拟定”。在“非空行为”列表中指定度量值将用于解决MDX中NONEMPTY查询。在“非空行为”列表中指定一种或各种度量值时,如果所有指定度量值为空,AnalysisServices将把计算成员作为空对待。如果“非空行为”属性是空白,AnalysisServices必要对计算成员自身进行计算,才干拟定成员与否为空。下图显示了用您在前面环节中所指定设立来填充“计算表达式”窗格。(6)在“计算”选项卡工具栏上,单击“脚本视图”,在“计算表达式”窗格中检查计算脚本。注意,新计算将添加到初始CALCULATE表达式中;将以分号分隔每个单独计算。此外注意,在计算脚本开始位置将浮现注释。在计算组计算脚本中添加注释是好做法,这样可以协助您和其她开发人员理解复杂计算脚本。(7)在计算脚本中Calculate;命令之后和新添加计算脚本之前添加新行,然后在脚本中独立一行上添加如下文本:/*CalculationstoaggregateInternetSalesandResellerSalesmeasures*/下图显示在教程此位置应当出当前“计算表达式”窗格中计算脚本。(8)在“计算”选项卡工具栏上,单击“窗体视图”,验证在“脚本组织程序”窗格中选中“[总销售额]”,再单击“新建计算成员”。(9)将这个新计算成员名称更改为[TotalProductCost],然后在“表达式”框中创立如下表达式:[Measures].[InternetSales-TotalProductCost]+[Measures].[ResellerSales-TotalProductCost](10)在“格式字符串”列表中,选取“货币”。(11)在“非空行为”列表中,选中“Internet销售-总产品成本”和“分销商销售-总产品成本”复选框,然后单击“拟定”。当前已经定义了两个计算成员,它们都显示在“脚本组织程序”窗格中。这些计算成员可以由随后在计算脚本中定义其她计算来使用。通过在“脚本组织程序”窗格中选取计算成员,可以查看任何计算成员定义;计算成员定义将出当前窗体视图内“计算表达式”窗格中。直到已布置新定义计算成员后,这些对象才会出当前“计算工具”窗格中。计算不需要解决。

定义毛利润率计算验证已在“脚本组织程序”窗格中选中[总产品成本],然后在“计算”选项卡工具栏上单击“新建计算成员”。在“名称”框中,将此新计算度量值名称为[InternetGPM]。(3)在“表达式”框中,创立如下MDX表达式([Measures].[InternetSales-SalesAmount]-[Measures].[InternetSales-TotalProductCost])/[Measures].[InternetSales-SalesAmount](4)在“格式字符串”列表中,选取“比例”。(5)在“非空行为”列表中,选中“Internet销售额”复选框,再单击“拟定”。(6)在“计算”选项卡工具栏上,单击“新建计算成员”。(7)在“名称”框中,将此新计算度量值名称更改为[ResellerGPM]。(8)在“表达式”框中,创立如下MDX表达式:([Measures].[ResellerSales-SalesAmount]-[Measures].[ResellerSales-TotalProductCost])/[Measures].[ResellerSales-SalesAmount]在“格式字符串”列表中,选取“比例”。(10)在“非空行为”列表中,选中“分销商销售额”复选框,再单击“拟定”。(11)在“计算”选项卡工具栏上,单击“新建计算成员”。(12)在“名称”框中,将此计算度量值名称更改为[TotalGPM]。(13)在“表达式”框中,创立如下MDX表达式:([Measures].[TotalSalesAmount]-[Measures].[TotalProductCost])/[Measures].[TotalSalesAmount]注意,此计算成员引用了其她计算成员。由于此计算成员将在它所引用计算成员之后进行计算,因此这是有效计算成员。(14)在“格式字符串”列表中,选取“比例”。(15)在“非空行为”列表中,选中“Internet销售额”和“分销商销售额”复选框,再单击“拟定”。(16)在“计算”选项卡工具栏上,单击“脚本视图”并检查刚才添加到计算脚本中三个计算。(17)在计算脚本中紧靠[InternetGPM]计算前面添加新行,然后在脚本中独立一行上添

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论