第一部分 准备知识 概述 (p1)
业务智能(Business Intelligence)
近年来业务智能的话题开始在国内热起来。
业务智能是在计算机应用水平达到一定程度、数据积累到一定量之后提上议事日程的一个应用领域。
业务智能是为更好的决策而对数据进行收集、转换、分析和分发的过程。
业务智能是把数据转化成知识的过程。包括信息的获取、分析和交流,帮助人们把获得的有用的知识应用于业务。
业务智能的层次:
1.查询与报表 →ReportNet 关心个体信息;
2.多维分析(OLAP) →PowerPlay 关心综合信息;主要概念有:维度(Dimensions)、层(Levels)、度量(Measures)、立方体(Cube)、钻取(Drill)、切片&旋转( Slice&Dice )
cognos基于业务智能的层次划分为ReportNet和PowerPlay两个部分。
Cognos8 的BI 产品:
Cognos8的BI产品,对以往的技术和思想进行了较大幅度的提升和创新,把用户的操作方式全面推向以浏览器为前端的Web方式。它在一个产品中、一个架构上提供了极其丰富的业务智能功能。
Cognos8 的模块主要包括:
Query Studio —— 查询:自助报表生成工具
Report Studio —— 查询:专有报表构筑工具
Analysis Studio —— 分析:多维数据展示工具
Transformer —— 分析:多维数据设计工具
Framework Manager —— 查询:业务数据组织工具
几个模块在Cognos体系中的位置:
应用(Consumer) 中查询模块:Query Studio、Report Studio
应用(Consumer) 中分析模块:Analysis Studio
专业(Profession)中查询模块:Framework Manager
专业(Profession)中分析模块:Transformer
查询与报表ReportNet:
事先有原始数据库,IT人员建好Project,用户生成报表
db-->{表-->Project-->包}Framework Manager-->发布-->{Query Studio、Report Studio}报表
多维分析(OLAP)PowerPlay:
平面数据源(dbf、.csv、.xls、.iqd)-->{模型(.mdl、.pyi)}Transformer-->生成多维立方体(.mdc)cube-->发布LdbFramework Manager-->Analysis Studio
ReportNet:
ReportNet是Cognos新一代基于Web方式的业务智能报表解决方案。
ReportNet由下面几个组件组成:
Framework Manager: 用来组织和发布元数据模型
Cognos Connection: 是Cognos8的Web门户,包含进入各个操作模块的入口和报表保存的空间。
Query Studio: 用来创建基本的自助式即席报表
Report Studio: 用来构筑更完备的常用特有报表
Cognos Viewer: 用来运行特有报表
ReportNet体系结构:
数据源(db、dw)-->元数据建模工具(Framework Manager)-->CognosConnection-->面向报表创建和管理的Web界面(Query Studio、Report Studio、Cognos Viewer)
ReportNet 流程:
物理数据库『用户业务数据库GOSL、GORT(SQL Server、Oracle、DB2...)』-->数据库连接『Data Source GoSales GoRetailers(Cognos Connection http://)』-->输入元数据『工程.cpf .xml;模型、命名空间、包-》发布(Framework Manager)』-->包『Content Store cm、指定Cognos Configuration』--》页面(Query Studio、Report Studio、Cognos Viewer)
Cognos Connection:
CognosConnection是Cognos 8 的上网门户。Query Studio,Report Studio和Analysis Studio的入口都被组织在了这个门户中。
进入门户:http://〈服务器名〉/cognos8
在CognosConnection门户中可以:创建和运行报表;执行管理性任务,例如调度报表。
可以通过在文件夹中创建和储存条目来对Cognos Connection中的数据进行组织。
Cognos Connection页面:
在公共文件夹或我的文件夹中观看报表;
在Query Studio或Report Studio中创建报表;
在Analysis Studio中进行多维分析。
报表:说明报表中包含何种信息的定义或报表信息本身。
使用Query Studio创建基本的自助式即席查询,使用Report Studio创建更完备的特有报表。
第二部分 Query Studio介绍 (p15)
在Query Studio中创建自助式报表。
选择“包(Packege)”:
使用Query Studio 和Report Studio操作报表之前都要先选择一个“包”。
“包”事先由技术人员在Framework Manager中打好并发布。
进入门户后可以看到已经发布的“包”。
“包”中只含有数据结构而不含数据本身。
Query Studio 界面:
menu: insert data,edit data,change layout,run report,manage file
edit data:filter过滤,sort排序,summarize,format格式,calculate计算,rename重命名
change layout:chart,edit title,set web page size,set page breaks,group,pivot
run report:run with all data,preview with no data,view in PDF/excel 2000/CSV/XML format,advanced query options
manage file: new report,save,save as
查询主题和查询项:
模型是来自一个或多个数据库的数据结构的业务展现。
模型含有若干查询主题(query subject),查询主题包含一些能够添加到报表中的查询项(query item)。
模型的数据内容来自Framework Manager发布的“包”(Package)。
结构如下:模型-->查询主题-->查询项。查询主题类似“表”,查询项类似“字段”。
Query Studio 工具栏 (p21)
删除、撤消、重做、运行、过滤、排序、汇集、计算、图表、分组、交叉表、去分组、设段、交换、组收缩、组展开
给自助式报表添加数据:
方式有:双击(查询项),拖拽(查询项)、(选中查询项)按Insert data。
保存自助式报表:保存报表以保留任何修改。也可以使用不同名称或地址保存报表,将其用作新报表的基础。
重新打开现有自助式报表:
通过点击报表的连接或Query Studio中的编辑按钮打开Query Studio 中的报表。
可以打开现有报表:察看报表中的当前数据,修改报表,将其用作新报表的基础。
了解报表类型:
使用不同的报表类型以不同的方式察看数据或回答不同的业务问题。
报表类型有:列表型报表,交叉表报表,分组列表型报表。
了解图表:
创建图表对信息进行图形化展现。
要生成一个图表,报表需要至少一个度量和一个非度量。
使用列表型报表显示数据:
列表型报表以每个数据行中的各个数据项形成若干列的形式显示数据,列表型是最常见的报表形式。
设置每页行数和加行号:
在菜单的Change Layout节可以设定每页的行数(最大1000)。必要时可以加行号。
menu-->change layout-->set web page size-->number of rows(设置每页行数)-->show row numbers(加行号)。
创建分组式列表报表:
点选 “分组” 按钮。
修改数据格式:
点中某列,在左边菜单上选Edit Data节下的Format Data。
menu-->Edit Data-->Format Data-->category(设置字段类型)-->number of decimal places(设置小数位数)-->thousands separator(设置千位分节号)
多层分组的收缩与展开:通过 组收缩、组展开 按钮控制。
完全展开分组;分组收缩了一层;分组收缩了两层。
把分组列设成段(Sections):通过 “设段”、“去分组” 按钮控制。
选中设好分组的列后按 “设段” 按钮,即可将该列设成段。选中设好分组的列或段,再按 “去分组” 按钮可以把分组或段取消。
按某列排序:
选中某列后按排序按钮,或在左侧菜单的Edit Data节中选Sort。
menu-->Edit Data-->Sort-->sort on (设置排序的列)-->sort order(排序列别:升序、降序、不排序)
转交叉表:
在列表中点中一个文字列,按Pivot按钮 (交叉表 按钮),报表转成交叉表形式。选中的文字列作为列,其他文字列作为行,数字列的数据在交叉点上。
使用图表对数据进行图形化显示:按“图表”按钮。
chart type:图表类型。选None可以去掉图表。
按Chart按钮,可加入图表。图表种类可有:Column柱图、Bar条型图、Pie饼图、Line折线图、Column-Line柱线图、Area区域图、Radar雷达图
show the values on the chart(将数据值显示在图表上);
设定一个图表类型:在选择一个图表类型前,要考虑希望使用图表来说明的内容。
Pie:使用饼图突出显示比例,而不是实际值.
Column:使用柱图显示数据随时间所发生的变化。
Bar:使用条型图可以将重点放在比较值上,而不是时间上。
Line:用折线图分析多个度量。
Column-Line:使用柱线图在同一个图表中比较两个不同的度量。
Area:使用区域图显示随时间变化度量值的变化有多少。
Radar:使用雷达图比较度量放射线的半径。
增强图表的显示:在每一类图表的内部又含几个变种图表。
多列柱图:用标准变种图形通过不同颜色的数据标识区分每个度量
多段柱图:使用堆栈和变种100%堆栈图形通过每个堆栈中不同区域的颜色区分每个度量值。
3D柱图:用3D显示提高图形的三维视觉效果
多段等高柱图:在100%堆栈中,每个堆栈的顶部代表100%。
在非数字项上过滤:
在列表中点中一列, 按Filter按钮。过滤方法可以是选定(condition:show only the following),也可以是排除(condition:do not show the following (NOT))。
根据数字项细节对数据进行过滤
可以对报表细节行中出现的值进行过滤。这种过滤将清除不满足所设定标准的细节行。
针对细节数据,选中一个数字列(如:数量)作为当前列后,点开过滤按钮。Filter on:当前列;condition:选中/排除;from:从什么;to:到什么;prompt every time the report runs 报表每次运行时增加提示功能;values in the report 应用于 细节数据;group summaries in the report 应用于分组数据;individual values in the data source 应用于非数字项过滤。
组合过滤:combine filters 包含 detail(非数字项过滤 individual values in the data source),summary (数字项细节过滤 values in the report )
在非数字项上过滤 与 根据数字项细节对数据进行过滤 的组合。
根据组汇总(Group Summaries)过滤数据: (group summaries in the report 组汇总过滤:先汇总,再依据过滤条件选择分组)
可以对自助式报表中的脚标值进行过滤。这种过滤将从报表中删除不满足所设定标准的组。
脚标汇总的种类:
menu-->edit data-->summarize-->summary for footers: total 各种产品数量总数/ count 不同种类的类别数。
单元格汇总的种类:
menu-->edit data-->summarize(advanced)-->summary for cells:count 计数,summary for footers: total 计数后的求和-->summary for cells:maximum 最大值,summary for footers: maximum 最大值
设定高级查询选项:
menu-->run report-->advanced query Options-->query options查询选项:automatically generate footer summaries for measures 针对度量的自动生成合计页脚,automatically summarize detail values,suppressing duplicates 自动合计明细值并过滤重复
-->Drill options 钻取选项:Enable drill up and drill down in the report output 在报表输出时启用向上/下钻取功能,Enable drill through from a package in the report output 在报表输出时启用钻通包。
使用提示设定过滤标准:
如果希望报表每次运行时临时决定保留过滤项上的哪些值,可以使用提示。使用提示要比反复修改过滤更加快捷方便。
prompt every time the report runs 报表每次运行时增加提示功能
利用提示过滤(在嵌套层上加过滤):
选中嵌套层上的“年份”,增加过滤条件,增加提示。
删除过滤项,但保留过滤:
把已设过滤的数据项[订单日期(年)]删掉,出现Delete 屏幕,可以选择在删掉这一列但却保留过滤。
把已设过滤的数据项[订单日期(年)]删掉,出现Delete Filter屏幕,询问是否希望在删掉这一列时也把过滤删掉。
点击No。[订单日期(年)]列从报表中删除了,但是按年过滤仍旧保持。
创建报表视图:
点开一个报表后面的More…在随即展开的页面中点击Create a report view of this report,可定义报表视图。
设置报表视图选项:
给报表视图起一个名字保存到“我的文件夹”下。
点开报表视图后面的Run with options按钮(运行按钮),在随即出现的页面中再点开右侧的Advanced options。
Run with advanced options页面出现后可以指定报表视图的格式、生成时间等。
Time生成时间:now即可,Later可自行设置生成时间。formats格式:html格式(可以设置每页的输出行数),pdf格式,execl 2000等。Languages语言设置。delivery交付设置:view the report now 立刻查看;save the report,print it,or send an email 保存、打印、发送邮件。
设置好后按Run。
查看报表输出:
设置确认后按OK。在“我的文件夹”点击Refresh按钮。报表视图后多了一个View the output versions for this report图标。点击它可看报表输出。
此时列出设置中所选定的输出类型。
自定义组:
选中一列后按Define Custom Groups,可在这一列上自定义组。可以把这一列上的某些值归并到一起放入一个自定义的组中。
选中一列-->menu-->edit data-->Define Custom Groups-->customization type定制类型:individual values非数字项值-->new group name 新的组名-->custom group values 组内成员-->available values 非组内成员(空闲值)
自定义组在列表中展现:自定义组与本层的分组外“类别”和在一起作为新列出现。
自定义组在交叉表中展现:转为交叉表后自定义组只作为一列出现,自定义组的构成改变后报表中数据随之改变。自定义组与本层的分组外“类别”分别作为新列出现。
给自助式报表增加计算数据:
使用计算功能给报表添加基础数据源中不存在的数据项。??
计算结果并不保存在基础数据源中。每次运行报表时Query Studio会重新运行计算。??
计算结果总是基于数据源中的最新数据。??
可以在自助式报表中直接创建计算,或者添加来自package的预定义计算。
计算的种类:Operation type
Arithmatic数学计算:+(sum)、-(difference)、*(product)、/(division)、^(power)、Absolute value、Round、Round down、Square root
Percentage百分比:%、% of total百分比、% difference (growth)增长率
Analytic分析方法:Average平均值、Maximum最大量、Minimum最小值、Rank排列、% of total总计的百分比、Percentile、Quartile、Quantile
加入计算:可以通过对一个或多个列中的数据进行计算,给报表添加计算值。
点“计算”按钮进入calculate页面-->operation type操作类型:Percentage-->operation操作:% of total-->report item选择报表中的用于计算的列-->options选项:基于全部的汇总和基于组的汇总-->expression表达式-->new item name 设置新的查询项名称
-->operation type操作类型:Arithmatic-->operation操作:-(difference)-->order命令顺序:收入-生产成本
察看报表的运行历史:点开More然后选View run history。
可以选择在后台运行报表,不用任何人去等待察看报表??
你可能想要核实报表运行是否成功或者报表在后台的运行频率,可以察看报表运行历史来了解:??
报表被请求的时间,报表的启动时间和完成时间,报表执行是否成功。
设置需要保留运行历史的输出版本数:
点开More最前的按钮,run history运行历史/report output versions报表输出版本:number of occurrences 保留操作记录的版本数;Duration持续天数。
察看多报表的运行历史:
1) 在门户首页Tools下拉列表中,选Schedule Management。
2) 在Activity标签页选择要应用的过滤选项。 last最后几小时,from从什么时间,to到什么时间,scope范围,status报表运行状态
3) 点击Apply,显示满足过滤选项的所有报表和作业。
分发自助式报表:
可以将自助式报表分发给其它用户,和他们共享信息,可以通过以下方式分发自助式报表:??
将其保存在其它用户可以访问的地方,通过邮件发送给其它用户,进行打印。
保存自助式报表:
可以通过将报表保存到其它用户可以访问的地方来共享自助式报表,例如“公共文件夹”。“公共文件夹”通常含有很多用户感兴趣的报表。
通过电子邮件发送自助式报表:
可以通过电子邮件发送报表,和其它用户共享报表。
打印自助式报表:
可以对PDF格式的报表进行打印,获得信息的硬拷贝。??
如果计算机不可用或者想要将报表副本带到会议上,可以对报表进行打印。
调度自助式报表:
可以对报表进行调度,使其在方便的时候运行,例如在非高峰时段,系统需求比较低的时候。??
可以单独调度报表或者使用作业。可以调度报表,使其每分、每时、每日、每周、每月或每年运行。??
创建调度之后,报表或作业会在所设定的日期和时间运行。
报表的定时调度:
点击Scheduler图标(More的前一个按钮)可具体设定调度事项。
报表定时调度的设置:
disable the schedule 禁用计划;frequency频率:by day/by week/by month/by year/by trigger;options选项:formats格式/Languages语言/delivery交付方式;prompt values提示;start开始时刻;end结束时刻。
报表定时调度的输出格式设定:
formats格式:html格式(可以设置每页的输出行数),pdf格式,execl 2000等。Languages语言设置。delivery交付设置:view the report now 立刻查看;save the report,print it,or send an email 保存、打印、发送邮件。
新的报表输出生成:
达到一定的时间调度执行后按Refresh按钮刷新,Actions栏下多出一个报表输出图标。点击此图标(运行按钮之前),可按照预先设定的格式(如HTML, PDF)查看新产生的报表输出。
查看报表输出:
调度执行后点击报表输出图标,可按照预先设定的格式(如PDF,HTML)查看新产生的报表输出。
用“作业”去调度执行多个报表:
在“我的文件夹”工具栏上点击New Job按钮(第五个按钮,两个齿轮状)。给作业起一个名字。在Select the steps页面点击Add,给作业添加报表。
指定“作业”包含哪些报表:从“我的文件夹”中选中部分报表添加到作业中。
“作业”的选项设置:
steps下是已经加入到作业中的报表;点击defaults for all steps下的set按钮进入选项设置,还是设置格式、语言、交付方式等。
在这里做的设置将适用于作业中的所有报表。
“作业”的执行时间:
作业的所含的报表及其输出格式确定后,还要指定它的执行时间。可以定点一次性执行,也可以周期执行。
action设置行为动作:save and run once保存并运行一次,save and schedule保存并调用计划,save only只保存;Time设置运行时刻;steps设置运行顺序。
察看和管理调度:
可以使用Schedule Management工具察看和管理已经创建的调度。
第三部分 Report Studio (p88)
Report Studio是用来制作更加精细的专有报表的工具,专有报表的设计和运行两个过程是分开的.
进入Report Studio:在Report Studio中创建报表或修改报表.
用Report Studio制作报表要先选择“包”:
管理员用Framework Manager将用户的业务信息打成“包”并发布。发布后的“包”在CognosConnection 中的“公共文件夹”可以看到。
报表作者在用Report Studio制作报表时要先选择一个“包”。
了解报表类型:?一个“包”之下的报表组织在若干个文件夹中,制作报表时要选择一种报表类型,可以将不同的报表类型组合到相同的页面上,可以使用预定义模板,或者从一个空白报表开始。??
常见的报表类型有:List列表、Crosstab交叉、Chart柱状、Repeater、Blank空白
1.Report Studio列表界面:
insertable objects可插入对象窗格,properties属性窗格,explorer条,工具条、标注区、工作区。
Report Studio工具条:
运行报表、查看表数据、开关锁、视觉辅助、顶层、过滤、排序、汇集、分组、交叉表、分段、行列交换、头尾区、组头区、组尾区、插入表、合并单元格、拆分单元格、字体、背景色、对齐方式、提示页、数据格式、穿透钻取、帮助。
新建列表:从左边的查询主题中选择适当的查询项加到右边报表中,组织成列表的各个列。
拖拽可以改变列的顺序。
属性窗格和对象的从属层级:
在属性窗格为报表中的各种对象设置属性,大小对象之间可能存在从属关系而形成从祖先到子孙的若干级,如:Page, PageBody, List, List Columns 等。
在List 级的Data大项设置每页行数
按指定列设置分组:选中指定的列,按分组按钮。
改变分组的组跨度:properties-->data-->group span组跨度
初始默认为仅在出现新国家时分组。可以改为出现新城市时开始一个新的分组
加组表头(Create Header):在已设分组的列上操作,从Table菜单选Create Header,删去原有的分组列。
设置字体属性:点击文本对象或列表的一列后在工具栏上点击Font按钮,或在属性窗格中设置properties-->text item-->font & text-->font.
具体指定选中的类型(如货币)的格式:data format-->format type:currency币种-->properties属性
修改对象的属性──按照某一列排序:properties-->fact item.sort属性:sort descending属性设置为降序排列-->data item.name对象名称设置。
属性窗格可以让你察看和修改对象的属性。选中要排序的列,按排序按钮。
在指定列上加汇集:选中一个列后按工具条上的Aggregate按钮或改属性窗格的Fact Item大项下的Aggregate Function
List Cell─Font&Text选择左右对齐方式,汇集(Aggregate)展现。
两级排序:报表在“产品系列”上分组,“收入”按照“产品系列”的总和升序排序,“数量”按照报表的细节项降序排序。
2.Report Studio交叉表界面
定义交叉表:行、列、度量各自选好(可以嵌套),并对度量设置了汇集。
查看交叉表:点击“交叉表”按钮。
交叉表的灵活演变:通过拖拽个功能,更改交叉表的布局。
3.Report Studio图表型报表界面 (p120)
insert chart-->chart group图表大类-->chart type具体类型
确定图表中各项的位置: measures区:每个扇形区的度量值。pie slices区:扇形的分类依据。pies区:饼图的分类依据。
图表展现──按订购方法切片(分饼图),按产品系列分扇形区,每个扇形区代表的度量值是收入。
行列交换后,切片与分扇依据进行交换。
饼图显示百分比:properties属性界面,chart labels组,values:outside slices,values representation值的表述:percent.
改为柱状图:
点中图表的背景区后点鼠标右键,或从Structure菜单下选Convert Chart(转换图表),可以把原图表改为其他类型。
定义柱状图: measure:定义y轴的度量值。series:定义柱子的集合(对比值)。categroy:定义x轴。
仪表盘(Gauge)型图表: measure区:指针对应的度量值,needles(series):每个盘上指针的集合,gauges:仪表盘的集合。
仪表盘的分区颜色:properties属性界面,gauge chart仪表盘型图表, color & background组,gauge Palette按钮页面,Palette type:discrete colors不连续的颜色、continuous colors连续的颜色,percentage百分率,然后给每个分段选择颜色。
Repeater(重复)类型报表:在重复表的工作区插入一个表 (Table),并指定表的行列数。
重复表的每个表格都有1列7行,这是一个每页2栏3段的重复表。
在properties属性界面,repeater重复表, general组下:repeater direction重复方向,across栏(列,竖排),down段(行,横排)。
4.过滤 (p133)
准备对报表数据进行过滤:
细节过滤:设过滤的数据项如果没有出现在报表中(如:日期),就只能通过DetailFilters去设过滤。信息取自数据包。
filters-->detail filters-->add-->[expression definition]
汇总过滤:设过滤的数据项如果已经出现在报表中(如:国家),就可以通过SummaryFilters去设过滤。信息取自报表。
filters-->summary filters-->add-->[expression definition]
修改某一列的表达式:properties-->list column body-->data item-->expression
两项合并后:修改列的表达式,把“名”和“姓”合并到一起。
在过滤表达式中加输入参数: expression definition: [姓名]=?Name?报表运行时要求输入一个销售代表的姓名
在汇总数据上过滤: 这里显示的“收入”是每个销售代表的总收入,而不是单笔收入。现在我们要在总收入上进行限定,只保留总收入在1,000,000以上的那些销售代表的数据。我们要设的是在汇总数据上的过滤。
Filters-->Tabular Filters-->application:After aggregation汇总后过滤。
5.聚合和穿透钻取 (p145)
脚标区的聚合方式:决定的是每个分组脚标区中的汇总是按什么方式汇总。
properties-->list column body-->data item-->rollup aggregate function:total总数(合计)、average平均值
单元格的聚合方式:决定的是逐条显示还是归并显示,以及归并按什么方式归并。
properties-->list column body-->data item-->aggregate function:none逐条显示、total归并显示.
报表间的穿透钻取(Drill-through):穿透钻取是在粗细两个报表之间建立一种关联,可以实现由粗看细。
从概要报表钻取到细节报表,察看感兴趣的细节信息。在概要报表中选击一个国家代码,打开另一个细节报表,只显示该代码所代表的国家的细节数据。
创建一个Drill-through报表:
通过给子报表增加一个参数和一个从父报表到子报表的drill-though连接来创建一个drill-though报表。
打开细节报表-->加入一个连接参数-->打开概要报表-->创建一个到细节报表的drill-through连接。
定义穿透钻取:
选中一列后点穿透钻取按钮,新建一个穿透钻取,report:指明穿透钻取到哪个细节报表,parameters:如何传递参数.
穿透钻取的传递参数:
穿透钻取定义在“国家/地区代码”上,而传递的参数可以换成它对应的“国家/地区”。
parameters-->name:细节报表上已经在“国家/地区”列上定义了一个过滤参数-->method:选择传递数据项的值-->[国家/地区]=?country?
穿透钻取效果:概要报表中设穿透钻取的数据项加上尖括弧和下划线,前面还多了一个穿透钻取标志。
报表数据过滤(表级):点Filters按钮-->tabular filters-->选中列,定义表达式,查询范围通过参数传递
运行报表时要给定日期参数值:提供指定日期:仅检索显示订单日期晚于指定日期的订单数据。
6.复杂报表 (p155)
复杂报表:在Blank报表中先加一个表格,这个表格有1行2列左右两个格子
insertable objects-->table-->table size
插入列表:在左格子中放一个列表,给定查询命名
insertable objects-->list-->based on-->new query:List
插入图表:在右格子中放一个图表,给定查询命名
insertable objects-->chart-->based on-->new query:Chart
选定一种图表:insert chart-->column即选定的图表为柱图。
复杂报表的三个区域:左格为列表 右格为图表,打算在整个表格下方再插入一个交叉表crosstab
页表头header:先加一个页表头,在页表头区域中再插入一个Block.在页表头的Block中可以插入Text Item并输入文字.
用图形和数字两种形式显示同一组数据:先做一个图表,填好数据项。再拖入一个交叉表,把它的查询改为Query1,即使用上面图表的查询。
同一查询中的数据项在另一种形式中对应:转到“可插入对象”窗格的“Data Items”标签页,在Query1查询下,把已做好的图表的数据项对应拖入交叉表的相应位置。
7.参数和提示: (p165)
参数是一个占位符,它的具体值需要临时接收。??
参数的值通过“提示”来接收。建立提示时要定义参数。每个参数具有一个名字。??
提示利用参数值形成过滤表达式。??
提示有多种类型。
值提示value prompt:值提示在可插入对象窗格的“工具箱”标签页中
在报表中拖入一个值提示。这个提示将给出一个供选择的下拉列表,列出某个数据项上可能出现的值供用户选择。
在提示中要定义一个参数,用户选择的值由这个参数来接收。
提示定义了一个包含参数的过滤表达式,利用参数接收的值对指定数据项进行过滤。
提示的过滤表达式:Query2[产品系列代码] = ?Parameter1?
提示的下拉列表中列出的可以不是[产品系列代码] ,可以换成对应的[产品系列]的名字。
values to use使用值,values to display显示值,cascading source级联数据源。
提示按钮prompt button:
从工具箱中拖一个“提示按钮”进报表。把提示按钮的类型改为“Reprompt”。
这样每次更换参数值时不必重新运行报表,只要按这个按钮即可。
“提示按钮”的类型:Cancel,Back,Next,Finish,Reprompt
带值提示的报表运行:
尽管提示的过滤表达式中使用的是[产品系列代码] ,但此处展开提示的下拉列表看到的却是“产品系列”的名称。报表已按照“产品系列”过滤。
要想通过提示选择其他值,只需选后按一下“重新提示”按钮。
加入“选择和搜索提示” select & search prompt:
分两步进行:先按某种搜索规则确定一个选择范围,然后再选择。
“选择和搜索提示”的参数和表达式:
在提示中要定义一个参数,用户选择的值由这个参数来接收。
提示用参数值定义一个过滤表达式,对指定数据项的值进行过滤。[产品系列] in ?Parameter1?
确定提示的查询名以及它的使用值和显示值:
prompt wizard-->create new query-->name查询名-->values to use使用值-->values to display显示值
拖入提示按钮并指定它的类型:
“选择和搜索提示”的运行:先按某个关键字搜索出一个选择范围放在“结果”框中。然后在这个范围中再进一步选择。
增加提示页:点工具栏上的Build Prompt Page 按钮增加一个提示页面,在它的工作区中拖入一个Value Prompt。
定义提示的参数名和过滤表达式:
在这个提示页中建立一个值提示,它通过一个参数来接收若干值,即若干国家的名字。
[国家/地区] in Parameter1 提示中的参数名
运行中的提示:
报表运行时首先弹出提示页面,值提示在提示页中而不是在报表页中.
级联提示及其行为模式:
Cascade Source指向级联提示的上一层。Auto-Submit决定是否需要按“完成”按钮提交。Multi-Select确定单选还是多选。
利用文本框提示过滤数据:
我们希望在报表中只保留收入在某一个指定区间中的数据行,先加入一个提示页,在提示页中加入两个文本框提示,用它们分别接收数字区间的下限值和上限值。还可以加入起说明作用的辅助文本项
文本框提示Text Box prompt:可以在文本框提示中输入参数值,并按照该值形成过滤条件。[订单].[收入] >= ?N1? [订单].[收入] <= ?N2?
提示页面与报表页面的切换:光标移动到探察条上的Page Explorer区域,可以展开一个水平伸展窗口,在此可选择浏览报表页面和提示页面。
指定在汇总数据上过滤:回到报表页看过滤器,把这两个过滤条件改设在汇聚后的数据上。
Text Box prompt 的运行和结果:运行时在两个文本框里各自输入一个数,确定一个过滤的数字区间。
8.条件格式 (p187)
加入字符串变量:在Condition Explorer点中Variables,拖拽左侧String Variable到Variables框中??
写入变量表达式:在弹出的Report Expression窗口中输入变量表达式,给定变量的条件。??
字符串变量命名:属性窗格Miscellaneous大项Name小项:给变量命名??
为字符串变量赋值:在Condition Explorer 为变量加入几个与表达式一致的值??
将特定数据项与字符串变量绑定:选中要设条件格式的数据项,属性窗格Conditional大项Style Variable小项:选择一个字符串变量??
为变量的不同值分别指定具体格式:选中数据项后在Condition Explorer中选变量的一个值,为它指定格式。
条件格式:加入字符串变量
在Explorer Bar上指向Condition Explorer, 点击Variables
写入变量表达式:
properties-->Variable-->report expression-->available components变量组件-->expression definition:if (>) then .. else if (<) then ..
字符串变量重新命名:properties-->Variable-->miscellaneous-->name:revenus_high_low
字符串变量赋值:Variable-->values 注意大小写,要与变量表达式一致
将特定数据项与字符串变量绑定:properties-->list column body-->Conditional-->Style Variable:字符串变量
把数据项“收入”绑定在字符串变量“Revenue_high_low”上,在属性窗格“Conditional”大项“Style Variable”小项处绑定
为变量的不同值分别指定具体格式:选中了字符串变量的一个值后,Explorer 条的底色就变成了绿色。可针对该值具体设置格式。
条件格式展示:
加入计算(条件语句):加入一列,有条件地决定它的内容。
insertable objects-->layout calculation,在属性页面设置条件语句。
条件语句:拖入Layout Calculation后会自动弹出Report Expression窗口,在此输入条件语言。形如:
if (条件为真) then (表达式) else (替代表达式)
条件语句效果:可以修改这个计算列的列标题(text source-->text);还可以把条件格式的效果加到这一列上。
9.语言变量 (p198)
??创建一个语言变量:在Condition Explorer 点中Variables,拖拽Report Language Variable??
为语言变量选择语言并命名:为语言变量选择几组语言,每组含若干种同类语言;属性窗格Miscellaneous大项Name小项:给变量命名??
把一段文字绑定在语言变量上使其成为条件文本:选中一段文本,属性窗格Conditional大项Text Source Variable小项:选择一个变量??
为条件文本设置每组语言的显示内容:在Condition Explorer 中的语言变量下逐一选择不同的语言(组),为条件文本分别输入不同语言下的具体文字内容。??
以不同的语言运行报表:展开Run Report按钮旁的下拉列表(运行按钮下来列表),选Run Options;在Language栏下选择语言。
布尔变量应用:构筑一个报表,其中含有“产品编号”和“产品名称”两项。可以通过一个布尔变量来决定是否要显示出“产品编号”这一项。可以只显示“产品名称”而不显示“产品编号”;也可以把“产品编号”和“产品名称”都显示出来。
布尔变量设置思路:参数用于接收提示的值,这个值决定了布尔变量的真假状态,布尔变量的状态决定了指定的数据列是否显示
建一个参数,用于接收值提示的值:在提示页中加一个文本项,写上“要显示‘产品编号’吗?”;在提示页上加一个值提示,接收值的参数名字为‘Para1’。??
在值提示上加一个布尔变量,值提示参数决定其真假状态:设置值提示的属性:Data大项,Static Choices小项,新建布尔变量;给定布尔条件:ParamDisplayValue(‘Para1’)='要';分别给定布尔变量真与假的Use值和Display值??
把指定列与布尔变量绑定,由布尔变量决定该列是否显示:指定报表中一列,将其选中;属性Conditional大项Render Variable小项,选择一个布尔变量??
建立布尔变量要用的值提示:在提示页中加入一段说明文本(text item);在提示页中加入一个值提示(value prompt);值提示的接收参数名为Para1(create a new parameter);
为值提示建布尔变量:参数的值通过值提示来接收。
建一个布尔变量,它的真假状态取决于提示的接收参数:ParamDisplayValue('Para1')= '参数接收的一个可能的值'
?? properties-->value prompt值提示的对象属性-->data大项-->static choices小项(在此建布尔变量)
布尔变量的表达式:
布尔变量真与假的Use值和Display值:
布尔变量有两个固有的值Yes和No,对应真假两种状态。
让接收参数可以接收“要”和“不要”两种值,按照布尔变量的表达式对应成“真”与“假”两种状态。
--204
10.为Query Studio设模板 (p231)
第四部分 Analysis Studio (p255)
1.简介
Analysis Studio是Cognos 8 业务智能(BI)分析解决方案中的OLAP 分析软件,它继承了之前的Cognos PowerPlay?的多维分析和报表功能。
用Analysis Studio可以快速轻松地开展多维分析的工作;高效访问并分析大型数据集,并确保可获得快速的响应;长期察看趋势;分析并探察问题;钻取到细节并在维度或信息层之间转移。
Analysis Studio通过向下钻取、切片和切块、排名和排序等传统的多维分析功能,简化了大型数据集的复杂分析流程。
多维分析是要经过几个阶段组织多维数据进行分析的过程,即在线分析处理(OLAP)的过程。在分析业务时通过维度探察度量。
从查看数据的角度,可以:快速查询;将维度和度量相结合;获取大范围业务问题的答案。
立方体是一个多维数据的存储结构,它提供:源数据的访问,数据的快速查询。
维度:是一个与业务相关的透视图或观察角度,依赖于数据的有效性和表达业务成效的关键性能指标(KPI),能够回答类似下列问题:谁(主体)在何时(时间)何地(空间)做什么(动作)。
维度的全集是:某人于某时某地做了某行为,依据某资料,产生某结果,其中货币可能在资料与结果中双向流动。
度量:度量用于监测和评估企业成效,企业收集和存储的将用于评价业务状况的数值性数据。
在企业活动中通常是通过如销售额、费用、业务指标、库存量和定额一类的关键性能指标(KPI)------度量来监测业务的成效。
多维数据是按着直观和贴近业务规则的方式组织起来的数据。被组合的数据能够探察和回答与业务有关的问题。通过从多个角度探察数据,能确切地发现其内部的某种趋势和某种信息。
为了反映业务的组织结构,多维数据是按级分层(Levels)构成维度,而每一层则是由类别(Categories)组成。最高层是对数据的概括性说明,以下的各层依次表示比其上一层更详细的数据。如:日期(时间)维度分层为:年、季度、月...
多维数据的构成:在多维数据中,业务维度是我们在报表中要分析的业务的核心成分或者种类。度量就是位于这些维度的交叉点上的数值。业务维度是数据结构的基础,为数值项或度量提供业务背景。
维度与度量的关系:一个多维空间的数据集合可以被想象成一个数据立方体。每个维度是多维空间的一个坐标轴,每个坐标轴上都有代表维度数据的刻度,各个维度的每个交点上的数值就是度量。
在分析多维数据时,通过变换数据的角度,即改变数据的维度来探察数据,能够确切地发现其内部的某种趋势和某种信息。
维度结构:维度和层。层在维度内部的层次结构中表现了其确定的级别。类别是在维度中层上的数据项。类别是各维度每层中数据的具体取值(如:时间是维度,年是层,2011年就是类别)。
下层类与上层的某个类有父子关系。
2.报表制作(p275)
用Analysis Studio 完成多维分析和探察大数据源的工作.
探察分析的工具:探察路径完全按维度层次的定义进行,用向下钻取(Drill Down)、切片和旋转(Slice and Dice)以及改变显示方式来探察数据。
向下和向上钻取( Drill Down & Drill Up):向上和向下钻取可以迅速从一层转移到另一层,以探察业务的不同详细程度,察看各层信息的关系。向下钻取得到更详细的类别,向上钻取可观察上层更综合的信息。直接点击或用鼠标右键选,点击表头或单元格。
切片和旋转可以改变和重新安排报表的主显维度,它提供了观察数据不同的视角。通过拖拽一个新的维度到显示区来完成切片和旋转。
切片和旋转是切换维度或维度中的类来查看数据的过程。
通过添加上下文,可以增加分析数据的角度。
过滤报表可以把注意力集中在一个指定的范围内。过滤种类:抑制零过滤,行、列和上下文过滤,最高或最低过滤,排除过滤,自定义过滤
抑制零过滤:提供快速排除行列无值的方法;可用于行或列,或两者同时;可选择抑制空或零,或两者;可根据需要选择抑制零过滤的应用范围。
行、列和上下文过滤:提供用维度数据过滤报表的方法;可用于行、列或上下文。
在行、列和上下文处可对表中数据过滤。上下文过滤:在所选择的一个或多个项的上下文中显示行和列的值。
最高或最低过滤:
最高/最低%:选择所指定百分比的累计项. 如,哪些产品的销售收入占总销售收入最高的10%
最高/最低Σ:选择所指定值的累计和项. 如,哪些产品的销售收入成为第一个一千万
最高数量是按降序排列,最低数量是按升序排列;显示指定数量的项目成员;下例表示,按订购日期排序,销售收入排在前或后3名的客户
最高%是按降序排列,最低%是按升序排列;将建一个%计算(在后台)。下例中为了清楚数据关系,对全部客户按订购日期建一个%计算 为得到最高销售收入的客户,将检索所有客户直到匹配或超出设定的%
最高Σ是按降序排列,最低Σ是按升序排列;将建一个累加计算(在后台)。为得到最高销售收入的客户,将检索所有客户直到匹配或超出设定的合计。谁是给我们带来最先50万销售收入的最好的客户类型,将返回占销售收入59万的流行销售型谁是给我们带来最先120万销售收入的最好的客户类型,将返回流行销售型(59万)+大众市场型(56万)+独立商家(34万)
排除过滤:排除可以选择性地清除所选中的项。排除和隐藏可以被恢复。
自定义过滤:自定义过滤可以在更多的指定条件上分析数据。
数据排序:排序提供了快速了解什么是重要信息的方法,包括:选择值排序,选择标签排序
自定义排序:按度量排序。
计算:分为小计、汇总、计算。
小计:可视项、其它和隐藏项、包括、排除、合计(仅显示小计)。用小计设置是否显示被排除或隐藏项等项
汇总:用于所有成员的汇总计算,总和、平均值、最大值、最小值、中间值、方差、标准偏差、计数。
计算:排名、占合计百分比、常量、算法、分析、%差值(增长%),自定义计算。
自定义计算:自定义计算中的操作类型分为:算法、百分比、分析、评级、常量。
算法包括:加、减、乘、除 、次方、绝对值、取整、开方等数学运算。
分析包括:平均值、最大值、最小值、中间值、累计值等。
评级包括:排名、百分数、分位数、四分位数等。
排名分为:纵向排名(在一个集合中的所有项的排名)和横向排名(在一个集合中的每一项的排名)。
组合计算:(流行销售型/(流行销售型+大众市场型+独立商家))%
3.数据加工 (p326)
一个集合是基于一个层次结构的一些相关项数据的组,一个集合基于一个项和紧接它的明细。
层的集合是基于一层的数据集。
选择集合是经过选择的单个项的集合。在同一个层次结构(树)中一层或多层上挑选的一些成员。
度量集合是由一个或多个度量组成。度量集可以放在行或列上。
定义子集:在工作区中保存集以便将来使用或与另一个集进行比较;自定义集保存到--》可插入对象窗格的分析项目选项卡中。
4.交叉表的布局 (p332)
基本布局:一行一列。
组合维度:两行一列,一行两列,两行两列(两 可以是多)
嵌套维度:两行(一嵌一,父子关系)一列,一行两列(一嵌一,父子关系),两行(一嵌一,父子关系)两列(一嵌一,父子关系)(两 可以是多)
非平衡嵌套:两行(一并一,平行及父子关系)两列(一并一,平行及父子关系)
搜索对象的应用:
添加标题:查看--》属性窗格--》新建--》报表选项--》标题。
第五部分 Transfomer模型设计 (p339)
第一章 开始 (p340)
模型设计的本质:模型设计的好坏主要取决于业务数据的规范和对业务数据及其关系的理解。
Transformer 是用于整合数据源数据和建立模型的工具
数据建模的过程:用户需求--》数据--》模型--》视图(展示)根据最终应用的目标和特性,建立一个成功的PowerCube
从模型到PowerCube:1. 输入数据源 2. 建立和检验度量 3.建立和检验维度和层 4.创建和测试PowerCubes
PowerCube是:多维数据的逻辑结构和物理结构;由Transformer模型生成,并用于在PowerPlay中查看和操作的数据包。
第二章 规划模型设计 (p345)
维度:是一个与业务相关的观察角度,依赖于数据的有效性和表达业务成效的关键性能指标,能够回答类似下列问题:who?what?where?when?
Transfomer将业务的每个方面构造成一个维度,所有维度在一起提供了业务的多维视图。这个多维视图的数据被存为一个立方体。一个维度下设有若干层,例如:时间维度由年、季度、月构成。
度量是用于评价业务状况的数值型数据。在企业活动中通常是通过如销售额、费用、库存量和定额一类的关键性能指标------度量来监测业务的成效。
不同的度量反映出不同的业务性质。度量之间相互独立。度量是业务量化的表示。PowerPlay可以监测任何能够用数值表示的业务的成功因素。
PowerPlay 多维分析──多维交织
模型设计:
一个模型设计是关于PowerPlay应用结构设计,以及数据需求方案的文档。其作用是:帮助明确用户需求;帮助评估开发应用需要的工作量;把应用设计的目标提供给最终用户,以得到对该设计的认可和肯定;作为应用开发过程的指南。
Transformer中的模型设计
Transformer界面包括四个基本窗格:维度图窗格,数据源窗格,度量窗格,PowerCubes窗格
数据源窗格:
数据源(Data Sources)窗格的作用是将数据集成到模型中来。根据模型设计文档,从能够支持应用的数据仓库及数据库中确定要查询哪些数据,并将它们加载进数据源窗格。然后再将数据源窗格的数据用于建立维度图,并创建PowerCube。
在数据源窗格中可以有一个或多个数据源,每个数据源来自于一个数据源文件(例如.iqd等) ,每个数据源都有自己的数据源名。每个数据源由构成它的若干列(Columns)组成。这是做模型的原始基本素材。
数据源窗格中列的数据类型:打开列的属性(双击列名)--General标签页--Data class;如果数据源不是来源于.iqd,则它的列的数据类型开始为Unspecified(未指定)。
维度图窗格:是一个用于建立多维立方体结构的工作区。根据数据源中的文本数据,各个维度以及每个维度下层的设定在此组织(维度和层)。最底层要对应数据源窗格中的一个列。维度图决定了数据在PowerPlay维度栏中出现的顺序。
度量窗格:用于建立和显示模型所需要的度量。度量值是在PowerPlay报表单元中可视的数据。根据模型设计文档,定义应用中需要的度量。度量在度量窗格中的顺序决定了它们在PowerPlay维度栏文件夹中度量的顺序。
模型中至少要有一个度量,度量与维度的最底一层关联。每个标准度量要在数据源中对应有一个列(计算度量除外)。
PowerCube窗格:显示用模型创建的PowerCube。
度量:定量评估业务成效的结果;主要说明数值性问题,如“多少?”;每个度量都增加了对数据的观察角度;要建立PowerCube必须至少要定义一个度量。
虽不是所有的业务指标都要包含在模型设计中,但应尽量寻找增添一些追加度量,因为用户提出的需求并不一定总能对数据分析提供完全有效的结果。通过增加这些新的度量,用户可以用不同的方法分析数据。
追加维度:who,how
层(Levels) 和类别(Categories):
数据被组织进各个维度,并放在相应级别的层里。类别是各维度每层中数据的具体取值。下层类与上层的某个类有父子关系。
类别在PowerPlay报表中出现在行、列的表头上。
维度、层和类别的关系: 维度是一个观察方向,层是该观察方向上的细分,类别是某个层的取值集合的元素。
作模型设计时,选好要说明的业务领域:选定能够说明业务领域关键成功因素的度量指标;确定能够准确地反映数据等级结构的层。为了使应用导航比较快速和易于操作,
尽量保持每个维度中的层数不超过5层。为了保证数据的分析最有意义,最好层到下层的类别数比例在1:10 以内。
选择的维度与度量要匹配。推荐维度数尽量保持在5~7个,因为较少的维度可以使得应用几乎更直观和易于使用。
在生成PowerCube前,在Transfomer模型中必须完成:集成数据源数据;建立维度图;定义需求的度量
第三章 组织数据源数据 (p358)
数据类型 Transformer 使用三种类型的数据:
日期:具有特定的数据格式,用于支持日期维度中指定的时间周期。日期数据定义时间周期
文本:定义维度结构和类别的描述数据,另外也叫结构数据。文本数据定义维度
数值:定义度量值的数值性数据,另外也叫作事务数据。数值数据定义度量
数据源文件是把数据带入模型的计算机文件:来自企业数据 或者 供给Transformer用于作为模型的全部或部分源数据
Transformer 可使用来自一个或多个数据源的数据,Transformer 可接受多种格式的数据源数据
为Transfomer准备数据源文件有两种方法:
单数据源:所有需求的数据放在同一个数据源文件中。文本型和日期型数据用于建立维度结构,数值型数据用于定义度量。
多数据源:由包含两种不同类型数据的数据源构成:结构数据源包含支持维度结构需要的文本数据;事务数据源主要包含用于定义度量值的数值数据。
数据源文件与数据源窗格一一对应:进入数据源的各个列成为组织模型的素材。
.IQD 的优越性:
.IQD包含从数据库抽取的结构信息。使用.IQD是维护和更新数据源数据的有效方法:提高了性能,从Transformer可以运行并更新数据源的列,Transformer能够识别在数据源中定义的列属性,支持穿透钻取到Impromptu.
.IQD 从Impromptu产生,可以直接在Transfomer中引用。你总可以访问最新数据,而避免了更新数据所需要进行的批处理。Impromptu提供对多种不同数据库的访问特性,使数据源的创建和维护简单化。
由于.IQD仅仅包含结构信息,它们占用的空间小。这避免了向生产平台传输大规模的文件。
Transfomer能够直接读解包含在.IQD中的数据的列属性。
如果数据源是一个.IQD文件,Transfomer自动加入相关的Impromptu报表(.imr)到每个度量的穿透钻取表中。
Transfomer用数据源文件:构造维度、层和类别,将度量与维度结构的最底层联接,将二维数据转换成多维数据
在Transfomer中,度量值总是与维度的最底层类别直接关联的,就是说度量值是从最底层类别集合计算(Rollup)到上层类别。当PowerPlay在显示最底层以上类别的度量值时,上层数据的集合计算值是在执行用户操作时完成的。
修改列:如果改变了数据源文件的结构,数据源数据可能与模型中当前有效的列不匹配。可以修改模型中的数据源。在数据源窗格中右击数据源名——Modify Columns。
第四章 建立模型 (p365)
手动创建模型结构:通过将数据源窗格中的列按顺序和层次摆放到维度图窗格和度量窗格中来建立模型结构。
生成类别:维度图窗格只是反映了多维结构的维度和层,并没有反映层上数据的具体取值,即“类别(Categories)”。事实上模型刚设计好时,也只有维度和层,没有“类别”。要想看到由不同层的“类别”构成的层次架构,就要首先生成“类别”。Run----Generate Categories类别生成后,可用类别计数来评估数据量。
维度图示(Diagram):类别是维度每层上的独立的数据元素。生成“类别”后,可以展开维度图示(Diagram)来查看类别,维度图示是Transformer的一个附加窗格。Diagram ----Show Diagram 或按工具条上图标可以看到每个维度上由不同层的“类别”构成的层次架构。
类别只在维度图示中可见。生成类别并不意味着生成立方体,此时在维度图示中虽然能够看到类别,但它们还没有和度量关联起来。
用维度图示修改:
在维度图示中指针的功能: 左-可以移动层或类别项.右-可以创建层或类别,或连接到其它项上.
使用以下图标增加或删除维度图示中的项:+、-
手工层:上层到下层的类别数比例最好在1:10 以内。如果一个上层类别带有太多的下层类别,可考虑在两层之间加一手工层。
拖拽维度图示中某层名的右侧,定义手工层。从某一个上层类别框的右侧向右拖拽,生成手工层的一个类别, 可重复生成多个手工层的类别。
逐个拖拽下层类别框的右侧,把它们分别归并到不同的手工层的类别之下。
在地区维度,国家层(上层)和办事处层(下层)之间可考虑加入一个手工层。专门用来针对“美国”。“美国”之下的办事处个数明显多于其他国家,显得不太平衡。手工层名为“东西部”,设“东部”和“西部”两个类别。各个办事处(城市)分别归到手工层的两个类别下。其他国家手工层上无类别。
特殊类别:在某些特殊情况下,我们可以把同一维度下不同层上的一些类别汇集到一起,构成一个“特殊类别”。并不去理会它们原来的层次关系。
在维度图示窗格下方框外定义,从维度名称右侧拖出。再从常规各层下选择一些类别接到它下面。特殊类别不参加所在维度的常规汇总,本身也不重复汇总。需要手工维护。
创建PowerCube:
检测模型无误后,按工具条上的Create PowerCubes按钮,即可生成立方体。在PowerCubes窗格中可以看见它的名字。双击该名字,可以看到它的存放路径。
也可以在生成立方体之前预先指定它的存放路径。选中PowerCubes窗格后点击工具条上的按钮,在Output标签页按Browse按钮为它指定存放路径。
维度属性表:Dimension
层属性表: Level (Level name,Source,General,Order By)
类别属性表:Category (Category lable,General,Order By,Category code,Source value,Inclusion,Orphanage)
数据源属性表: Data Source (Data Source name,Source,General,Description, Local data file : "c:\....\***.iqd",Source type:"Impromptu Query Definition",Isolation level :"Default",Database Signons :"PP-db")
列属性表: Column (Column name,Original name,Calculated,Data class数据类型,Position精度,Input scale 小数位数)
度量属性表:Measure (Measure name,Measure lable,Storage type,Drill Through 钻取,Rollup汇总)
PowerCube属性表: PowerCube (PowerCube name,PowerCube file name :"***.mdc",Database type )
维度或度量的屏蔽:在PowerCube属性表中Dimensions和Measures两个标签页里对某些维度和某些度量进行屏蔽,被屏蔽的维度和度量虽然定义在了模型中,但在生成的立方体中用户看不到它们。
维度中部分类别的屏蔽和排除:可以根据需要对某些类别加以屏蔽或排除。不同的需要可能屏蔽或排除的范围不同,这样就形成了不同的View。在维度图示窗格中,用鼠标右键点击某一个维度名,选择Add New View,可以为这个维度加一个View。可以针对一个View具体设定对类别屏蔽或排除的范围。
在View中进行具体设定:在视图中屏蔽和排除维度中的部分类别。
“类别”屏蔽和排除的种类:
Exclude: 把指定类别及全部下层类别都排除,既看不见,也不参加汇总。
Cloak: 把指定类别及全部下层类别都屏蔽,全都看不见,但它们参加汇总。
Suppress: 仅把本层指定的类别屏蔽,其下层类别提升。不影响其他兄弟类别,也不影响汇总。
Summarize: 把指定类别的全部下层类别屏蔽,使它们看不见,把它们的值汇总到当前类别,当前指定的类别看上去就象是处在最低层。
Apex: 以当前类别作为本维度层次构架的顶点,即只保留当前类别及其以下的部分。旁系分支全部排除,既看不见,也不参加汇总。
在维度图示窗格中设。
让PowerCube使用维度中的View:在PowerCubes窗格中,点开一个Cube,在Dimensions标签页中右击一个定义好View的维度,为它指定一个View的名字。这个Cube就使用这个View的设置。
第五章 日期维度 (p387)
日期维度包含表示时间周期的类别
日期维度有两种类型:
标准:由单独一列建立,通常是由Transformer预定义,可以自定义.
非标准:可以用多个列定义非标准日期维度,类别之间的关系完全由用户定义
定义日期格式:源数据--》Transformer-->日期列属性表--》判断数据源的列是否为日期型的数据,如果不是把数据设置为日期型--》设置日期输入格式--》设置详细程度
修改日期显示格式:在层属性表中设置日期格式。
标准日期维度:Transformer 用年、季度和月作为默认的标准日期维度的层。
日期维度中的层(如年、季、月),由于不是对应一个独立的列,在其属性中的Time标签页要用到一个日期函数。可根据情况选择适当的日期函数。如果要增加新层,可利用日期函数定义。
日期维度中的日期函数:双击维度图中日期维度的某一层,转到Time标签页,可看到日期函数。
在日期维度中增加“日”(day)层:把“订购日期”从数据源窗格拖到维度图中日期维度的最下端,作为一个新层;双击新加入的新层“订购日期”,展开Level对话框, 转到Time 标签页;
在Date Function 中目前没有对应的函数,把它改为函数Day;把层名(Level Name)改为“Day”;还可以修改日期的格式。
按工具条上按钮生成“类别”。可从维度图示中看到“Day”层上的类别。
在日期维度中增加“旬”层:
在数据源窗格加入一个自定义的列“旬”:鼠标右击数据源名,选择Insert Column,新列命名为“旬”。Column type 改为Calculated, 按Calculation按钮,形成表达式:If (day(订货日期)<=10) then('上旬') else (if (day(订货日期)<=20) then('中旬') else('下旬') )
把新定义的列“旬”加到维度图窗格日期维度的适当的位置。在层标“旬”上双击,在Order By标签页指定按订货日期排序。
基于时间分区的Cube(虚拟Cube):物理Cube可以按照时间值分割成多个分Cubes,这多个分立方体的总和提供了一个逻辑上完整的总Cube的单一视图。
如果按照年(Year)设分区,则每一个年份产生一个分Cube。如:19960101-19961231.mdc,19970101-19971231.mdc。这些分Cube可以单独使用,也可以联合成一个逻辑整体在时间维度上跨年份使用。
在PowerCube属性表Cube Group中选中Enable Time-based Partitioning (启用基于时间的分区),维度Dimension选择日期,层Level选择Year,即已年为分区依据。
第六章 多数据源 (p398)
在Transformer 模型中的多数据源:多数据源模型能够从多个不同数据源连接数据,它们可以是不同的存储格式。如,Excel表和.IQD文件。
加到模型中的数据源数目不限。Transfomer通过含有度量的数据源里的结构信息确定每个度量与维度的关系。
为什么使用多数据源:将不同类型数据源的数据用于同一个模型中;向已存在的模型加入新的数据源;提高模型的性能;数据易于管理。
提高模型的性能:多数据源减少了Transfomer处理的数据的总量,能够提高生成类别和创建PowerCube的速度。因为结构信息只需要定义说明一次,而不是对每个加载到模型的数据记录都要说明,因此提高了性能。
数据易于管理:不必象许多数据库管理那样要管理表连接,也不用做一些与数据访问有关的管理作业,更不需要使用公共的查询工具准备数据源。例如,某些数据是静态的,而另一些数据是要经常更新的。如果将静态和动态的数据分别放进不同的数据源,就不需要经常管理静态数据。
多数据源的不同类型:根据所含列的数据类型分为结构数据源和事物数据源。
事务数据源:指含有代表度量的事务数据(通常是数字型)。主要包含的列是数据库中事务数据(数值数据),还要包含各个维度最底层的文本型数据项。
结构数据源:指仅含有用于建立维度和层的结构数据(通常是文本型)。包含指定模型结构的某个维度下的各层的数据项。一般是文本型的数据,但有时也可能有数值数据列。
Transfomer不是做数据库连接,因此在将数据加入Transfomer之前,确定每个数据源应包含足够的生成维度类别的信息,或使用象Impromptu一样的数据库访问工具, 从各自独立的数据库表链接数据源。
多数据源的规则:
事务数据源:为提供度量, 可以创建一个或多个事务数据源。在事务数据源中提供充分的结构数据列,以便在每个维度中集合计算(Rollup)度量。
结构数据源:为每个维度创建一个结构数据源。按照将在维度图上出现的顺序,排放数据源和它们的列。最好将结构数据源放在事务数据源的前面。
多数据源与维度结构、度量的关系:要把每个维度最底层那个数据项也收集进事务数据源中以实现度量值的分解。
每个结构数据源对应一个维度结构,该维度的最下层需要记录在事务数据源中,然后依据最下层属性的不同汇总维度各层的度量。
将多数据源的列与维度的层相关联:出现在不同数据源中的相同含义的数据列应同名;需要考虑层中类别的唯一性问题。
声明唯一性:
当数据不唯一时,如果指定层的类别是唯一的,将产生无效的结果。因为通过声明唯一性,并不能使数据变成唯一,只是告诉Transfomer,模型源数据的属性。
如果一个维度的最底层不能保证数据有唯一性,可以在源数据中创建一个有唯一性的列。如果一个维度的最底层能保证数据有唯一性,可以在层属性表中声明唯一。
数据不唯一造成的问题:如果最底层数据不唯一,则需要把它的上一层的信息也要收集进事务数据源。即下层无法指定自己的父亲是谁时,必须在事务数据中引入父亲,以确定底层数据的唯一性。所以在对层进行编码是一定要注意编码的层次性,例如:日期的编码必须是年份+月份+日期,单独写个25号,根本不清楚那年那月的25号。
有效维度的关系:在维度图中查看各数据源对各个维度、层的作用范围。Edit ----Show Scope可看各个维度与各度量、各数据源之间的关系。
直接(深黄)未声明唯一性(红)间接(淡黄)无关(白)。在Data Sources上选择事务数据源即可。
声明层唯一性:从层属性表设置唯一性。双击层名展开Level对话框。Transformer在PowerCube产生期间验证类别的唯一性。
把代码显示成对应的名称:维度图中,产品、地区、客户三个维度的最低层为保证唯一用的都是代码,但我们希望在维度图示和PowerPlay报表中显示它们对应的产品名称、销售员名和客户名。双击层名,点开Label, 选择对应的列名。
多数据源模型的注意事项:
结构数据源放在前,事务数据源放在后;各维度底层数据项也要出现在事务数据源中以保证度量值能够带到各个维度上;
用Show Scope显示颜色检查覆盖关系;声明唯一性;将代码转换成文字。
增量更新:
Cube可采用“增量更新”方式。此时是把事务数据源中的数据添加到原有的Cube上,原有的数据保留,并不重做。此时的事务数据源应该另外设置成只含有增量的部分。做了若干次“增量更新”之后应该选择时机再做一次全量更新。
在PowerCube属性表点开Processing页签,勾选This cube is incrementally update即可。
第七章 度量 (p413)
(一个)度量是用于衡量业务成效的数据。是用于确定业务操作成功的量化结果,或关键的性能指标。
有三种类型的度量:
标准度量:由数据源的列直接定义的度量
计算度量:用Transformer中的计算表达式生成
类别计数:是具有唯一属性的维度的一层,它是一层的类别数,而不是行数。
标准度量:标准度量直接从数据源中的一个有效源列提取数据,不同的度量值可以通过修改相关集合计算的属性,从相同的数值性数据列创建
标准集合计算设置:
集合计算是用于汇总度量数据的方法。它确定Transformer和PowerPlay怎样从子类别向父类别汇总(Rollup)计算度量值
集合计算设置决定度量值在PowerPlay中将怎样集合计算,它提供了从源数据的单独一列创建多个度量的契机
某些度量(如职工人数、存款余额,这种类型属于累计值) 在日期维度中向上层汇总(Rollup)的方式与在其他维度上有所不同。
Rollup选项:在度量属性表选中Rollup(汇总)页签中设置Regular rollup,Time state rollup,Duplicates rollup
度量的精度和显示的小数位:在度量的属性表中,分别在General和Format这两个标签页中设置度量的精度和小数位数。
追加度量:
“追加度量”的类型为Column, 建立在原有数据源中的一个列上(不属于Calculated类型),但Rollup方式可以另外定义。
在度量中加入一项名为“平均成本”的“追加度量”:右击度量窗格---Insert Measure ---Type标签页,在Measure type区选Column, 展开下拉列表,选中“销售成本”,转到Rollup标签页, 将Regular rollup方式改为Average。
计算度量:
计算度量在源数据列不直接生效时,为度量衍生出了新的数值。通过定制计算度量可以发现源数据没有表现出来的趋势。
右击度量窗格,选Insert Measure,或按Ins键。为这个计算度量取名“利润”。在Type标签页,Measure type 选为Calculated,按Calculation按钮:销售收入-销售成本;计算度量“利润”前面有一个计算器图标。
计算的顺序:
计算度量是含有计算的度量。当在不同的层之间进行钻取时,对这个度量的值也要Roll up。这就会有一个度量本身的计算和Roll up操作的先后顺序问题。After Rollup、Before Rollup计算的顺序在Rollup标签页选定。系统默认计算度量是在集合计算后计算。
Before Rollup: 在集合计算之前
Before Rollup: 是先对每个记录作公式计算,然后再集合计算。即根据源数据值而不是汇总值得出计算度量的值,然后Rollup。
After Rollup:在集合计算之后
After Rollup: 是先进行集合运算,然后根据集合运算的汇总值进行公式计算。
类别计数度量:是在特定维度的特定层上计算类别数的一种度量类型。
显示在某年、某季度或某月购买了某种产品的客户的数目。如果在这个时间段里某个客户对同一种产品购买了两次或多次,则客户计数只计算一次。它算的不是行数,而是只对选定维度和层计算唯一的、非丢失的和非零值的类别进行统计。
右击Measures窗格Insert Measure,维护Measure name,在Type页签中Category Count 是类别计数类型,Dimension用来指定需要度量的维度,Level用来指定维度的层。
度量组(Measure Folder)
右击度量窗格可以建立度量组。度量组可能是:更低层度量的逻辑组,计算度量(没有更低层)。利用度量组可以下钻到更低层,也可以将度量汇集到高一层。
第八章 备选钻取路径 (p428)
在同一个维度中可按照另一种途径向下钻取,探察数据的新的观察角度
主钻取路径、备选钻取路径
备选钻取路径用于:对维度中的详细数据提供更直接的导航,为特殊情况下的数据分析提供更直观的选择,表示源文件中部分数据间的不同关系。
有三种类型的备选钻取路径:直接访问,重新构造层,引入新层
备选钻取路径的会合层:
会合层是备选钻取路径与主钻取路径会合的层,会合层上必须保证都是唯一性的类别,
一个或多个备选钻取路径与主路径合并在一个或多个会合层上。Transformer才能够连接几个父类别到同一个会合类别。主路径与备选钻取路径共享会合层和其以下的类别值。
定义会合层为唯一:
用层属性表定义一个会合层为唯一性.
由于预先用查询范围分析关系,层可能会已经被定义成唯一
如果会合层预先没有声明唯一性,Transformer会提出警告
第九章 货币转换 (p434)
在Transformer中用转换表换算金融度量。
配置货币转换表的方法:从外部货币表向模型添加一个包含汇率转换数据的数据源;
在Transformer中,通过建立货币表手工定义新的货币和转换率,添加货币表之前,模型必须包含一个日期维度。
如何转换货币?
货币转换表依据的是日期维度。例如,日期维度中的月份与货币转换表中的月份相符。
转换是根据最底层的日期类别进行的。
转换率是针对于区域设置中隐含的货币。
货币转换表加到PowerCube 或在PowerCube中修改。
应用集合计算规则
加入新数据源----汇率数据:把汇率数据作为一个新的数据源加入数据源窗格,从数据源为模型生成类别。
设定汇率的四个基本列:
File--Currency Table--> 弹出“Currency Table”对话框。
选中“Use an external currency data source”选项。
定义好四个Base table columns。它们分别对应与汇率数据中的四个列:币种、汇率、币码、日期。
按Load Table按钮(汇率表装入模型)。
为度量设定允许汇率转换:
从度量窗格双击某个度量,转到General标签页,选中“Allow currency conversion”,度量图标改变,生成立方体。
PowerPlay: Explore ----Convert Currency
PowerCube 更新和维护:
PowerCubes的自动定时更新可借助于Scheduler调度器。
Scheduler命令:“D:\Program Files\Cognos\cer4\bin\Trnsfrmr.exe ”-n2 -s c:\Cube\Demo.mdl
解析: -n2: 不打开界面 -s: 保存模型 c:\Cube\Demo.mdl 模型名
Data Source-->Query Update-->Updated PowerCube
第十章 模型设计原则 p442
第六部分 Framework Manager
1.介绍Framework Manager p443
Framework Manager为ReportNet提供元数据模型的开发环境
Framework Manager中的模型是来自一个或多个数据库的数据结构的业务展现。
在Framework Manager中,开发模型的工作是在一个项目(Project)中进行,在项目的最上层包括:模型名字空间数据源参数映射包
与基于Web的应用程序Query Studio、Report Studio和CognosConnection不同,Framework Manager是一个基于Windows的应用程序。
Cognos ReportNet工作流程
计划: 开发应用范围、确定用户群、确定业务和技术需求
管理:
安装–安装ReportNet、Content Store (MSSQL, Oracle)
配置–使用CognosConfiguration:(1) 安装完ReportNet组件后,设置其初始配置;(2) 如要修改属性或增加组件,可配置ReportNet组件;(3) 启动和停止ReportNet服务。
安全设置和维护–用CognosConfiguration给ReportNet环境指定认证者管理
报表分发和调度–使用CognosConnection管理由报表作者创建但不被报表作者管理的报表。
模型: 创建含有元数据模型的Framework Manage 项目。 将数据源业务视图发布到ReportNetContent Store。 Framework Manager建模人员负责将安全性视图应用到业务元数据模型。
制作: 使用Report Studio 和Query Studio 创建报表。
使用: 最终用户使用所需的业务报表
Framework Manager中的对象:有一个标识符可以具有相同的名称,但是必须冠以不同的名字空间来唯一标识。
标识符可以由一、二或三级组成。例如:查询项有一个三级标识符例如: [GoSales].[Product].[ProductCode]
名字空间、函数、名字空间快捷方式和文件夹快捷方式都有一个一级标识符例如: [GoSales]
其它对象都有一个两级标识符例如, 查询主题:[GoSales].[Product]
2.设计和创建项目 p465
采用两层模式:将基础对象组织到物理层将报表对象组织到表示层
创建项目
导入元数据
组织对象
发布模型
将Framework Manager模型导出为一个Common Warehouse Metamodel(.CWM)文件。
3.准备元数据
测试Limited Local 与Database Only处理
有两种查询处理类型:
limited local ——大部分的SQL处理和运行尽可能在数据库服务器上进行,然而有些报表或报表片断(report sections )使用本地SQL处理。
database only ——所有的SQL处理和运行全部由数据库服务器完成。如果任何报表或报表片断要求本地SQL处理,则会出错。
检查、修改和创建查询主题间的关系
Cardinality(集势)指查询主题间的关系:一个查询主题中的每个记录与另一个查询主题中的多少记录相关联
Framework Manager在导入过程中自动给元数据创建关系
可以修改现有关系,或者创建新的关系
可以在任何两个查询主题间创建关系
表示层关系可以覆盖物理层关系
四种基本关系:多对多关系,不明确或多余的关系,层次型关系,平行关系
检查和修改查询项属性
查询相代表数据源中的数据列或者是基于数据源中数据列的计算。
查询项可以是:数据源列的引用(reference),另一个查询项的引用,一个计算
每个查询项都有属性可以进行修改以满足报表需求。
使用属性(Usage property)确定每个查询项所代表数据的使用确定查询项和计算的聚合规则。
使用属性设置有:Identifier:标识列通常是一个键、索引、日期或日期时间型数据,代表用来对与其有关的Fact列中的数据进行分组或汇总的一个列。
Fact:事实列通常是数值或时间间隔型数据,代表一个含有可分组或可汇总的数据列,例如,产品成本。
Attribute:属性列通常是字符串型数据,代表一个既非标识也非事实的列,例如,描述或产品名称。
Unkown:当模型设计开发者不能确定数据的角色时使用
创建和测试新的查询主题
有三种类型的查询主题:
数据源查询主题:包含有直接在一个单数据源中引用数据的SQL语句
模型查询主题:以报表需求(表示层)为主,用底层数据源查询创建查询项
存储过程查询主题:当导入的procedure不被指定为数据源的函数时,将生成存储过程查询主题。这种类型的查询主题将调用数据库中的一个存储过程,返回一个结果集
创建计算
创建计算,给报表作者提供他们经常使用的值
计算可以使用:查询项参数函数
有两种类型的计算:内置(Embedded):只想给一个查询主题使用;独立(stand–alone):希望重复使用
使用参数映射和会话参数创建宏
参数映射类似于数据源查找表(look-up table)
它们使用一个应用程序能够识别的值来替代传递参数
每个参数映射由两个列组成:key(必须是唯一的),value(用于替换)
会话参数是一个与会话相关联的变量,使用会话参数过滤数据,可以用会话参数影响查询结果集。
宏是可以插入模型对象的定义和属性中的代码片段。宏可以引用:参数映射和参数映射实体(entries),会话参数。
当执行一个查询时,宏中的参数将被赋值。引用参数映射的语法:$[Locale Map]{}。该表达式将接受括号中的另一个参数(例中为$runLocale) ,该参数将被用于搜索在参数映射中,应用程序所使用的适当的值。表达式包含在# 字符中
4.准备业务视图
给模型添加表示层
物理层(数据库层):由数据源和存储过程查询主题组成
表示层:由快捷方式和模型查询主题组成。通常,物理层对报表作者是隐藏的。可以在表示层基础上建立和发布几个包,每个包提供不同的元数据视图,满足不同的报表需要。
模型查询主题重复使用来自数据源查询主题和其它模型查询主题的查询项,它们对于创建有意义的元数据视图给报表作者是非常有效的,模型查询主题在不影响底层查询主题的情况下,允许进一步定制元数据以满足特殊需求
创建独立(stand–alone)和内嵌(embedded)型过滤
过滤被用来限制查询主题所检索的记录,独立式(可重复使用)内嵌式(面向单个查询主题)
使用提示值细化一个查询
当需要用户输入超出报表作者控制的变量时可以使用提示值,
使用提示作为一个值的语法:?<提示名称>?
通常最好利用附加的提示功能,在报表应用程序中定义提示。然而,有些变量报表作者无法修改。对于这些变量,可以使用Framework Manager定义提示
5.管理包
给模型和包编辑控制管理器
可以通过设置控制管理器(在Project项下)来限制在查询主题测试或报表设计模式中检索的数据。
设置控制管理器时,随后发布的所有包将反映新的设置。
创建和修改包
将要发布的模型对象包括在包里
设定包语言和函数列表
在多语言数据实例(instance)中,必须设置将要发布的包的语言。在将语言添加到包之前,必须将它们添加到项目中。
包函数列表可以用来指定给报表作者提供哪些数据源函数
分析发布包的影响
当发布一个包时,可以选择保存到ReportNet server 一个网络地址
在发布之前,应该对包进行检查
如果修改了一个包,可以在将新包发布给报表作者之前对所作修改的效果进行分析。
发布包并对设置模型版本控制
发布一个包时,可以选择在CognosReportNetserver上保留多少个模型版本。
创建一个嵌套包时,会建一个基于其它现有包的主包(master package)。
用嵌套包重复使用模型信息,可以节省时间,维护也更加方便。嵌套包的另一个优点是可以仅发布主包(master package)就能够将所有被引用的包提供给报表作者
6.在Framework Manager中设置安全性
了解ReportNet安全性环境
ReportNet安全性模型是基于:第三方认证(third-party authentication provider),授权(security object + permission + entry),Cognos名字空间,管理
ReportNet的安全性是可选的,允许匿名访问(不启用安全性)。
使用Cognos名字空间中定义的组和角色控制模型中元数据的访问。Cognos名字空间含有安全性对象,包括:预定义的组或角色,用户定义的组或角色。
可以:创建针对ReportNet的组和角色,对来自认证提供者的用户、组和角色进行重新打包,避免在认证提供者中设置面向应用程序的认证信息使用是可选的
Cognos名字空间是ReportNet内建名字空间。不用于认证。它含有Cognos安全对象,例如组和角色等。
创建和应用安全性过滤
当在Framework Manager中应用安全性时,可以对所选用户、组和角色的权限进行控制。为此,可采用如下的方法:设定包访问权限(元数据安全性),给对象提供可视权限(基于对象安全),定义安全性过滤(数据安全性)
限制查询主题和查询项的访问权限
设置哪些用户、组和角色具有对象的可视权力,拒绝所有其它的用户、组和角色的访问。
创建安全性过滤,限制查询主题返回的数据
如果用户不属于安全性过滤设置的任何组,那么他们不会受到组合过滤表达式设定限制的影响,可以不受限制地访问数据
限制包的访问权限
设置哪些用户、组和角色有权访问包,拒绝其它用户、组和角色的访问。
给需要执行以下操作的用户提供包的管理访问权限:重新发布包到ReportNet Server;更新包后,执行影响分析(impact analysis)以确定报表是否受到影响。
7.管理项目
实现知识库控制
使用知识库控制实现多用户建模,帮助项目管理。使用Framework Manager:连接到VSS或CVS,check in和check out一个项目,获取项目的最新版本,查看项目历史
设置知识库控制,需要执行下面的任务:创建知识库(安装和配置VSS或CVS);设置知识库的路径(用Cognos Configuration指定知识库的类型和设置路径);配置到知识库的连接(connection manager);给知识库添加项目;一旦建立了知识库连接,可以通过连接管理器修改或删除它.
分片和链接一个模型 p543
创建一个片断可以:根据业务规则和企业需要对项目进行组织;共享和重复使用项目信息.
要记住的几点:片断是一个包括其关联项目文件的新项目;在文件夹或名字空间层分片;可以将片断链接到其它项目
当对一个项目分片时,将项目分成业务单元是一个好办法.
创建链接可以:组织大型项目的工作;保持一致性;重复使用信息.
只能给下列对象创建链接:文件夹;名字空间;项目或片断.
当创建片断和链接时,可以遵循下面的最佳方式:链接到相对静态片断;主项目中的名字空间和项目中指向文件夹的任何链接都必须具有相同的标识符;项目中的所有对象必须有唯一的标识符;更新片断和主项目中的参数;主项目和项目中的任何片断必须具有相同的语言.
了解操作日志(action logging)和项目同步
捕获、查看和重放对项目执行的操作。
项目同步:使用日志文件同步一个项目和元数据元中发生的修改变化.
模型中执行的所有操作都可以重做,这样可以:创建一个新的项目,将元数据重新导入,捕获任何修改变化,使用更新元数据对整个建模过程进行重复.
检查项目
可以随时检验项目中的问题,例如:无效关系,无效引用,无效对象定义
8.使用高级建模技术
解决一个递归关系
当导入元数据时,Framework Manager会在图表中显示自联接,而不是将它们作为查询来执行。
使用快捷方式创建和修改递归关系
设置维度信息
维度信息用来关联属性和层,确保恰当的聚合,避免重计数或重复值。
Framework Manager可以给一个查询主题设定层(levels)、键、属性和层次结构。
保证将键和其它标识符的用法(usage)定义为标识符。这样可以让模型更加直观。
当一个层有代理键(surrogate key)时,可以将其当作层键使用并将业务键当作一个属性(仍然应该被设置为一个标识符)。
用将在报表中使用的项作为层,将id (形成关系的一端)作为层的键(记住要在提示信息中对其进行反映,以便不影响查询效率) 。
对于每个层,对该层的任何查询项进行关联。
创建星型模式分组
星型模式:一张事实表多个维度表
共享维度与多个事实表有关系(1对多关系)。将不同的事实表放置在不同名字空间。
了解多事实查询(Multi–Fact Queries)
了解拼接查询(Stitch Queries)
拼接查询(Stitch queries)会给数据源发送两个独立查询,然后在本地对它们进行合并。
所生成的SQL含有下面的语法:coalesce(返回其参数中第一个非空表达式),full outer join