收藏 分享(赏)

钻取的高级定义.docx

上传人:weiwoduzun 文档编号:5623864 上传时间:2019-03-10 格式:DOCX 页数:21 大小:1.47MB
下载 相关 举报
钻取的高级定义.docx_第1页
第1页 / 共21页
钻取的高级定义.docx_第2页
第2页 / 共21页
钻取的高级定义.docx_第3页
第3页 / 共21页
钻取的高级定义.docx_第4页
第4页 / 共21页
钻取的高级定义.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、Cognos 8 穿透钻取高级应用主要介绍了 cognos 8 穿透钻取的高级部分应用。定义穿透钻取分成以下几个步骤来实现:1. 成员集的定义与形成 2. 钻取规则 3. 钻取的方式 1 成员集的定义与形成( Organize Items into Sets) 1.1 默认的成员集 把数据项分组形成成员集有一些默认的规则: (1) 只有构成报表的数据项才可考虑组成成员集(如果数据顶在 Query 中但没有被用到形成报表,这些数据项没有必要考虑构成成员集) (2) 默认形成成员集是根据数据项所在的维度层次。例如在 Figure 1 中有 3 个成员集。 Years与Year数据项构成一个成员集。

2、因为它们都来自同一个维度 Order Method数据项自己构成一个成员集,因为它是来自 Order Method 维度的唯一数据项。 Product Line与Order Method一样也自己单独构成一个成员集。 1.2 自定义成员集 报表复杂的穿透钻取都需要自定义成员集。自定义成员集有以下基本规则: (1) 报表范围内的数据项都可以构成成员集 (2) 来自同一个维度的不同层次的数据项没有必要再自定义组成一个成员集,因为它们默认就是一个成员集。但是可以把它们分别自定义成独立的不同成员集,这样它们在穿透钻取时就会互不影响。 (3) 其它在报表中没有被自定义构成成员集的数据项则根据系统默认的规

3、则构成成员集。 (4) 自定义构成成员集的报表数据项本身并不具有穿透钻取的能力,除非人为给数据项赋予钻取能力。 自定义成员集有以下几个步骤: 1. 打开 Query 的定义页面 2. 在 Query 的属性框中把“Define Member Sets”属性值设置成 “Yes”如图 Figure 2 所示: 3. 打开“Member Sets”tab 页,把要构成成员集的数据项拖拽进去形成成员集。每个成员集的根结点数据项决定了各个成员集之间的分组关系。如 Figure 3 中 Region 根结点因为与 Product Line、Product Type 两个数据项没有什么关系,所以自己形成了一

4、个独立的成员集。 如果报表要求 Product Line 与 Product Type 两个数据项的钻取行为互不影响,则可以自定义这两个数据项为两个独立的成员集,而不是按 Figure 3 中把两个数据项嵌套在一起形成一个成员集。自定义成员集将会覆盖原来系统默认成员集的形成方式。 2 钻取的规则 (Define Set Drillability) 2.1 默认的钻取规则 对于没有自定义成员集、自定义钻取方式构成报表的数据项有以下几条系统默认的钻取规则: 向下钻取规则: (1) 数据项是从维度的数据成员中获取 (2) 默认的钻取规则只对构成报表的数据项有用 (3) 向下钻取的数据项必须是报表中某

5、个维度层级中最低的一层。 如 Figure 5 中“Quarter” 是时间维度中最低的层次,所以它可以向下钻取。报表中时间维度的其它层次都不能向下钻取。 (4) 数据项不能是被“隔离”( The item must not be “isolated”) “隔离” 情况发生在钻取到维度的最低层次时。在这种情况下,钻取到的数据项,它的相邻兄弟成员都被消除,并且这个数据项不能再向下钻取。如从 Figure 6 向下钻取到 Figure 7 时,“2004/Jun”是时间维度中最低层的成员,它相邻的兄弟成员“2004/Apr”等已被消除,并且它也不能再向下钻取。 向上钻取规则: (1) 数据项是从维

