技术开发 频道

基于IBM Cognos的高级报表制作技巧

  报表之间穿透钻取功能的实现

  钻取功能是 Cognos Report Studio 中的重要的功能之一,包括同一报表不同层次 (Level) 之间的钻取:上钻 (Drill up ) 和下钻 (Drill down),还不同报表之间的穿透钻取 (Drill through)。我们在第 3 部分要介绍的是不同报表之前的穿透钻取功能的实现。

  在设置钻取功能之前,需要准备好两个报表:概要报表和细节报表。概要报表是钻取功能的起点,在概要报表的某些数据项上触发穿透钻取操作。细节报表是钻取功能的终点,是原报表中某些信息更细节数据的显示。如:在概要报表中显示某部门总人数为 100 人,通过穿透钻取功能,在目标报表中可以查看这 100 人的详细信息。

  从概要报表到细节报表的钻取过程中,通常伴有参数的传递。如:以上例子中的部门标识。

  报表钻取功能的设置

  步骤 1. 在 Report Studio 中创建并保存概要报表和细节报表。见图 22.

  图 22. 创建概要报表和细节报表

图 22. 创建概要报表和细节报表

  步骤 2. 在 Report Studio 中打开概要报表。概要报表显示各个部门人数的信息。

  步骤 3. 选中概要报表需要钻取的位置。如,部门维度。见图 23。

  步骤 4. 点击页面左下角的属性的 Drill-Through Definitions 一项,打开穿透钻取编辑窗口。见图 23。

  图 23. 选中需要钻取的位置

图 23. 选中需要钻取的位置

  步骤 5. 在弹出的钻取编辑窗口中,点击新建图标创建一个穿透钻取。见图 24。

  图 24. 创建一个穿透钻取

图 24. 创建一个穿透钻取

  步骤 6. 为穿透钻取重命名。我们将新建的穿透钻取重命名为 Employee List。见图 25。

  图 25. 为穿透钻取重命名

图 25. 为穿透钻取重命名

  步骤 7. 选择需要连接的细节报表。打开在第 1 步中创建的细节报表。见图 26。

  图 26. 选择细节报表

图 26. 选择细节报表

  步骤 8. 选择打开细节报表的格式。可选择的格式包括 HTML, PDF, Excel 等,如果选择 Default 选项则使用 HTML 格式打开细节报表。见图 27。

  图 27. 选择打开细节报表的格式

图 27. 选择打开细节报表的格式

  步骤 9. 设置传递参数。点击参数下方的编辑图标,在弹出的参数编辑框中,会列出细节报表中的已经定义好的所有参数。选择需要从概要报表传递到细节报表的参数,如:部门。并且在 Value 一栏中指定将概要报表中的什么参数或者数据项的取值传递到细节报表的指定参数中。如:这里选择将概要报表中部门数据项的取值传递到细节报表的部门参数中。见图 28。关于穿透钻取中参数传递的更多内容请见上一节。

  图 28. 设置传递参数

图 28. 设置传递参数

  钻取过程中参数的传递

  所有在细节报表中定义的过滤器和参数,都会出现在穿透钻取参数的编辑窗口中,见图 28。我们在细节报表中定义了三个显式的过滤器以及一个隐式的参数。定义隐式参数的目的是既希望通过该参数完成概要报表到细节报表的参数传递,又不希望将该参数作为过滤器暴露在细节报表中供用户使用。如:我们希望当用户从概要报表的部门维度上进行穿透钻取操作的时候,在细节报表中显示被选中部门的所有员工信息,因此我们在细节报表中定义了部门的参数,通过这个参数在概要报表和细节报表之间传递被选中部门的信息;同时,我们并不希望用户在细节报表中看到并且使用这个参数,此时,我们就可以通过修改参数的属性,将其掩藏。见图 29。

  图 29. 修改过滤器的显示属性

图 29. 修改过滤器的显示属性

  在穿透钻取参数编辑窗口中,可以选择将概要报表中两种类型的值传递给细节报表。一种是概要报表中参数的当前值,一种是概要报表中数据项的当前值。见图 30 中方法(Method)一列的下拉菜单选项。当然,也可以选择不传递任何参数,既在穿透钻取中不使用该参数。

  图 30. 选择参数传递方法

图 30. 选择参数传递方法

  对应不同的 Method 选项,会有不同的值出现在 Value 一列的下拉菜单中。见图 31。如果选择传递参数的当前值,则概要报表中所有的可用参数都会出现在 Value 的下拉菜单中;如果选择传递数据项的当前值,则概要报表中所有的可用数据项都会出现在 Value 的下拉菜单中。这里我们选择将概要报表部门数据项的当前值传递到细节报表的部门参数中。

  图 31. 不同传递方法的参数取值

图 31. 不同传递方法的参数取值

  总结

  综上所述,Cognos 商业智能系列软件不仅可以提供丰富的报表展示功能,基于条件生成动态报表,而且可以通过钻取操作将不同的报表关联起来,用户可以通过一个报表的信息关联查看其它相关报表的信息,从而以最快的速度找到相应的解决办法,避免了在不同的信息单元中进行无目的的切换。

0
相关文章