钻取的高级定义.docx_第1页
钻取的高级定义.docx_第2页
钻取的高级定义.docx_第3页
钻取的高级定义.docx_第4页
钻取的高级定义.docx_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

Cognos 8 穿透钻取高级应用主要介绍了cognos 8穿透钻取的高级部分应用。定义穿透钻取分成以下几个步骤来实现: 1.成员集的定义与形成 2.钻取规则 3.钻取的方式 1成员集的定义与形成(Organize Items into Sets) 1.1默认的成员集 下载 (69.11 KB)2010-3-15 09:51把数据项分组形成成员集有一些默认的规则: (1)只有构成报表的数据项才可考虑组成成员集(如果数据顶在Query中但没有被用到形成报表,这些数据项没有必要考虑构成成员集) (2)默认形成成员集是根据数据项所在的维度层次。例如在Figure 1中有3个成员集。 Years与Year数据项构成一个成员集。因为它们都来自同一个维度 Order Method数据项自己构成一个成员集,因为它是来自Order Method维度的唯一数据项。 Product Line与Order Method一样也自己单独构成一个成员集。 1.2自定义成员集 报表复杂的穿透钻取都需要自定义成员集。自定义成员集有以下基本规则: (1)报表范围内的数据项都可以构成成员集 (2)来自同一个维度的不同层次的数据项没有必要再自定义组成一个成员集,因为它们默认就是一个成员集。但是可以把它们分别自定义成独立的不同成员集,这样它们在穿透钻取时就会互不影响。 (3)其它在报表中没有被自定义构成成员集的数据项则根据系统默认的规则构成成员集。 (4)自定义构成成员集的报表数据项本身并不具有穿透钻取的能力,除非人为给数据项赋予钻取能力。 自定义成员集有以下几个步骤: 1.打开Query的定义页面 2.在Query的属性框中把“Define Member Sets”属性值设置成“Yes”如图Figure 2所示: 下载 (104.63 KB)2010-3-15 09:513.打开“Member Sets”tab页,把要构成成员集的数据项拖拽进去形成成员集。每个成员集的根结点数据项决定了各个成员集之间的分组关系。如Figure 3中Region根结点因为与Product Line、Product Type 两个数据项没有什么关系,所以自己形成了一个独立的成员集。 下载 (8.14 KB)2010-3-15 09:51如果报表要求Product Line与Product Type两个数据项的钻取行为互不影响,则可以自定义这两个数据项为两个独立的成员集,而不是按Figure 3中把两个数据项嵌套在一起形成一个成员集。自定义成员集将会覆盖原来系统默认成员集的形成方式。 下载 (7.74 KB)2010-3-15 09:512钻取的规则(Define Set Drillability) 2.1默认的钻取规则 对于没有自定义成员集、自定义钻取方式构成报表的数据项有以下几条系统默认的钻取规则: 向下钻取规则: (1)数据项是从维度的数据成员中获取 (2)默认的钻取规则只对构成报表的数据项有用 (3)向下钻取的数据项必须是报表中某个维度层级中最低的一层。 下载 (34.97 KB)2010-3-15 09:51如Figure 5中“Quarter”是时间维度中最低的层次,所以它可以向下钻取。报表中时间维度的其它层次都不能向下钻取。 (4)数据项不能是被“隔离”(The item must not be “isolated”) “隔离”情况发生在钻取到维度的最低层次时。在这种情况下,钻取到的数据项,它的相邻兄弟成员都被消除,并且这个数据项不能再向下钻取。如从Figure 6向下钻取到Figure 7时,“2004/Jun”是时间维度中最低层的成员,它相邻的兄弟成员“2004/Apr”等已被消除,并且它也不能再向下钻取。 下载 (31.23 KB)2010-3-15 09:51向上钻取规则: (1)数据项是从维度的数据成员中获取 (2)数据项必须是下面情况中的一种: a) 所在层次是报表中相对其它同维数据项是最低层次 b) 是所在层次最低层次的上一层 c) 最低层次不是维度中的最高层级 (3)其它数据项必须隐式设置成不可向上钻取 2.2自定义钻取规则 自定义钻取依照以下规则,规则的优先级依次从强到弱。规则1“取消向下钻取”的优先级比其它规则都高。 规则1:(优先级最高)取消向下钻取 通过“Drill Behavior”窗口可以对报表的任意数据项根据需要定义是否要向下或向上钻取。在Figure 8中,“Country”数据项被定义成禁止向下钻取:下载 (88.06 KB)2010-3-15 09:51规则2:成员集中的数据项没有定义钻取方式 如果数据项是成员集的一个结点,但它没有定义向上或向下的钻取方式。则这个数据项无法钻取。因为定义了成员集,就表示报表的制作者必须控制数据项的所有行为,所以对钻取行为就要手工定义而原本的系统默认失效。 规则3:维度中的最高/最低层次 数据项如果是某个维度最高层次上的成员则无法向上钻取,如果是维度最低层次的成员则无法向下钻取。 规则4:系统对成员集定义好的默认规则 Table 1是对成员集钻取的默认规则,前面的所述会覆盖Table 1中定义的规则: 下载 (23.18 KB)2010-3-15 09:513钻取的方式 钻取主要有以下几种方式,用户可以根据需要自定义 下载 (31.96 KB)2010-3-15 09:513.1 Replace Expression 向下钻取 当采用“Replace Expression”作为向下钻取的方式时,钻取的结果集将是向下钻取的数据项的所有子结点:children(inpupt member) /color例如在Figure 12中,在左图中对“United States”数据项向下钻取,则返回右图中“United States”所有的子记录。 下载 (35.81 KB)2010-3-15 09:51向上钻取 数据项如果是报表中某个维度最底层的成员时,向上钻取采用“Replace Expression”方式,返回的结果集是数据项上一层的所有成员: children(grandparent(input member) 数据项如果比报表中同维最底层数据项更高一层,则向上钻取返回的数据集是该数据项上层的母结点,而不是返回上一层所有的结点。 parent(input member) 3.2 Replace Item 向下钻取 当采用“Replace Item”作为向下钻取的方式时,钻取的结果将返回向下钻取的数据项它本身。 如在Figure 14 中左图“United States”向下钻取的结果是右图中的“United States”本身。 下载 (27.71 KB)2010-3-15 09:51“Replace Item”经常和“Replace Expression”结合起来用。例如在一个自定义的成员集中一个数据项的钻取方式是“Replace Item”,另一个数据项的钻取方式定义为“Replace Expression”。在 Figure 15 中,“Sales Territory”列定义为采用“Replace Item”,“Country” 列定义为“Replace Expression”。当从左图中的“United States”向下钻取时,“Sales Territory” 列的数据项就变成了右图中的“United States”。 下载 (30.54 KB)2010-3-15 09:51向上钻取 数据项如果是报表中某个维度最底层的成员,当采用“Replace Item”作为向上钻取的方式时,向上钻取的结果集是返回钻取项上两层的祖父结点: grandparent(input member) 在Figure 16 中左图的“Los Angeles”向上钻取时返回右图的“Americas” 下载 (29.61 KB)2010-3-15 09:51数据项如果在报表中不是某个维度最底层的成员(报表中还有同维更底层的成员的数据项),当采用“Replace Item”作为向上钻取的方式时,向上钻取的结果集是返回钻取项上一层的父结点: Parent(input member) 在 Figure 17 中左图“United States”向上钻取时返回的结果是右图中“United States”上一层的父结点“Americas” 下载 (32.78 KB)2010-3-15 09:51 发短消息 加为好友 andy 当前离线 UID12帖子279精华19阅读权限50注册时间2009-6-26最后登录2011-9-14向下钻取向下钻取采用“Ancestor(N)”方式时,系统分两个步骤执行,第一步先计算出向下钻取的数据项的所有子集,第二步计算出子集的向上N层的结点。 “Ancestor(N)”方式经常用在报表中有多个数据项来自同一维的不同层次时采用。这种情况下报表同一维最底层的数据项向下钻取通常采用“Replace Expression”方式,比最底层更高层的数据项采用“Ancestor(N)”方式: Ancestor(1)相当于“Replace Item”效果,数据项向下钻取时得到的子集的上一层就是向下钻取的数据项的本身。 Ancestor(2)返回的数据项的上一层的结点,数据项向下钻取时得到的子集的上两层就是向下钻取的数据项的父层结点。 在 Figure 18 中左图的“Country”列定义的向下钻取方式为“Ancestor(1)”,当点击“Los Angeles”向下钻取时,“Ancestor(1)”方式钻取的返回结果是“Los Angeles”如右图所示: 下载 (35.88 KB)2010-3-15 10:10在Figure 19 中左图的“Country”列定义的向下钻取方式为“Ancestor(2)”,当点击“Los Angeles”向下钻取时,“Ancestor(2)”方式钻取的返回结果是“Los Angeles”的父结点“United States”如右图所示: 下载 (58.77 KB)2010-3-15 10:10向上钻取与向下钻取一样,向上钻取 Ancestor(N)结果集也是在向上钻一层的结果上再向上钻N层 Ancestor(1)返回的结果是向上钻取数据项的上两层的成员。它是在向上数据项向上钻取一层的结果上再向上一层的结点。 Ancestor(2)返回的结果是向上钻取数据项的上三层的成员。它是在向上数据项向上钻取一层的结果上再向上两层的结点。在Figure 20中左图的“United States”向上钻取行为定义为“Ancestor(1)”,当对“Seattle”向上钻取时,将返回右图的中第一列“Seattle”的上两层结点“Americas” 下载 (30.3 KB)2010-3-15 10:103.4 Preserve 数据项用“Preserve”钻取方式时,数据项的表达式在钻取过程中保持不变。用到这个钻取方式的数据项一般都引用到报表的其它数据项。 例如有Country和Top Two两个数据项,Top Two数据项是所有城市中收益最大的两个城市,它的表达式为:topCount(Country,2,Revenue),新建一张报表,再自定义成员集如Figure 21所示: 下载 (21.15 KB)2010-3-15 10:10定义Country数据项的向下钻取方式为“Replace Experssion”,Top Two数据项向下钻取的方式为“Preserve”,则在Figure 23 中左图中对“United States”向下钻取时,产生右图“United States”下收益最大的两个城市。 下载 (25.7 KB)2010-3-15 10:103.5 Depth Based Expression (N) 与“Ancestor(N)”钻取方式一样,“Depth Based Expression(N)”也是在钻取结果集上再向下或向上钻取N层,不同之处在于前者返回的是 N层上的单个结点,而后者返回的者是N层上的所有成员结点。向下钻取时,返回的结果集可以定义为表达式: level(ancestor(children() , N) 向上钻取时,返回的结果集可以定义为表达式: level(ancestor(parent() , N) 在 Figure 24 中左图中的“Country”列定义的向下钻取方式为“Depth Based Expression(0)”,当对“United States”向下钻取时,结果是右图中“United States”子结点所在的那一层上的所有成员,而不仅仅只是“United States”的子结点: 下载 (36.97 KB)2010-3-15 10:10同理在Figure 25中对左图中的“Sales Branch City” 列定义的向上钻取方式为“Depth Based Expression(0)”,当对“Calgary”向上钻取时,将返回右图中“Calgary” 上一层所有的成员,而不仅仅只是它的父结点: 下载 (42.54 KB)2010-3-15 10:103.6 Change Item(X)采用此方式钻取,钻取后的结果是根据X来决定的。这种方式主要是用来从一个数据项钻取来与原来数据项完全不同或不相关的数据项上。 在Figure 27 中某个报表的Query包含了数据项Top Two、Country。Top Two向下钻取方式为:Change Item(County),Country向下钻取方式:Change Item(Top Two),则在Figure 27中可以实现Top Two、Country之间的互相转换: 下载 (26.71 KB)2010-3-15 10:103.7 Empty Set 这个方式主要是用空集来取代报表中原有的数据。 如Figure 28 中一张交叉表的列的数据为美洲的所有国家再加上美国收益最多的两个城市,则向“Canada”向下钻取时,美国收益最多的两个城市的两个城市就不能显示出来,对Top Two向下钻取的方式定义为“Empty Set”即可。 下载 (34.17 KB)2010-3-15 10:103.8 Default Drill Behaviours 默认钻取行为的发生情况是: (1)只有报表中用到的数据项才有定义钻取的行为 (2)来自同维不同层次的数据项 (3)数据项符合钻取的条件(符合2.1是规定的钻取规则)默认的钻取行为为: (1)报表中同维最底层的数据项向下钻取的方式默认为“Replace Expression”,向上钻取的方式为“Default”。 (2)报表中同维比最底层高一层的数据项向下钻取的方式默认为“Replace Item”,向上钻取的方式为“Default”。 (3)报表中同维比最底层高二层的数据项向下钻取的方式默认为“Ancestor(2)”。 4自定义成员集与系统默认成员集的差别 在钻取行为中成员集是否为手工自定义,有时对钻取的结果会产生不一样的结果集。成员集是系统默认而不是手工定义时,当钻取方式为“Replace Expression”或是“Replace Item”等会改为原有数据项方式,改变的结果只是发生在原有数据项的副本上,原来的数据项本质并没有发生改生。如果是手工自定义的成员集,采用“Replace Expression”或是“Replace Item”等钻取方式时,改变的是数据项本身而不是数据项的副本。 例如在Figure 29的报表中有一个过滤条件是这样定义的:County=United States 下载 (12.09 KB)2010-3-15 10:10当Country没有手工添加到成员集时,向下钻取时Country中的数据并没有发生改变还是放着“United States”,而它的副本则变成向下钻取的结果,发生了改变。由于Country没有发生改变,改变的只是它的副本,所以才会出现 Figure 30的结果: 下载 (27.23 KB)2010-3-15 10:10当Country手工添加到成员集时,向下钻取时Country本身变成了向下钻取的结果,它的值不再是“United States”,过滤条件无法满足,所以最后在 Figure 31 中显示的结果为空集:下载 (17.96 KB)2010-3-15 10:10在本例中可以采用以下方法避免出现上图中空集的情况:新建一个数据项名为“Display Country”,它的表达式为直接引用原来的“Country”如Figure 32所示: 下载 (44.18 KB)2010-3-15 10:10报表的数据项为Display Country和Revenue: 下载 (23.06 KB)2010-3-15 10:10将Display Country和Country手工定义为两个独立的成员集,并定义Display Country的向下钻取方式为“Replace Expression” 下载 (6.22 KB)2010-3-15 10:10此时对Display Country向下钻取,Display Country的值变成原有数据项的子结点,但由于Country的值没有发生改变,所以过滤条件还是成立的。钻取的结果.如Figure 35所示: 下载 (28.22 KB)2010-3-15 10:10 发短消息 加为好友 andy 当前离线 UID12帖子279精华19阅读权限50注册时间2009-6-26最后登录2011-9-145完整样例 Example 1 - Creating List that shows all Items and a Chart to only show the Top N Make the Report 1. Create a list report with the member whose children members youd like use for the top N. For the sake of this example we are using the root member of the Sales Territory dimension from the Great Outdoors Company sample PowerCube. Important: drag the member, not the level, onto the report! 下载 (35.49 KB)2010-3-15 10:312. Cut (not delete) Sales Territory column from the list. This will leave the data item in our query for reuse in later expressions. 3. Drag a data item object from the Toolbox into the list. This will be the base set of members for the Top N. Name the new item “Locations” and use the following expression to generate the children of the Sales Territory root member: children(Sales Territory) 下载 (44.43 KB)2010-3-15 10:314. Drag the Revenue measure into the list next to the Locations calculation. 5. Drag a new data item into the list. Name the calculation “Top Locations” and use the following expression to generate the top 2 locations based on Revenue. topCount(Locations, 2, Revenue) 下载 (52.09 KB)2010-3-15 10:316. Use “Cut” to remove Top Locations from the list 7. Drag a chart onto the page layout above the existing list object. Select the default column chart. 8. Select the new chart and, in the properties pane, change the Query property to reference Query1 (the same query as the list). 9. From the Data Items, add the following to the chart * Measure (y-axis): Revenue * Category (x-axis): Top Locations 下载 (54.69 KB)2010-3-15 10:3110. Run the report to get the following. Notice that the list will show Locations while the Chart only displays the top 2 by revenue. 下载 (33.93 KB)2010-3-15 10:31The next section will address defining the drill behaviours. Close the Cognos Viewer window and return to Report Studio. Enabling Drill 1. Open the Drill Behaviour dialog from the Data menu and enable “Allow drill-up and drill-down” 2. Go to the Advanced Tab and apply the following * Change both drill up and drill down behaviours for “TopLocations” to “Preserve”. If you recall from section 5.1.4, “Preserve” will maintain the expression within the query item during a drill action. * Change drill down behaviour for “Locations” to “Replace Expression” (shown below). From section 5.1.1 we can see that on drill down “Replace Expression” will return the children of the input member while on drill up the parent of the input member will be returned. 下载 (28.26 KB)2010-3-15 10:313. Use the Query Explorer to select Query1 and change the setting “Define Member Sets” to “Yes”. 下载 (19.17 KB)2010-3-15 10:314. Choose the “Member Sets” tab which now appears under the query item list for Query1. 5. Drag Locations and Top Locations into the member sets as shown. The nesting of the custom member sets establishes an association betweenthe two query items for drill actions. 下载 (7.91 KB)2010-3-15 10:316. To avoid name conflicts between query items referenced in expressions and member sets, select the Locations custom member set and change the name property to “Custom Locations Set” 下载 (59.87 KB)2010-3-15 10:317. Run the report and click on the “Americas” member to drill down and obtain the following output for the drill-down action. 下载 (29.47 KB)2010-3-15 10:31Notice that after the drill the chart still only displays the top 2 members. However, the drill has updated the set being used for the top Count calculation and now returns the top two countries within the Americas sales territory instead of the top two sales territories. How Example 1 Works: The chart shows the query items Top Locations and Revenue, and the list shows the Locations and Revenue query items. Drilling on a member ofTop Locations or Locations is equivalent because the member sets arelinked together and each set can supply a valid member from the Sales Territory hierarchy as the drill input. In this example, it makes no difference whether Locations is in the layout ornot to have the chart behave as a “Top 2 filter”. Wit

温馨提示

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

评论

0/150

提交评论