6、度的数据成员中获取 (2) 数据项必须是下面情况中的一种: a) 所在层次是报表中相对其它同维数据项是最低层次 b) 是所在层次最低层次的上一层 c) 最低层次不是维度中的最高层级 (3) 其它数据项必须隐式设置成不可向上钻取 2.2 自定义钻取规则 自定义钻取依照以下规则,规则的优先级依次从强到弱。规则 1“取消向下钻取”的优先级比其它规则都高。 规则 1:(优先级最高)取消向下钻取 通过“Drill Behavior”窗口可以对报表的任意数据项根据需要定义是否要向下或向上钻取。在 Figure 8 中,“Country”数据项被定义成禁止向下钻取:规则 2:成员集中的数据项没有定义钻取方式

7、 如果数据项是成员集的一个结点,但它没有定义向上或向下的钻取方式。则这个数据项无法钻取。因为定义了成员集,就表示报表的制作者必须控制数据项的所有行为,所以对钻取行为就要手工定义而原本的系统默认失效。 规则 3:维度中的最高/ 最低层次 数据项如果是某个维度最高层次上的成员则无法向上钻取,如果是维度最低层次的成员则无法向下钻取。 规则 4:系统对成员集定义好的默认规则 Table 1 是对成员集钻取的默认规则,前面的所述会覆盖 Table 1 中定义的规则: 3 钻取的方式 钻取主要有以下几种方式,用户可以根据需要自定义 3.1 Replace Expression 向下钻取 当采用“Repla

