《Cognos多维模型设计及报表制作.ppt》由会员分享,可在线阅读,更多相关《Cognos多维模型设计及报表制作.ppt(125页珍藏版)》请在金锄头文库上搜索。
1、Transformer多维模型设计及报表制作多维模型设计及报表制作主要工具主要工具nCognos Transformer 多维模型(立方体)设计工具多维模型(立方体)设计工具nCognos Analysis Studio 基于基于web的多维模型(立方体)的多维模型(立方体)展现工具展现工具nCognos PowerPlay 基于基于windows的多维模型(立方体)的多维模型(立方体)展现工具展现工具nCognos FrameWork 多维模型(立方体)发布工具多维模型(立方体)发布工具Transfomer 是用于创建PowerPlay应用模型的工具。Transfomer模型帮助将数据从各种
2、数据源组织进多维的PowerCube。在最佳设计的PowerCube中,可以创建能够比较数据和发现趋势的报表。在用Transfomer建立模型之前,非常重要的一点是,首先要评测数据,以及确定如何构造它们,以使它们能够支持业务分析的类型;然后用Transfomer构造创建数据的模型;最后创建一个PowerCube。让PowerPlay用户直接查看和应用其中的数据。Transfomer不需要编程,因此它易于使用;并能够以快速有效的方法传递多维数据。关于关于Transfomer多查询多查询指标指标备选钻取路径备选钻取路径模型设计原则模型设计原则规划模型设计规划模型设计组织查询数据组织查询数据建立模型
3、建立模型时间维度时间维度Transfomer模型设计模型设计数据建模的过程数据建模的过程1用户需求用户需求Build the Application数数据据2Transformer 是用于整合查询是用于整合查询数据和建立模型的工具数据和建立模型的工具.3模型模型4 根据最终应用的目标和特性,建立根据最终应用的目标和特性,建立一个成功的一个成功的 PowerCubePowerCube用户需求用户需求用户需求用户需求报表需求报表需求其它报表需求其它报表需求模型设计模型设计1.与用户交流收集他们的需求与用户交流收集他们的需求2.将用户需求转换为报表需求将用户需求转换为报表需求3.补充能提高分析的报表
4、需求补充能提高分析的报表需求4.将报表需求转换为模型设计将报表需求转换为模型设计查询数据查询数据SELECT Table.Column_NameFROM(Customer OUTER JOIN OrdersON Customer.Customer_Number=Orders.Customer_Number)GROUP BY.维度图维度图PowerCubeTransformerTransformer用于生成用于生成PowerCube的模型三的模型三个主要部分:个主要部分:源文件:源文件是查询。查询可以源文件:源文件是查询。查询可以是结构(文本)或事务(数字)。是结构(文本)或事务(数字)。维度图
5、:一个维度图是一个显示模维度图:一个维度图是一个显示模型中所有维度和它们所包含的层的型中所有维度和它们所包含的层的 表。表。指标:指标: 一个指标是用作企业主要性一个指标是用作企业主要性能指标的值。能指标的值。模型模型从模型到从模型到 PowerCube输入数据源输入数据源1描述列描述列2用列属性表用列属性表维度和维度和层改名层改名3默认的列名默认的列名可能无意义可能无意义产生类别产生类别4读数据读数据处理类别处理类别检验维度检验维度5用维度图示用维度图示给类别改名给类别改名6类别名是否有意义类别名是否有意义?检验度量检验度量7能否客观地能否客观地反映业务反映业务?创建和查看创建和查看 Pow
6、erCubes8比较用户需求比较用户需求数据是否满足需求数据是否满足需求?PowerCubePowerCube是是:n多维数据的逻辑结构多维数据的逻辑结构和物理结构。和物理结构。n由由Transformer模型模型生成,并用于生成,并用于在在PowerPlay中查看和中查看和操作的数据包。操作的数据包。Data WarehousePC DatabaseOracle,Sybase,Informix,SQL Server,ODBCFramework Manager.DBF.DB.DBF, .DB, .XLS, .CSVTransformer.MDCPowerCubesPowerPlay .PYj
7、.MDL.IQD.PPR/.ppxCognos BI 产品数据流程Transfomer模型设计模型设计 规划规划规划规划 Transformer 模型设计模型设计为什么要规划模型为什么要规划模型?n提供必要的信息协助计划和控制企业的活动。这些活动通常提供必要的信息协助计划和控制企业的活动。这些活动通常 集中在业务的关键指标上集中在业务的关键指标上。n保证模型的组成能够支持与企业相关的性能指标保证模型的组成能够支持与企业相关的性能指标. 例如:例如:业务指标业务指标 销售量销售量 数量数量 价格价格利润利润.控制和计划指标控制和计划指标 预算预算 估算估算 机会成本机会成本帮助明确用户需求帮助明
8、确用户需求帮助评估开发应用需要的工作量帮助评估开发应用需要的工作量把应用设计的目标提供给最终用户,以得到对该设计把应用设计的目标提供给最终用户,以得到对该设计的认可和肯定。的认可和肯定。作为应用开发过程的指南作为应用开发过程的指南 度量度量 销售额销售额订货量订货量 平均成本平均成本 利润利润日期日期产品产品地区地区维度维度1维度维度2维度维度3维度名称维度名称层层2134YearsQuartersMonthsProduct LineProduct TypeProductRegionCountryBranchSales Rep一个模型设计是关于一个模型设计是关于PowerPlay应用结构设计,
9、以及数据需求方应用结构设计,以及数据需求方案的文档。其作用是:案的文档。其作用是:Days模型设计模型设计Transformer界面包括四个基本窗格:维度图窗格查询窗格指标窗格PowerCubes窗格Transformer中的模型设计中的模型设计数据源窗格的作用是将数据集成到模型中来。根据模型设计文档,从生产环境或者能够支持应用的数据仓库及数据库中确定要查询哪些数据,并将它们加载进查询窗格。然后再将数据源窗格的数据用于建立维度图,并创建PowerCube。数据源窗格列出源数据 (查询源)中所包含的各个列 (数据项),这是做模型的原始基本素材。在数据源窗格中一个查询源表现为一个查询(Query)
10、。数据源窗格中的每一个查询(Query)都有自己的数据源名,一个数据源来源于一个查询源 (例如.iqd等),每个查询(Query)由构成它的若干列(Columns)组成。数据源窗格中列的数据类型:打开列的属性(双击列名)-General标签页-Data class如果查询不是来源于.iqd,则它的列的数据类型开始为Unspecified。Transformer模型部件之一 数据源窗格维度图窗格是一个用于建立多维立方体结构的工作区。根据数据源中的文本数据,各个维度以及每个维度下层的设定在此组织 (维度和层)。最底层要对应数据源窗格中的一个列。维度图决定了数据在PowerPlay维度栏中出现的顺序
11、。指标窗格用于建立和显示模型所需要的指标。指标值是在PowerPlay报表单元中可视的数据。根据模型设计文档,定义应用中需要的指标。指标在指标窗格中的顺序决定了它们在PowerPlay维度栏文件夹中指标的顺序。模型中至少要有一个指标,指标与维度的最底一层关联。每个标准指标要在查询中对应有一个列(计算指标除外)。PowerCube窗格显示用模型创建的PowerCube。Transformer模型部件的作用定量评估业务成效的结果主要说明数值性问题,如“多少?”每个指标都增加了对数据的观察角度要建立PowerCube必须至少要定义一个指标。虽不是所有的业务指标都要包含在模型设计中,但应尽量寻找增添一
12、些追加指标,因为用户提出的需求并不一定总能对数据分析提供完全有效的结果。通过增加这些新的指标,用户可以用不同的方法分析数据。销售额销售额订货量订货量成本成本平均成本平均成本利润率利润率计算指标计算指标指标维度和层维度表示数据的最高层层表示维度数据逻辑上的等级关系(相当于数据的定位) 维度可以典型地说明谁、什么、什么时间和什么地方一类的问题。在模型中的有效维度决定了应用能够回答问题的类型。 层次化的维度是按业务的组织结构表达数据的等级关系。每个维度层的等级规则确定了PowerPlay钻取的路径。一旦确定了主维度和层,可进一步确定是否有其它的数据可以加到应用中以增强分析。 其它维度其它维度 额外的
13、维度额外的维度 (计算得出)(计算得出)日期日期地区地区客户类型客户类型利润范围利润范围产品产品Dim 1Dim 2Dim 3Dim 4Dim 5维度名维度名年度年度季度季度月度月度产品系列产品系列产品类型产品类型产品产品地域地域国家国家办事处办事处客户类型客户类型利润范围利润范围销售员销售员层层2134追加维度是位于一个维度中层上独立的数据元素(层中数据的具体取值)。维度的每一层都有它自己的类别集。类别在PowerPlay报表中作为行、列或层上的数据项,是必不可少的元素。 最底层类别表示每个维度中最详细的数据元素。类别(categories)地地 区区 维维 度度层层: :地域地域 类别类别
14、:层层: :国家国家层层: :办事处办事处瑞典瑞典西班牙西班牙德国德国比利时比利时伦敦伦敦法兰克福法兰克福远东远东欧洲欧洲英国英国法国法国曼彻斯特曼彻斯特 类别类别: 类别类别: 建立模型设计时,应首先选择度量,然后选择能够支持度量的维度和层。指标维度层销售收入销售收入销售成本销售成本订购数量订购数量平均成本平均成本 日期 产品 地区 年度年度 产品系列产品系列 地域地域 月度月度 产品类型产品类型 国家国家 季度季度 产品产品 办事处办事处 销售销售员员建立模型设计的方法作模型设计时,选好要说明的业务领域:选定能够说明业务领域关键成功因素的度量指标;确定能够准确地反映数据等级结构的层。为了使
15、应用导航比较快速和易于操作,尽量保持每个维度中的层数不超过5层。为了保证数据的分析最有意义,最好层到下层的类别数比例在 1:10 以内。选择的维度与度量要匹配。推荐维度数尽量保持在57个,因为较少的维度可以使得应用几乎更直观和易于使用。在生成PowerCube前,在Transfomer模型中必须完成:集成查询数据建立维度图定义需求指标建立模型设计的方法说明Transfomer模型设计模型设计 组织查询数据组织查询数据组织查询数据组织查询数据确定数据确定数据 完成模型设计后,下一步就是确定开发应用完成模型设计后,下一步就是确定开发应用所需要的有效数据。所需要的有效数据。Measures:Reve
16、nueQtyCostAverage CostProfit MarginProductsLocationsYearQuarterMonthProduct LineProduct TypeProductRegionCountryBranchSales RepCustomerTypesMargin RangesCustomerTypeMargin RangeTime数据源数据源Transformer 使用三种类型的数据:日期:具有特定的数据格式,用于支持时间维度中指定的时间周期文本:定义维度结构和类别的描述数据,另外也叫结构数据数值:定义度量值的数值性数据,另外也叫作事务数据源数据源数据销售日期销售
17、日期国家国家部门部门销售代表销售代表销售量销售量利润利润日期数据定日期数据定义时间周期义时间周期文本数据文本数据定义维度定义维度09/28/95美国美国法国法国日本日本纽约纽约巴黎巴黎东京东京Bill GibbonsJean ProulxAkiko Odi852445170048090010/03/9510/16/95数值数据数值数据定义度量定义度量数据类型数据类型什么是查询文件?什么是查询文件?n查询文件查询文件:来自企业数据供给Transformer用于作为模型的全部或部分源数据nTransformer 可使用来自一个或多个查询的数据可使用来自一个或多个查询的数据nTransformer
18、可接受多种格式的查询数据可接受多种格式的查询数据为为Transfomer准备准备查询文件有两种方法:查询文件有两种方法:单查询:所有需求的数据源放在一个查询文件。就是将包含在一个大的查询文件中的所有文本数据要用于建立维度结构,所有数值数据要用于定义指标。多查询:由包含两种不同类型数据的查询构成:结构和事务。结构查询包含支持维度结构需要的文本数据,而事务查询主要包含用于定义指标值的数值数据。 查询与模型结构的关系查询与模型结构的关系创建一个查询文件创建一个查询文件n根据模型设计收集和构造支持指标和维度结构根据模型设计收集和构造支持指标和维度结构的源数据的源数据查询文件查询文件支持支持源数据源数据
19、源数据源数据Transformer 模型设计模型设计Measures:RevenueQtyCostAverage CostProfit MarginProductsLocationsYearQuarterMonthProduct LineProduct TypeProductRegionCountryBranchSales RepCustomerTypesMarginRangesCustomerTypeMarginRangeTimeTransfomer用查询文件:构造维度、层和类别将指标与维度结构的最底层联接将二维数据转换成多维数据 在在Transfomer中,中,指标值总是指标值总是与维度的
20、与维度的最底层类别最底层类别直接关联的,直接关联的,就是说指标值是从最底层类别聚合就是说指标值是从最底层类别聚合计算(计算(Rollup)到上层类别。当到上层类别。当PowerPlay 在显示最底层以上类别在显示最底层以上类别的指标值时,上层数据的聚合计算的指标值时,上层数据的聚合计算值是在执行用户操作时完成的值是在执行用户操作时完成的。Transformer使用查询文件使用查询文件查询设计要点查询设计要点n列列:每个维度的最底层需要一个列(集合详细信息到上层)最高层也可以要一个列(建议所有层都有一个相关列)每个标准指标需要一个列(计算指标除外)n列名列名:在同一查询中的列名必须唯一n时间时间
21、:如果模型有时间维度,查询应该包含有日期列查询连接到模型查询连接到模型n使用新建模型对话框使用新建模型对话框或或n在查询列表中插入一个新项在查询列表中插入一个新项什么是模型什么是模型?n一个一个模型模型是维度是维度、层、指标和、层、指标和PowerCubes列表的组合列表的组合.n在在PowerPlay中存取的每一个立方体都是根据中存取的每一个立方体都是根据模型模型创建的创建的. nTransformer 可以保存两种格式的可以保存两种格式的模型模型:.MDL - 以 ASCII码文件存储, Transformer各个版本之间兼容。(Model Definition Language).PY?
22、 - 以二进制文件存储,各个版本独立.n当模型加载到内存时,当模型加载到内存时,Transformer 创建一个核对指针文件创建一个核对指针文件.QY?.验证模型验证模型n每次修改模型后应检测模型每次修改模型后应检测模型.n检测模型将发出报警和错误信息检测模型将发出报警和错误信息报警不阻止PowerCube的生成错误信息禁止生成PowerCubenTransformer 为每个模型建立一个日志为每个模型建立一个日志.查询维护查询维护n查询可以要求定期更新和修改查询可以要求定期更新和修改.n主要的更新是增加新的数据主要的更新是增加新的数据.n也可以对查询作结构上的改变也可以对查询作结构上的改变;
23、 例如:增加例如:增加、删除删除、 重排序或更重排序或更改列名改列名. 如果改变了查询的结构,Transformer认为查询中的列不再与模型中当前有效的列匹配。 在Query窗格中右击查询名Modify Column修改列修改列Transfomer模型设计模型设计 建模建模建立模型建立模型AutoDesign 根据有效的查询数据自动创建一个初始的模型。自动设计检查查询的列属性,并查找不同列数据之间的关系。根据Transfomer的发现,将数据源文件的各列设计为维度、层或指标。由于自动设计是数据驱动,数据的性质影响创建结构的性质。通常,自动设计用于提供Transfomer模型的初始设计,为了满足
24、模型设计的要求可以对其进行进一步的修改和定制。自动创建模型结构自动创建模型结构手动创建模型结构手动创建模型结构通过将通过将查询窗格查询窗格中的列摆放到中的列摆放到维度图窗格维度图窗格和和指标窗格指标窗格中来中来建立模型结构。建立模型结构。维度图窗格只是反映了多维结构的维度和层,并没有反映层上数据的具体取值,即“类别(categories)”。事实上模型刚设计好时,也只有维度和层,没有“类别”。要想看到由不同层的“类别”构成的层次架构,就要先生成“类别”。然后展开维度图示(Diagram)来查看,这是一个附加的窗格。 Diagram - Show Diagram 或按工具条上图标维度图示 (Di
25、agram)生成类别生成类别(category)n处理查询和模型。它用加载的类别数据定义处理查询和模型。它用加载的类别数据定义维度中的每一层维度中的每一层。类别生成后,用类别计数类别生成后,用类别计数评估数据量。评估数据量。n类别代表定义维度每层的独立的数据元素,类别代表定义维度每层的独立的数据元素,只在维度图示中可见。只在维度图示中可见。类别计数类别计数在维度图示中指针的功能在维度图示中指针的功能:使用以下图标增加或删除维度图示中的项使用以下图标增加或删除维度图示中的项:用维度图示修改用维度图示修改左左 - 可以移动层或类别项可以移动层或类别项.右右 -可以创建层或类别,或连可以创建层或类别
26、,或连接到其它项上接到其它项上.上层到下层的类别数比例最好在 1:10 以内。如果一个上层类别带有太多的下层类别,可考虑在两层之间加一手工层。拖拽维度图示中某层名的右侧,定义手工层。从某一个上层类别框的右侧向右拖拽,生成手工层的一个类别, 可重复生成多个手工层的类别。逐个拖拽下层类别框的右侧,把它们分别归并到不同的手工层的类别之下。手工层手工层手工层名为“东西部”,设“东部”和 “西部”两个类别。各个办事处(城市)分别归到手工层的两个类别下。其他国家手工层上无类别。在地区维度,国家层(上层)和办事处层(下层)之间可考虑加入一个手工层。专门用来针对“美国”。“美国”之下的办事处个数明显多于其他国
27、家,显得不太平衡。手工层例子n建立模型后,建立模型后, Transformer用模型信息生成一个用模型信息生成一个PowerCube 。创建和验证创建和验证 PowerCubePowerPlay 报表报表.PPRPowerCube.MDCTransformer模型模型.PY? 或或 .MDL创建创建 PowerCube启动启动 PowerPlay 察看数据察看数据Transfomer模型设计模型设计 时间维度时间维度时间维度时间维度什么是时间维度什么是时间维度?n时间维度包含表示时间周期的类别时间维度包含表示时间周期的类别n回答回答“什么时间?什么时间?”时间维度的类型时间维度的类型时间维度有
28、两种类型时间维度有两种类型:标准标准 由单独一列建立通常是由Transformer预定义可以自定义.非标准非标准可以用多个列定义非标准时间维度类别之间的关系完全由用户定义定义日期格式定义日期格式源数据源数据Transformer日期列属性表日期列属性表设置聚合粒度设置聚合粒度把数据设置把数据设置为日期型为日期型设置日期设置日期输入格式输入格式否否是是查询的查询的列是否定义列是否定义为日期型为日期型数据数据?修改日期显示格式修改日期显示格式标准时间维度标准时间维度Transformer 用用年年、季度季度和和月月作为作为默认默认的标准时间维度的的标准时间维度的层。层。日期维度中的层(如年、季、月
29、),由于不是对应一个独立的列,在其属性中的Time标签页要用到一个日期函数。Transfomer模型设计模型设计 多查询多查询多数据源多数据源在在 Transformer 模型中的多数据源模型中的多数据源多数据源模型能够从多个不同数据源连接数据。它用多数据源合并决策分析所需要的信息,即使它们是不同的存储格式,或存在不同的数据仓库中。如,模型中的一个数据源来自从一个数据仓库提取数据的Excel表,而另一个数据源来自从另一个不同的数据仓库提取数据的.IQD文件。 当使用多数据源模型时:加到模型中的数据源数不限Transformer在处理数据源前,首先读取全部数据源后,再进行排序和处理,为了正确地联
30、接指标值, Transfomer要通过在指标数据源里的结构确定每个类别将不同类型数据源的数据用于同一个模型中向已存在的模型加入新的数据源提高模型的性能为维度分配指标数据易于管理提高模型的性能:多数据源减少了Transfomer处理的数据的总量,能够提高生成类别和创建PowerCube的速度。因为结构信息只需要定义说明一次,而不是对每个加载到模型的数据记录都要说明,因此提高了性能。为维度分配指标:Transfomer采用了一些通常与维度图的某些部分无关的指标,并根据各种不同的标准,将这些度量的值分配给那些原本无关的部分。分配特性将数据从指定维度的一个汇总层分布到较低的各层。数据易于管理:不必象许
31、多数据库管理那样要管理数据链接,也不用做一些与数据访问有关的管理作业,更不需要使用公共的查询工具准备查询。例如,某些数据是静态的,而另一些数据是要经常更新的。如果将静态和动态的数据分别放进不同的数据源,就不需要经常管理静态数据。为什么使用多数据源?查询的不同类型查询的不同类型根据查询列中的数据类型分为结构查询和事物查询根据查询列中的数据类型分为结构查询和事物查询:事务查询事务查询含有代表指标的事含有代表指标的事务数据务数据 (通常是数通常是数字型字型).结构查询结构查询含有用于建立维度和层含有用于建立维度和层的结构数据的结构数据 (通常是文通常是文本型本型).事务查询:主要包含的列是数据库中事
32、务数据(数值数据),以及仅仅与维度的类别有关的用于带入事务数据的部分结构数据(文本数据)。结构查询:包含指定模型结构的一个或多个定义维度层的列。结构查询主要包含带有文本数据的列。但它们也可能有数值数据列。Transfomer不支持数据库连接,因此在将数据加入Transfomer之前,确定每个查询应包含足够的生成维度类别的信息,或使用象Framework manager一样的数据库访问工具, 从各自独立的数据库表链接查询。查询的类型说明事务数据源事务数据源n为提供指标为提供指标, 可以创建一个或多个事务数据源。可以创建一个或多个事务数据源。n在事务数据源中提供充分的结构数据列,以便在每个维度中在
33、事务数据源中提供充分的结构数据列,以便在每个维度中聚合计算(聚合计算( Roll up )指标指标 。结构数据源结构数据源n为每个维度创建一个数据源。为每个维度创建一个数据源。n按照将在维度图上出现的顺序,排放数据源和它们的列按照将在维度图上出现的顺序,排放数据源和它们的列。n最好将结构数据源放在查询列表的前部。最好将结构数据源放在查询列表的前部。 多数据源的规则多数据源的规则设计数据源设计数据源事务数据源事务数据源Product NameBranchCust Site No RevenueCostQuantityBranch维度维度维度维度维度维度Product LineRegionProd
34、uct TypeCountryCustomer NameProduct NameCust Site NoCustomer Type结构数据源结构数据源数据数据Product LineProduct TypeProduct Name结构数据源结构数据源数据数据RegionCountryBranch结构数据源结构数据源数据数据Customer TypeCustomer NameCust Site No1234123将多数据源的列与维度将多数据源的列与维度的层关联有两个步骤:的层关联有两个步骤:出现在不同数据源中出现在不同数据源中的相同含义的数据的相同含义的数据列应同名。列应同名。需要考虑层中类别的
35、需要考虑层中类别的唯一性问题。唯一性问题。 查询查询 4查询查询1查询查询2查询查询3关联多数据源列与层当Transfomer在多数据源模型中生成类别时,每个数据源分别被参照模型进行处理。数据源中的每一列被直接关联到维度图中的层上。用多数据源模型时,必须将数据源的每个列与维度图中的层准确地关联,因为Transfomer:不支持列之间的join要求每个数据源都能产生模型中的一些类别必须至少有一个指标能够与所有的类别相关要求包含在多个数据源中的列的类别唯一为了正确地将多数据源的列与维度图中的层关联:1. 在所有数据源中,给任何在同一维度同一层的列指定相同的名称2. 如果维度中的层包含唯一的类别,声
36、明层唯一3. 如果维度中的层不包含唯一的类别,可有两种选择:增加查询内容,即通过增加一列使得相关层唯一;或在源数据中建一个唯一列。关联多数据源列与层说明怎样才能够确定怎样才能够确定Revenue集合集合计算到了计算到了Product Line层层?事务查询事务查询 2Product RevenueStarDome300Pack n Hike 200SunShelter250Go Wristband475结构查询结构查询 1Product Line Product Type Product NameOutdoorTentStarDomeOutdoorBackPackPack n HikeEnvi
37、roSunblockSunShelterGO SportSport WearGo Wristband重命名查询重命名查询2 中的中的 “Product”列名为列名为“Product Name”.查询查询 1查询查询 2Product LineProduct NameProduct TypeRevenueProduct Name重命名列连接数据源重命名列连接数据源声明唯一性声明唯一性查询查询 1查询查询 2Product LineProduct NameProduct TypeRevenueProduct Name 查询 2 与 查询 1是彼此独立的,怎样可以确定Revenue集合计算到了Pro
38、duct Line 一层? 这两个查询有一个公共列,如果事务查询2要分配它的Revenue度量值到结构查询1,必须要声明Product Name列是唯一的,这样Transformer就可以集合计算Revenue度量值到上面各层。事务查询事务查询 2Product NameRevenueStarDome300Pack n Hike 200SunShelter250Go Wristband475结构查询结构查询 1Product Line Product Type Product NameOutdoorTentStarDomeOutdoorBackPackPack n HikeEnviroSunb
39、lockSunShelterGO SportSport WearGo Wristband层唯一性表示在层里,两个不层唯一性表示在层里,两个不同的类别不能用相同的名称来同的类别不能用相同的名称来表达。即不会出现两个产品使表达。即不会出现两个产品使用同一个名称。用同一个名称。什么是唯一性?声明唯一性声明唯一性仅仅依靠仅仅依靠Sales Rep Id的信息是否足以确定类别的信息是否足以确定类别? Sales Rep Id 层层类别是否唯一类别是否唯一?在层属性表中声明在层属性表中声明唯一唯一.在唯一的源数据中在唯一的源数据中 创建新的一列创建新的一列.是是否否当数据不唯一时,如果指定层的类别是唯一的
40、,将产生无效的结果。因为通过声明唯一性,并不能使数据变成唯一,只是告诉Transfomer,模型源数据的属性。如果一个维度的层不包含唯一的类别,可以在源数据中创建一个唯一列。Records from Query 2RepProduct NoRevBill01500Jan11 700Sam01800Records from Query 1Product LineProduct TypeProduct NoATent01BBackPack11CSleeping Bag01当当Product No 不唯一时,不唯一时, 我们不知道我们不知道Bill 和和 Sam销售的是哪一类销售的是哪一类 Prod
41、uct Type ,那么那么revenues 应向哪里集合计算(应向哪里集合计算( roll up)呢呢?Records from Query 2RepProduct NoProduct TypeRevBill01Tent500Jan11 Back Pack 700Sam01Tent 800 为了使得相关为了使得相关层唯一,通过加入层唯一,通过加入数据为查询数据为查询2 增加增加结构结构product Type什么时候层不唯一?通过处理一个模型,可以发现下列有关模通过处理一个模型,可以发现下列有关模型的问题型的问题: 重命名列 层唯一性问题 上下文关系问题 维度、层和度量的关系多查询模型多查询
42、模型用查询作用范围维度图确定在一个模型中各个维度和层用查询作用范围维度图确定在一个模型中各个维度和层的关系。的关系。直接直接(黄黄)模型中矛盾模型中矛盾(红红)间接间接(淡黄淡黄)无关无关(白白)有效维度的关系有效维度的关系声明层唯一性声明层唯一性n从层属性表设置唯一性。从层属性表设置唯一性。nTransformer在在PowerCube产生期间验证类别的产生期间验证类别的唯一性。唯一性。 要求唯一要求唯一声明唯一声明唯一应用唯一应用唯一132Transfomer模型设计模型设计 指标指标指指 标标什么是指标什么是指标?n一个指标是用于衡量业务成效的数据。是用于确一个指标是用于衡量业务成效的数
43、据。是用于确定业务操作成功的量化结果,或关键的性能指标。定业务操作成功的量化结果,或关键的性能指标。n有三种类型的指标:有三种类型的指标:标准指标:由查询的列直接定义的度量计算度量:用Transformer中的计算表达式生成类别计数:是具有唯一属性的维度的一层,它是一层的 类别数,而不是行数。 销售额销售额销售人数销售人数利润利润标准度量标准度量n标准度量直接从查询中的一个有效源列提取标准度量直接从查询中的一个有效源列提取数据数据n不同的指标值可以通过修改相关聚合计算的不同的指标值可以通过修改相关聚合计算的属性,从相同的数值性数据列创建属性,从相同的数值性数据列创建n集合计算设置决定度量值在集
44、合计算设置决定度量值在PowerPlay中将怎样集合计算,中将怎样集合计算,它提供了从源数据的单独一列创建多个度量的契机它提供了从源数据的单独一列创建多个度量的契机n集合计算是用于汇总度量数据的方法。它确定集合计算是用于汇总度量数据的方法。它确定Transformer和和PowerPlay怎样从子类别向父类别汇总(怎样从子类别向父类别汇总(Rollup)计算计算度量值度量值标准集合计算设置标准集合计算设置 求和求和 21440760.081179087.522235687.524765087.768164527.091179087.521167387.713214087.523628387.5
45、21414087.983114087.521474087.631998 Revenue平均值平均值 2866873.03最大值最大值 8164527.09最小值最小值 1167387.71计数计数 11标准标准集合计算集合计算举例举例“追加指标”的类型为Column, 建立在原有查询中的一个列上(不属于Calculated类型),但 Rollup方式可以另外定义。在度量中加入一项名为“平均成本”的“追加指标” :右击指标窗格-Insert Item-Type标签页,在Measure type区选 Column, 展开下拉列表, 选中“销售成本”,转到Rollup标签页, 将Regular ro
46、llup方式改为 Average。追加指标计算度量在源数据列不直接生效时,为度量衍生出了新的数值。通过定制计算度量可以发现源数据没有表现出来的趋势。选中度量窗格后从Edit菜单选Insert Item,或按Ins键。为这个计算度量取名“利润”。在Type标签页,Measure type 选为Calculated,按Calculation按钮:销售收入 - 销售成本计算度量“利润”前面有一个计算器图标。计算度量计算度量是含有计算的度量。当在不同的层之间进行钻取时,对这个度量的值也要 Roll up。这就会有一个度量本身的计算和 Roll up操作的先后顺序问题。After RollupBefor
47、e Rollup计算的时间在Rollup标签页选定。系统默认计算度量是在集合计算后计算。计算的时间计算的时间计算的时间: 在聚合计算之前(在聚合计算之前(Before Rollup)nBefore Rollup度量是对先每个记作录计算,然后再聚合计算。度量是对先每个记作录计算,然后再聚合计算。即根据源数据值而不是汇总值计算出度量的值,然后分别即根据源数据值而不是汇总值计算出度量的值,然后分别Rollup。Before Rollup:先对每个记录计算先对每个记录计算 Profit Margin %,然后汇总然后汇总这些值这些值 。 (75% +67% = 142%)RevenueCostProf
48、itProfit MarginProfit Margin %$400$300$100$100$300$200300/400200/30075%67%142%Profit Margin % = Profit / Revenue计算的时间计算的时间: 在聚合计算之后在聚合计算之后(After Rollup)After Rollup指标是先聚合计算,然后根据汇总值计算。即先汇指标是先聚合计算,然后根据汇总值计算。即先汇总值计算出指标的值,然后再执行总值计算出指标的值,然后再执行Rollup。After Rollup:Profit Margin % 是根据是根据profits 的和被的和被revenu
49、e 的总计除得到的。的总计除得到的。(500/700 = 71%)RevenueCostProfitProfit MarginProfit Margin %$400$300$100$100$300$200Total71%$700$200$500500/700Profit Margin % = Profit / Revenue例如,一个公司有关产品的交易数据包括价格和销售量,为了计算销售额,必须价格销售量。如果计算时间是After Rollup,将产生错误的销售额。而用Before Rollup才能得出正确的结果:价格销售量 = 销售额After RollupBefore Rollup价格销售量
50、=销售额价格销售量=销售额 $2 15 $2 15 = $30 $3 20 $3 20 = $60 $2 10 $2 10 = $20 $5 5 $5 5 = $25$12 50 = $600 $135计算的时间举例Transfomer模型设计模型设计 钻取路径钻取路径备选钻取路径备选钻取路径n经过维度数据的替代钻取路径经过维度数据的替代钻取路径n探察数据的新的观察角度探察数据的新的观察角度什么是备选钻取路径什么是备选钻取路径? 主钻取路径主钻取路径备选钻取路径备选钻取路径备选钻取路径用于备选钻取路径用于:n对维度中的详细数据提供更直接的导航对维度中的详细数据提供更直接的导航n为特殊情况下的数
51、据分析提供更直观的为特殊情况下的数据分析提供更直观的选择选择n表示源文件中部分数据间的不同关系表示源文件中部分数据间的不同关系为什么使用备选钻取路径为什么使用备选钻取路径?In PowerPlayIn Transformer备选钻取路径类型备选钻取路径类型有三种类型的备选钻取路径有三种类型的备选钻取路径:直接访问直接访问重新构造层重新构造层引入新层引入新层直接访问直接访问这种类型的备选钻取路径这种类型的备选钻取路径:n提供对维度中低层详细数据的直接访问提供对维度中低层详细数据的直接访问n让用户让用户越过高层探察以扩大观察数据的范围越过高层探察以扩大观察数据的范围 该类型的该类型的备选钻取路径提
52、供了在探察型报表中灵活的探察备选钻取路径提供了在探察型报表中灵活的探察手段,因此,无需在同一维度中过滤其它的层,就可以大范围手段,因此,无需在同一维度中过滤其它的层,就可以大范围地查看较低层的详细数据。地查看较低层的详细数据。备选钻取路径备选钻取路径主钻取路径主钻取路径重组层的顺序重组层的顺序这种类型的备选钻取路径这种类型的备选钻取路径:n提供从当前层向下钻取的与主钻取路径不同的方法提供从当前层向下钻取的与主钻取路径不同的方法n用于重新组织一个维度中层的顺序用于重新组织一个维度中层的顺序n这种方法对于维度需要满足几个不同的用户要求时非常有用,如要探察相同数据的不同方这种方法对于维度需要满足几个
53、不同的用户要求时非常有用,如要探察相同数据的不同方面。典型地涉及数据内部的多对多的关系。面。典型地涉及数据内部的多对多的关系。主钻取路径主钻取路径备选钻取路径备选钻取路径 市场部经理关心的焦点是产品系列(Product Line)的反响。他的理想维度结构为: 销售部经理关心卖给客户的产品类型(Product Type),却很少关心卖给客户的产品系列。他的理想维度结构为:引入一个新层引入一个新层这种类型的备选钻取路径这种类型的备选钻取路径:n为维度提供了一个辅助的观察角度为维度提供了一个辅助的观察角度n引进一个当前在维度中没有使用的层引进一个当前在维度中没有使用的层 引入新层不用在主路径中进一步
54、定义维度,不引入新层不用在主路径中进一步定义维度,不必在主路径上增添额外的层数,或单独增加整个维度。必在主路径上增添额外的层数,或单独增加整个维度。必须要小心考虑引进的层确保能够不影响维度结构的必须要小心考虑引进的层确保能够不影响维度结构的完整性。完整性。备选钻取路径备选钻取路径主钻取路径主钻取路径在一个备选钻取路径中在一个备选钻取路径中:n会合层是备选钻取路径与主钻取路径连接的层会合层是备选钻取路径与主钻取路径连接的层n每个会合层必须有唯一的类别每个会合层必须有唯一的类别 一个或多个备选钻取路径与主路径合并在一个或多个会合层上。一个或多个备选钻取路径与主路径合并在一个或多个会合层上。每个会合
55、层必须包含唯一的类别,每个会合层必须包含唯一的类别,Transformer才能够连接几个父类才能够连接几个父类别到同一个会合类别。别到同一个会合类别。 主路径与备选钻取路径共享会合层和其以下的类别值。主路径与备选钻取路径共享会合层和其以下的类别值。备选钻取路径的会合层备选钻取路径的会合层维度图维度图会合层会合层n用层属性表定义一个会合层为唯一性用层属性表定义一个会合层为唯一性.n由于预先用查询范围分析关系,层可能会已经被定义成唯一由于预先用查询范围分析关系,层可能会已经被定义成唯一n如果会合层预先没有声明唯一性,如果会合层预先没有声明唯一性,Transformer会提出警告会提出警告定义会合层
56、为唯一定义会合层为唯一模型设计的原则模型设计的原则Transfomer模型设计模型设计- -原则原则第一步:选择一个业务问题第一步:选择一个业务问题 不要试图用一个模式解决所有的业务问题。首先决定想要解决的一个业务问题,然后设计模型来帮助你找出解决方案。如果有更多的业务问题要解决,应为每个问题设计一个模型。第二步:选择维度及层次第二步:选择维度及层次 选择最符合业务结构的维度及构成维度的层次。确定模型要包括的信息:谁?内容?地点?原因?时间?方法?第三步:确认支持模型的数据源第三步:确认支持模型的数据源 源数据的规则: 日期维度需要日期列 列的名称要唯一。若不唯一,可以给源数据的每一列指定一个
57、唯一的识别代码或在Transformer中改变列名,使之唯一 每一个维度的最底层必须包含一个列 高层也可以用一个列。 因为Transformer会自动保持源数据列与层的相关性,并检查用更新数据建立类别时需要做的改变。如果源数据没有高层的列,也可用Transformer手动创建。但源数据更新后,可能需要手动改变手工层。设计并完成基本模型步骤度量要用一个列。每个度量必须包括一个列,即使该度量仅仅是记录的数目。第四步:评估维度及层次第四步:评估维度及层次 原则:至少包括3个维度。为了从模型中得出最具分析性的结果,至少要包括3个维度,4或5个更好。至少有一个多层次维度(多个更好) 。不超过7个维度和5
58、个层次。这样导航最迅速,使用最方便。但Transfomer对此并无限制。通常类别越多层次越多。第五步:评估每层类别比例第五步:评估每层类别比例为确保最佳使用PowerCube,维度中上下层类别数比例保持在1:10(或更少)。否则,在浏览PowerPlay的图表时,可能会感到不太方便。若难保持该比例,可考虑引入手工层。第六步:选择指标第六步:选择指标 指标可能是数字或数量,如“收入”“单位”“利润”或一个简单的出现次数设计并完成基本模型步骤(续一)设计并完成基本模型步骤(续一)第七步:确认提供的是重要信息第七步:确认提供的是重要信息 在所有的企业信息中,也许只有某些重要部分的数据能够帮助决策业务
59、,因此应利用少量的信息,支持大部分的企业决策。提供额外的信息会使成本显著地上升,而信息价值确明显变平。设计模型时,应以最小成本交付最大利益:压缩时间清除不活跃信息设计并完成基本模型步骤(续二)设计并完成基本模型步骤(续二)AnalysisStudio Analysis Studio是一个多维分析工具,这个工是一个多维分析工具,这个工具最大的特点就是灵活,能够满足用户从业务分析具最大的特点就是灵活,能够满足用户从业务分析的角度出发对业务分析的不同维度以及度量(如余的角度出发对业务分析的不同维度以及度量(如余额,发生额等)进行自由组合,并且页面上提供了额,发生额等)进行自由组合,并且页面上提供了较
60、为丰富的功能,能很好的支持用户对数据进行分较为丰富的功能,能很好的支持用户对数据进行分析操作。析操作。基本建表操作基本建表操作n拖拽式操作拖拽式操作n项目的隐藏、保留和排除项目的隐藏、保留和排除n展开操作展开操作n钻取操作钻取操作n图表制作图表制作n上下文过滤操作上下文过滤操作n自定义子集操作自定义子集操作n表头嵌套操作表头嵌套操作拖拽式操作拖拽式操作n动态报表的基本样式为交叉表,拖拉维度上的对象动态报表的基本样式为交叉表,拖拉维度上的对象到指定的区域,主要的拖拽式操作有拖拽合并、拖到指定的区域,主要的拖拽式操作有拖拽合并、拖拽替换。拽替换。展开操作展开操作n先选中要展开的对象,然后右键点击,
61、分别可以实先选中要展开的对象,然后右键点击,分别可以实现纵向展开和横向展开现纵向展开和横向展开n展开是对整个层次进行展开展开是对整个层次进行展开钻取操作钻取操作n下钻操作:从汇总到明细下钻操作:从汇总到明细n上钻操作:从明细到汇总上钻操作:从明细到汇总n钻取是针对于维度中某一层上某个成员进行明细察钻取是针对于维度中某一层上某个成员进行明细察看看钻取操作钻取操作n下钻,从汇总到明细:下钻,从汇总到明细:钻取操作钻取操作n上钻,从明细到汇总上钻,从明细到汇总图表制作图表制作n图形的本质是表格图形的本质是表格n单一图形的生成单一图形的生成n图形和报表的共存图形和报表的共存n不同类型图形的选择不同类型
62、图形的选择图表制作图表制作n可以设定在是显示图还是显示表或者图表均显示一可以可以设定在是显示图还是显示表或者图表均显示一可以设定图形的类型设定图形的类型上下文过滤操作上下文过滤操作n上下文是报表表头的一个基本区域,起到的作用实上下文是报表表头的一个基本区域,起到的作用实际上就是进行全表过滤。注意:在际上就是进行全表过滤。注意:在动态动态报表中,不报表中,不管怎么查看报表,一定要把管怎么查看报表,一定要把“日期日期”放到放到“上下文上下文”中。中。自定义计算项自定义计算项n算术运算算术运算n占比计算占比计算n分析型计算分析型计算操作按钮操作按钮点击点击“自定义自定义”后的页面后的页面算术运算算术
63、运算(Arithmatic)n计算方式:求和(计算方式:求和(Sum)、差()、差(Difference)、)、积(积(product)、商()、商(Division)、)、求次方(求次方()、求绝对值()、求绝对值(Abs)、)、取整(取整(Round)、四舍五入()、四舍五入(Round Down)开平方(开平方(Sqrt)算术运算算术运算(Arithmatic)算术运算算术运算(Arithmatic)n“数值数值”的作用:作为一个常量参与运算的作用:作为一个常量参与运算n“名称名称”的作用:为自己添加的计算项命名的作用:为自己添加的计算项命名算术运算算术运算(Arithmatic)小结)
64、小结n对运算的内容和运算的含义表达的最明白的是对运算的内容和运算的含义表达的最明白的是“表表达式达式”框,框中明确告知用户当前自定义计算项的框,框中明确告知用户当前自定义计算项的含义:含义:占比计算占比计算(求增长率)(求增长率)n%(A,B)运算的方向)运算的方向(A-B)/B)*100%占比计算占比计算(求占总额百分比)(求占总额百分比)n占总额百分比分为纵向求占总额百分比(按列求百占总额百分比分为纵向求占总额百分比(按列求百分比)和横向求占总额百分比(按行求百分比)分比)和横向求占总额百分比(按行求百分比)按列求百分比按列求百分比按列求百分比按列求百分比n变更用于求比的度量变更用于求比的
65、度量按行求百分比按行求百分比分析型计算分析型计算n计算种类:求平均值、最大值、最小值、中间值、计算种类:求平均值、最大值、最小值、中间值、累积值累积值分析型计算分析型计算n求平均值按照如下图的操作进行即可,多选时注求平均值按照如下图的操作进行即可,多选时注意按意按SHIFT键键分析型计算分析型计算n求最大值、最小值、中间值的方式与求平均值类求最大值、最小值、中间值的方式与求平均值类似,在此不再赘述。似,在此不再赘述。分析型计算分析型计算(求累积值)(求累积值)n求累积值的做法实际上就是求汇总,大家在报表求累积值的做法实际上就是求汇总,大家在报表页面上看到的最后一行(列),就是对之前所有页面上看
66、到的最后一行(列),就是对之前所有项目的汇总,只不过,此处的求累积值,可以让项目的汇总,只不过,此处的求累积值,可以让用户仅对关心的那几项进行汇总。用户仅对关心的那几项进行汇总。其它操作其它操作n显示内容设置显示内容设置n过滤过滤n排序排序过滤设置过滤设置n前面提到的上下文和前面提到的上下文和“排除排除”操作实际也是过滤的操作实际也是过滤的一种形式,都是对显示的内容进行筛选一种形式,都是对显示的内容进行筛选过滤设置过滤设置(最高最低定义)(最高最低定义)过滤设置过滤设置(最高最低定义)以(最高最低定义)以“最高最高”举例举例n求即期资产对应的余额最高的求即期资产对应的余额最高的10家一级行家一
67、级行过滤设置过滤设置(最高最低定义)以(最高最低定义)以“最高最高”举例举例n求及其资产余额最高的求及其资产余额最高的10家一级行的结果页面家一级行的结果页面(被隐藏和(被隐藏和被排除项目不会被加进来)被排除项目不会被加进来)过滤设置过滤设置(最高最低定义)以(最高最低定义)以“最高最高”举例举例n求科目余额占前求科目余额占前10%的科目的科目过滤设置过滤设置(条件表达式)(条件表达式)过滤设置过滤设置(条件表达式)举例(条件表达式)举例n可以设置多个条件表达式,并定义好他们之间是可以设置多个条件表达式,并定义好他们之间是“AND”还是还是“OR”的关系的关系排序排序排序排序(基于标签排序)(基于标签排序)n实际就是按首字母的音序顺序排序实际就是按首字母的音序顺序排序