1、如何使用 SQL2005 MDX解决业务问题赵阳BI培训讲师北京迈思奇科技有限公司自我介绍 北京迈思奇科技有限公司( Minesage Co.,Ltd.) 核心业务:面向各行业提供商业智能解决方案; 代理产品:国内外优秀的 BI产品; 美国微软公司指定的数据挖掘解决方案提供商。培训部门经理咨询培训:企业应用;产品发布;项目实施:行业解决方案; BI应用系统;97年大学毕业8年的金融行业工作经验中科院研究生院软件学院 MSEY本次课程内容包括 多维表达式 (MDX: MultiDimension Expression) 是一种功能非常强大的语言。与 SQL2000相比,在 SQL2005的分析服
2、务中, MDX的功能被进一步细化和扩充,以满足不同角度的需求。 其中 “KPI架构 ”的引入,从业务应用的角度,为开发者提供了丰富的解决方案设计能力。 本课程的重点是针对需求目标,通过案例,理解业务问题的分析框架,以及 SQL2005MDX如何实现相关的解决方案。例如:同比增长率问题;市场占有率问题;客户满意度问题等。 SQL2005 BI 平台导航 MDX主题定位 商业智能业务需求 MDX功能涵盖 使用 SQL2005 MDX解决业务问题收听本次课程需具备的条件 本讲座难度属于中高级 面向技术人员 听众需要对 OLAP技术有理论和实践经验。 听众需要对 Microsoft Analysis
3、Service有实践经验。课程内容 SQL2005商业智能平台 商业智能业务需求与 MDX SQL2005 MDX 基础 SQL2005 MDX 高级数据抽取数据整合层次化业务分析深入数据挖掘自定义报表数据展现报表报表分析分析集成集成SQL Server 2005 商业智能平台BI Applications Ap icat ns and Analytical alyt alClientsDevelopmentToolsBI Platform报表报表分析分析集成集成SQL Server 2005 商业智能平台构造查询和转换 定义维度、集合、计算成员、 KPI构造多维报表MDX讲座主题:在已有多维
4、架构上,如何定制和提取数据得到需要的效果!课程内容 SQL2005商业智能平台 商业智能业务需求与 MDX SQL2005 MDX 基础 SQL2005 MDX 高级 平均价、利润; 四个年度、三类产品销售额一览; 占有率百分比计算; 同期比、环比; 产品的受欢迎程度; 阶段平均销售额; 销售排名前(后) 10名客户; 2000年既买过计算机又买过打印机的客户; 参与计算的条件判断 基于多维架构,我想知道什么?计算分组比较排序筛选基本业务需求的逻辑 计算 可扩展的度量标准; 分组 多角度;多层次;定制灵活 比较 多选择的可比系列; 排序 多样化的排序规则; 筛选 单值筛选、复合条件筛选; 综合
5、运用从多维架构中获得结果UDMMDX排序MDX表达利润 = 销售 - 成本MDX查询MDX计算MDX筛选Analysis Service业务问题的答案高级图形化表现形式结果的进一步展示UDMMDXxxxx扩展的业务应用Analysis Service什么是 MDXzMultidimensional Expressions (MDX) zA fully-featured, statement-based scripting language used to define, work with, and retrieve data from multidimensional objects in
6、Microsoft SQL Server 2005 Analysis Services (SSAS). z多方位、基于描述的脚本语言;z用于定义、管理和查询 SSAS多维模型中的数据MDX提供如下语言特性z数据定义语言( DDL): 创建、删除、管理多维对象z数据操作语言( DML): 从多维对象中获取数据zMDX脚本: 范围、上下文、流控制z函数和操作的集合: 函数、方法z应用自定义函数扩展:z与 SQL相比较MDX使用方式MDX表达式( Expressions )MDX查询语句( Statements )MDX脚本( script)课程内容 SQL2005商业智能平台概述 商业智能业务需求
7、与 MDX SQL2005 MDX 基础 SQL2005 MDX 高级使用 MDX解决业务问题参与计算的条件判断 2000年既买过计算机又买过打印机的客户销售排名前(后) 10名客户阶段平均销售额产品的受欢迎程度同期比、环比占有率百分比计算四个年度、三类产品销售额一览平均价、利润MDX应用业务问题平均价、利润 计算问题 问题: 事实表中不存在该列 可以由量度计算得出 Calculated MembersDemo 1 计算成员( Calculated Members )1. 价格: PriceMeasures.Sales Amount / Measures.Fact Internet Sales
8、 Count2. 利润: ProfitMeasures.Sales Amount - Measures.Total Product Cost使用 Calculation创建计算成员使用 MDX解决业务问题参与计算的条件判断 2000年既买过计算机又买过打印机的客户销售排名前(后) 10名客户阶段平均销售额产品的受欢迎程度同期比、环比占有率百分比计算四个年度、三类产品销售额一览简单的 MDX表达式Calculations 计算成员平均价、利润MDX应用业务问题MDX中的多维概念维度:地点Hierarchies(层次)Levels (级别)Members (成员)Examples:Levels(1
9、).members(1) = Eastern HemisphereLevels(2).members(4) = EruopeDemo 2 MDX QueryMDX Query 语法SELECT Dim Time.CalendarYear.&2001, Dim Time.CalendarYear.&2002,Dim Time.CalendarYear.&2003, Dim Time.CalendarYear.&2004 ON COLUMNS , Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Categ
10、ory.&1 ,Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&3 , Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&4 ON ROWSFROM Adventure Works DW WHERE ( Measures.test_price )SELECT ON COLUMNS , ON ROWS FROM WHERE MDX Query 语法映射CUBEBackGro
11、undDay of week-All daysMeasures-Sale Amount.基本语法 Select Set on Columns Set on Rows From Cube Where TupleMDX Query 中的多维概念Members TuplesSetsMDX Query - MembersSELECT Dim Time.CalendarYear.&2001, Dim Time.CalendarYear.&2002,Dim Time.CalendarYear.&2003, Dim Time.CalendarYear.&2004 ON COLUMNS , Dim Produ
12、ct.Dim Product Category - Dim Product Subcategory.Dim Product Category.&1 ,Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&3 , Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&4 ON ROWSFROM Adventure Works DW WHERE ( Measures.test_pric
13、e )MDX Query - Members Members : Dim Time.CalendarYear.&2001 Measures.test_price 物理意义: 维度树上的一个节点(可能是枝干节点,或者叶子节点) 注意,度量值也可以是一类特殊的成员MDX Query - TupleSELECT Dim Time.CalendarYear.&2001, Dim Time.CalendarYear.&2002,Dim Time.CalendarYear.&2003, Dim Time.CalendarYear.&2004 ON COLUMNS , Dim Product.Dim Pro
14、duct Category - Dim Product Subcategory.Dim Product Category.&1 ,Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&3 , Dim Product.Dim Product Category - Dim Product Subcategory.Dim Product Category.&4 ON ROWSFROM Adventure Works DW WHERE ( Measures.test_price )MDX Query - TupleTuple:( Dim Time.CalendarYear.&2001 , Measures.test_price )( Measures.test_price ) 物理意义: Cube 上的一个子集(不断开的子 Cube) 每一个边都是某一个维度的成员 特点: 每个维度最多选择一个成员 顺序无关 至少一个维度,多则不限