8、ce Expression”作为向下钻取的方式时,钻取的结果集将是向下钻取的数据项的所有子结点:children(inpupt member) /color例如在 Figure 12 中,在左图中对“United States”数据项向下钻取,则返回右图中“United States”所有的子记录。 向上钻取 数据项如果是报表中某个维度最底层的成员时,向上钻取采用“Replace Expression”方式,返回的结果集是数据项上一层的所有成员: children(grandparent(input member) 数据项如果比报表中同维最底层数据项更高一层,则向上钻取返回的数据集是该数据项上

9、层的母结点,而不是返回上一层所有的结点。 parent(input member) 3.2 Replace Item 向下钻取 当采用“Replace Item”作为向下钻取的方式时,钻取的结果将返回向下钻取的数据项它本身。 如在 Figure 14 中左图“United States”向下钻取的结果是右图中的“United States”本身。 “Replace Item”经常和“Replace Expression”结合起来用。例如在一个自定义的成员集中一个数据项的钻取方式是“Replace Item”,另一个数据项的钻取方式定义为“Replace Expression”。在 Figure

10、 15 中,“Sales Territory”列定义为采用“Replace Item”,“Country” 列定义为“Replace Expression”。当从左图中的“United States”向下钻取时,“Sales Territory” 列的数据项就变成了右图中的“United States”。 向上钻取 数据项如果是报表中某个维度最底层的成员,当采用“Replace Item”作为向上钻取的方式时,向上钻取的结果集是返回钻取项上两层的祖父结点: grandparent(input member) 在 Figure 16 中左图的“Los Angeles”向上钻取时返回右图的“Ame

11、ricas” 数据项如果在报表中不是某个维度最底层的成员(报表中还有同维更底层的成员的数据项),当采用“Replace Item”作为向上钻取的方式时,向上钻取的结果集是返回钻取项上一层的父结点: Parent(input member) 在 Figure 17 中左图“United States”向上钻取时返回的结果是右图中“United States”上一层的父结点“Americas” 向下钻取向下钻取采用“Ancestor(N)” 方式时,系统分两个步骤执行,第一步先计算出向下钻取的数据项的所有子集,第二步计算出子集的向上 N 层的结点。 “Ancestor(N)”方式经常用在报表中有多

12、个数据项来自同一维的不同层次时采用。这种情况下报表同一维最底层的数据项向下钻取通常采用“Replace Expression”方式,比最底层更高层的数据项采用“Ancestor(N)”方式: Ancestor(1)相当于“Replace Item”效果,数据项向下钻取时得到的子集的上一层就是向下钻取的数据项的本身。 Ancestor(2)返回的数据项的上一层的结点,数据项向下钻取时得到的子集的上两层就是向下钻取的数据项的父层结点。 在 Figure 18 中左图的“Country”列定义的向下钻取方式为“Ancestor(1)”,当点击“Los Angeles”向下钻取时,“Ancestor(

13、1)” 方式钻取的返回结果是 “Los Angeles”如右图所示: 在 Figure 19 中左图的“Country”列定义的向下钻取方式为“Ancestor(2)”,当点击“Los Angeles”向下钻取时,“Ancestor(2)” 方式钻取的返回结果是 “Los Angeles”的父结点“United States”如右图所示: 向上钻取与向下钻取一样,向上钻取 Ancestor(N)结果集也是在向上钻一层的结果上再向上钻 N 层 Ancestor(1)返回的结果是向上钻取数据项的上两层的成员。它是在向上数据项向上钻取一层的结果上再向上一层的结点。Ancestor(2)返回的结果是向

14、上钻取数据项的上三层的成员。它是在向上数据项向上钻取一层的结果上再向上两层的结点。在 Figure 20 中左图的“United States”向上钻取行为定义为“Ancestor(1)”,当对“Seattle”向上钻取时,将返回右图的中第一列“Seattle”的上两层结点“Americas” 3.4 Preserve 数据项用“Preserve”钻取方式时,数据项的表达式在钻取过程中保持不变。用到这个钻取方式的数据项一般都引用到报表的其它数据项。 例如有Country和Top Two两个数据项,Top Two数据项是所有城市中收益最大的两个城市,它的表达式为:topCount(Country

15、,2,Revenue),新建一张报表,再自定义成员集如 Figure 21 所示: 定义Country数据项的向下钻取方式为“Replace Experssion”,Top Two数据项向下钻取的方式为“Preserve”,则在 Figure 23 中左图中对“United States”向下钻取时,产生右图“United States”下收益最大的两个城市。 3.5 Depth Based Expression (N) 与“Ancestor(N)” 钻取方式一样,“Depth Based Expression(N)”也是在钻取结果集上再向下或向上钻取 N 层,不同之处在于前者返回的是 N 层

16、上的单个结点,而后者返回的者是 N 层上的所有成员结点。向下钻取时,返回的结果集可以定义为表达式: level(ancestor(children() , N) 向上钻取时,返回的结果集可以定义为表达式: level(ancestor(parent() , N) 在 Figure 24 中左图中的“Country” 列定义的向下钻取方式为“Depth Based Expression(0)”,当对“United States”向下钻取时,结果是右图中“United States”子结点所在的那一层上的所有成员,而不仅仅只是“United States”的子结点: 同理在 Figure 25 中

17、对左图中的“Sales Branch City” 列定义的向上钻取方式为“Depth Based Expression(0)”,当对“Calgary”向上钻取时,将返回右图中“Calgary” 上一层所有的成员,而不仅仅只是它的父结点: 3.6 Change Item(X)采用此方式钻取,钻取后的结果是根据X来决定的。这种方式主要是用来从一个数据项钻取来与原来数据项完全不同或不相关的数据项上。 在 Figure 27 中某个报表的 Query 包含了数据项Top Two、Country 。Top Two向下钻取方式为:Change Item(County),Country向下钻取方式:Chan

18、ge Item(Top Two),则在 Figure 27 中可以实现Top Two、Country之间的互相转换: 3.7 Empty Set 这个方式主要是用空集来取代报表中原有的数据。 如 Figure 28 中一张交叉表的列的数据为美洲的所有国家再加上美国收益最多的两个城市,则向“Canada”向下钻取时,美国收益最多的两个城市的两个城市就不能显示出来,对Top Two向下钻取的方式定义为“Empty Set”即可。 3.8 Default Drill Behaviours 默认钻取行为的发生情况是: (1) 只有报表中用到的数据项才有定义钻取的行为 (2) 来自同维不同层次的数据项

19、(3) 数据项符合钻取的条件(符合 2.1 是规定的钻取规则)默认的钻取行为为: (1) 报表中同维最底层的数据项向下钻取的方式默认为 “Replace Expression”,向上钻取的方式为“Default”。 (2) 报表中同维比最底层高一层的数据项向下钻取的方式默认为“Replace Item”,向上钻取的方式为“Default”。 (3) 报表中同维比最底层高二层的数据项向下钻取的方式默认为“Ancestor(2)”。 4 自定义成员集与系统默认成员集的差别 在钻取行为中成员集是否为手工自定义,有时对钻取的结果会产生不一样的结果集。成员集是系统默认而不是手工定义时,当钻取方式为“Re

20、place Expression”或是“Replace Item”等会改为原有数据项方式,改变的结果只是发生在原有数据项的副本上,原来的数据项本质并没有发生改生。如果是手工自定义的成员集,采用“Replace Expression”或是“Replace Item”等钻取方式时,改变的是数据项本身而不是数据项的副本。 例如在 Figure 29 的报表中有一个过滤条件是这样定义的:County=United States 当Country没有手工添加到成员集时,向下钻取时Country中的数据并没有发生改变还是放着“United States”,而它的副本则变成向下钻取的结果,发生了改变。由于C

21、ountry没有发生改变,改变的只是它的副本,所以才会出现 Figure 30 的结果: 当Country手工添加到成员集时,向下钻取时Country 本身变成了向下钻取的结果,它的值不再是“United States”,过滤条件无法满足,所以最后在 Figure 31 中显示的结果为空集:在本例中可以采用以下方法避免出现上图中空集的情况:新建一个数据项名为“Display Country”,它的表达式为直接引用原来的“Country”如 Figure 32 所示: 报表的数据项为Display Country和Revenue: 将Display Country和Country手工定义为两个独

22、立的成员集,并定义 Display Country的向下钻取方式为“Replace Expression” 此时对Display Country向下钻取,Display Country的值变成原有数据项的子结点,但由于Country的值没有发生改变,所以过滤条件还是成立的。钻取的结果.如 Figure 35 所示: 5 完整样例 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 mem

23、ber 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! 2. Cut (not delete) Sales Territory column

24、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 Sale

25、s Territory root member: children(Sales Territory) 4. 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(Loca

26、tions, 2, Revenue) 6. 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).

27、 9. From the Data Items, add the following to the chart * Measure (y-axis): Revenue * Category (x-axis): Top Locations 10. Run the report to get the following. Notice that the list will show Locations while the Chart only displays the top 2 by revenue. The next section will address defining the dril

28、l 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 “TopLocatio

29、ns” 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 re

30、turn the children of the input member while on drill up the parent of the input member will be returned. 3. Use the Query Explorer to select Query1 and change the setting “Define Member Sets” to “Yes”. 4. Choose the “Member Sets” tab which now appears under the query item list for Query1. 5. Drag Lo

31、cations 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. 6. To avoid name conflicts between query items referenced in expressions and member sets, select the Locations custom member set and

32、 change the name property to “Custom Locations Set” 7. Run the report and click on the “Americas” member to drill down and obtain the following output for the drill-down action. Notice that after the drill the chart still only displays the top 2 members. However, the drill has updated the set being

33、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

34、 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

35、 “Top 2 filter”. With the drill behaviours andmember sets established a user can drill on Top Locations and this will perform the drill action on Locations, eliminating the need to displayLocations on the report at all. Run the report to generate the initial output in Cognos Viewer. For the sake of

36、the example, lets use “Americas” from the Chart as the drilldown member. Americas will be used to generate the INPUT value for the drill actions as follows: Input: * Drill Direction: Down * Data Item: Top Locations * Query: Query1 * Member value: great_outdoors_company.SalesTerritory.Sales Territory

37、.Sales territory-:PC.MEMBER.1099 Processing: For each step of processing below, the related authoring step will be listed so that you can refer to the rules in the chart as well as the corresponding numbered detail sections of this document. 1. HAS Top Locations been ORGANIZED INTO A SET BY THE AUTHOR? YES 2. DOES Top Locations HAVE A DRILL-ENABLED BEHAVIOR? YES 3. Apply Drill behaviours for the Locations set. If the children of the “Americas” Sales Territory returns a set of countries(Canada, US, Mexico, Chile, Argentina) the chart will list only the two countries with the highest Revenue.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报