Report Studio进阶技巧二、创建嵌套报表:定义主要/明细关系

浏览: 2451

用户想要查看product linesproducts和相应的unit cost。对于每个product,他们还想查看上一年的销售趋势。

我们需要使用要求的信息创建一张列表,并且嵌套入一个折线型图表用来显示销售趋势。

 

准备工作

 

使用Sales (query)名空间下的Product | Product line, Product | Product name  Sales fact | Unit cost作为列表的列创建一张简单的列表。

 

如何实施

 

1. 我们已经有了一张拥有要求字段的列表。请确定此列表已经应用了合适的排序和聚合。

2. 现在我们要添加一个嵌套的Chart对象来显示每个product的趋势。

3. Insertable Objects窗体中拖拽一个Chart对象到报表中最为列表的一个列。

Clipboard Image.png

4. 选择一个合适的chart类型。此例中,我们选择“Line with Markers”。

5. Source窗体中,拖拽Sales fact | Quantitychart上作为Default measure。拖拽Time dimension| Month keyCategory之中,Product | Product nameSeries之中。

Clipboard Image.png

6. 点击图表的任意位置,然后从菜单栏选择Data | Master Detail Relationship

7. 创建一个新的link,并把两个查询中的Product name项连接起来。

Clipboard Image.png

8. 点击OK返回到Report Page。

9. 选中图表的Y1 Axis,更改其Use Same Range for All Instances属性为No。

Clipboard Image.png

10. 点击图表,然后点击工具栏中的Filter按钮。

11. 在Current Year上定义一个detailed filter。此例中,我们将把此filter硬编码为2004:

[Sales (query)].[Time dimension].[Current year]=2004

当然在实际实践中,我们更多的是在年份上进行动态多虑,而不是选择硬编码。

12. 运行并测试报表。如有需要,调整图表的属性(size, marker, color等)以获得更好的显示效果。

Clipboard Image.png

工作原理

 

Cognos Report Studio允许一个报表对象被嵌套在另一个列表中。在上一个创建分段的示例中,我们看到了Report Studio自动创建了嵌套。而在此示例中,为了实现更好的控制,我们手动创建了嵌套。

主要/明细关系(Master Detail relationship

我们需要在以下场景中定义此关系:

         1. 当外报表对象和内报表对象使用不同的查询时;

         2. 其他任何非‘列表嵌套列表’的场景。

为了生成报表,Cognos首先在数据库中执行主要查询检索数据;接着对每条返回的记录,使用在Master-Detail relationship中定义的过滤执行明细查询。

因此,明细查询被执行了多次,每次使用不用的过滤条件。

因为每次只需要检索很少的数据,所以输出的页面很快就能返回到客户端。

 

更多

 

通过在嵌套中使用不同的查询,我们可以对检索什么数据有更多的控制。在此例中,我们想显示一年的销售趋势—我们已经硬编码其为2004。因此,图表查询需要在year上做过滤。然而,外查询并没有应用此过滤。我们可以看到输出的报表中,有些行没有返回有效的图表。例如,Personal Accessories | Auto Pilot行。这意味着在2004年此产品无销售。

对于交叉表,我们可以很方便的通过右击列的表头,然后点击“插入列数据的图表”的方式为交叉表表头添加图表。如果想要在交叉表空间中添加图表,那么首先需要首先插入一个交叉表空间,然后定义新添加的交叉表空间的“定义内容”属性为“是”,接着向表空间中添加图表,并设置合适的主要/明细关系。



推荐 0
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册