IBM Cognos 最佳实践: IBM Cognos Active Report 10.1.1 秘籍

产品:IBM Cognos Business Intelligence 10.1.1;关注领域:报告

本文将描述 IBM Cognos Active Report 内可用的各种功能,以及如何使用它们创建和分发交互式报告应用程序。

Jeff MacDonald, 产品经理, IBM

Jeff 是 IBM Cognos Business Intelligence 的一名产品经理。他负责 IBM Cognos Active Report(一个离线的交互式报告解决方案)和 IBM Cognos Mobile 方面的工作。Jeff 与客户和 IBM R&D 密切合作来推动产品策略的发展。



Daniel Wagemann, Cognos 最佳实践顾问, I.B.M.

Daniel Wagemann 是位于加拿大的 Business Analytics 的一名 IBM Cognos 可靠实践顾问。在他从事 IBM Cognos 产品套件的 11 年中,他对 IBM Cognos 部署的所有领域有了广阔的理解。他的专业领域包括课程开发、技术写作、咨询和客户支持。可在 Proven Practices Site 的几乎所有领域内找到他的作品。



Matthew Chmiel, 软件开发人员, IBM

Matthew Chmiel 是一名 IBM Cognos 软件开发人员,在加拿大渥太华工作。他有 8 年的从事 Cognos BI 产品开发的经验,自产生 IBM Cognos Active Report 以来,他就一直在从事相关的工作。



2012 年 5 月 30 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 8 Business Intelligence Developer Edition V8.4 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

本文将描述 IBM Cognos Active Report 内可用的各种功能,以及如何使用它们创建和分发交互式报告应用程序。

本文假设您对 IBM Cognos Active Report 功能有一定的基本了解。有关入门资料,请参阅 http://publib.boulder.ibm.com/infocenter/cbi/v10r1m1/index.jsp 上 Author and Create 文件夹下 IBM Cognos Report Studio User Guide 中的 IBM Cognos Active Report 一节,或者 http://www-304.ibm.com/jct03001c/services/learning/ites.wss/zz/en?pageType=page&c=R985771H68561E16 上的 IBM Cognos 提供的教育内容。

适用性

本文描述的产品行为已使用以下工具加以验证:

  • IBM Cognos Business Intelligence 10.1.1

IBM Cognos Active Report 概述

IBM Cognos Active Report 是 IBM Cognos Business Intelligence 10.1 中引入的一个报表输出类型,允许专业的报表创建者创建交互式报告应用程序。下面几节将重点介绍 IBM Cognos Active Report 的特性、用例和部署选项。

重要特性

IBM Cognos Active Report 有很多独有的特性,能够让解决方案为 IBM 客户提供新的价值。一些解决方案的重要特性包括:

离线

一个 IBM Cognos Active Report 是一个独立的自包含文件。这能够让用户与其报告应用程序中的所有内容完全交互,而无需连接到其 IBM Cognos BI 服务器。离线报告简化了一个组织内的报表分发和使用,使 BI 内容随时可用于外部合作伙伴和客户。

可高度交互

IBM Cognos Active Report 控件实现新一层次的交互行为。当与解决方案的极速性能结合时,它能够为业务用户提供卓越的最终用户体验。报表控制台提供的灵活性能够让一个报告应用程序满足许多用户的要求,消除了定制报表来满足个人查看偏好的需要。

可移植

业务用户需要访问其 BI 信息,不管他们身处何处、是否联网或使用的设备是什么。不管是否联网,同样的 IBM Cognos Active Report 都可以在标准 Web 浏览器和 Apple iPad 上使用。这确保业务用户总有可用的 IBM Cognos BI 内容近在手边。在 IBM Cognos Mobile 本地 iPad 应用程序中使用 IBM Cognos Active Report 时,标准的报表控件会自动获得本地 iOS 的外观,且支持滑动等交互手势。这确保能够为用户提供所要求的本地 iPad 体验,而无需专业的报表创建者创建特定于设备的报表。此外,IBM Cognos Active Report 内容可以在 IBM Cognos Business Insight 中使用,其中可以并排查看您组织的广泛分析内容。

按需访问细节

在连接到 IBM Cognos BI 服务器的同时,通过利用穿透钻取 (drill-through) 功能,业务用户可以在不失去上下文的情况下进行较深入的分析。这使用户既能利用 IBM Cognos Active Report 的性能和可交互性,同时还能轻松访问其他 IBM Cognos 内容。

广泛分发

IBM Cognos Active Report 输出易于导航,且可以在标准 Web 浏览器中使用。这能够让广大用户立即从自包含 IBM Cognos BI 解决方案的所有功能中获益。此外,IBM Cognos Active Report 输出可以使用 IBM Cognos 中已经提供的现有调度和批量分发功能进行分发。

IBM Cognos 平台安全性

IBM Cognos Active Report 内容遵循所有现有的 IBM Cognos 安全特性。在 IBM Cognos Connection 中,当用户运行一个报告应用程序或者管理员为一组用户调度和批量分发报告应用程序时,应遵循所有基于角色的安全策略。每个用户都会使用仅包含他们有权查看的数据的报告应用程序。

单一创作环境

IBM Cognos Report Studio 用于创建标准的报表输出类型和 IBM Cognos Active Report 内容。因此,只需一个单击就可以将现有报表转化为交互式报告应用程序。这将能够让现有查询和图表对象得到重用,并减少构建交互式报告应用程序所需的时间。

常见使用场景

IBM Cognos Active Report 的特性使其成为一个灵活且可移植的解决方案,其优势可以在组织内外得到利用。为了确保有一个成功的部署,将技术应用到合适的用例很重要。IBM Cognos Active Report 的一些理想用例包括:

支持移动工作者

移动性在不断增加,且正在成为一种生活方式。业务用户希望能够在任何时候使用其业务信息,不管他们在哪里或者使用什么设备。IBM Cognos Active Report 支持移动工作者,允许在 Apple iPad 和标准 Web 浏览器中使用相同的报告应用程序。与解决方案的离线性质相结合,IBM Cognos Active Report 确保用户有正确的信息供制定业务决策使用。

管理仪表板

业务用户期望具有视觉吸引力、高性能的交互式仪表板,能够与关键业务信息交互。IBM Cognos Active Report 允许专业报表创建者创建可以分发给广大受众的管理仪表板。大量 IBM Cognos Active Report 控件确保可以实现所要的功能,且可以向业务用户提供卓越的最终用户体验。报告应用程序是高性能独立文件,而且通过利用穿透钻取技术,业务用户可以在不失去上下文的情况下无缝地连接到更详细的数据。IBM Cognos Active Report 允许以交互的方式呈现业务用户最常用的数据,而且提供一种推动深入分析的简单途径。

将 BI 扩展到外部客户或合作伙伴

企业可以改善其与客户的关系,通过改善到外部用户的信息流增加协同作用。IBM Cognos Active Report 技术支持将交互式报告分发到组织外部,而无需担心要授予那些用户对 IBM Cognos 服务器的访问权。解决方案提供一种在组织外共享信息的可扩展且安全的方式,而不会增加需要进行额外支持的负担。

部署策略

IBM Cognos Active Report 的可移植性创建了很多可能的部署选项。在选择哪种方法最适用时,IBM Cognos 管理员应当考虑预期受众和用例。一些最常见的场景包括:

电子邮件分发

IBM Cognos Active Report 内容可以通过安全的公司电子邮件加以分发,然后允许收件人与所有数据完全交互,不管他们是否连接到 IBM Cognos BI 服务器。调度和批量分发可用于确保该操作发生在非高峰服务器时间,以减少系统负载。此外,利用调度和批量分发可确保基于 IBM Cognos 角色的安全限制得到遵守。对于将 IBM Cognos Active Report 内容分发给内部和外部的受控受而言,这是一种非常适合的部署选项。

移动分发

IBM Cognos Mobile 本地 iPad 应用程序能够以多种方式将 IBM Cognos Active Report 内容移动到设备中。调度和批量分发可用于将内容直接发送到最终用户的 iPad 上。在 IBM Cognos BI 服务器上运行报表之后,一旦用户从其设备登录进来,IBM Cognos Mobile Service 就可以立即将报表输出传输到 iPad。一旦内容传输过去,就可以离线使用这些内容。另外,可以从本地 iPad 应用程序浏览 IBM Cognos Connection 文件夹结构,且用户可以选择运行他们有权访问的任何 IBM Cognos Active Report。运行报表之后,它们会本地存储在 iPad 上,可供离线使用。在这两个部署场景下,报告内容受初始 IBM Cognos BI 服务器身份验证和基于角色的安全限制保护。iPad 应用程序还支持电子邮件分发。当将报告应用程序作为电子邮件附件发送给用户时,文件将与 IBM Cognos Mobile iPad 应用程序相关联,并且可以直接投入该环境中。然后输出会保存在应用程序中,供用户离线使用。对于移动工作者来说,调度和批量分发是推荐的部署场景,因为这样做可以确保用户的 IBM Cognos BI 内容能够被下载,且可以离线使用,不管他们是否选择在特定报表离线之前运行该报表。

网络可访问位置

IBM Cognos Active Report 输出是一个自包含的输出。因此,单一文件输出可以放在共享位置,且可供能够访问该网络位置的任何人访问。可以通过密码或登录凭据为远程位置提供安全性,以确保只有已授权可以查看该内容的人能够访问该报表。该部署场景消除了将文件副本通过电子邮件发给每一个收件人的需要,从而减少网络负载。由于输出的单一版本是共享的,所以每个用户都使用相同的报告应用程序,且不必遵从基于角色的安全性。

IBM Cognos Connection

与 IBM Cognos 报表类似,IBM Cognos Active Report 内容位于 IBM Cognos Connection。假定用户有适当的文件夹权限和特权,用户可以轻松导航到报表位置,并获得对报告应用程序的访问。用户可以选择查看现有的已保存输出,或者重新运行报表以获得尽可能最新的数据。通过将报表留在 IBM Cognos Connection 中,每个用户在获取访问权之前都必须通过 IBM Cognos BI 服务器进行身份验证。此外,当用户选择运行报表时,所有基于 IBM Cognos 角色的安全性都会保持不变。如果最终用户没有从 IBM Cognos Connection 手动下载报表到器本地机器,当与服务器断开连接时内容会无法访问。

限制使用

并非所有 IBM Cognos 用户都被授权使用 IBM Cognos Active Report 内容。用户必须是 Active Report Recipient 的一个指定用户或者至少是一个 Enhanced Consumer,才能使用 IBM Cognos Active Report 内容。另外,可以购买一个基于 PVU 的 Active Report Recipient,这样才可以跨整个组织分发报告应用程序并在外部共享它。

为了确保许可遵从性,可以使用若干技术。可以将存取码放在 IBM Cognos Active Report 输出中。报表的创建者控制该输出,且存取码对于所有用户来说是一样的。此外,可以在具有权限的文件夹中包含 IBM Cognos Active Report 内容,这样一来,未授权的用户就无法访问报表。最后,可以使用分发内容给受控组的部署场景,比如电子邮件或移动分发,以确保只有预期的受众收到报告输出。


IBM Cognos Active Report 工具箱项

以下几节概述可用于创建 IBM Cognos Active Report 应用程序的每一个 IBM Cognos Report Studio 工具箱项。本节还提供一个分步操作,说明如何使用这些项中的一些。

Variable Text 项

Variable Text 项用于显示 IBM Cognos Active Report 变量的值。该工具箱项等同于 IBM Cognos Report Studio Report 表达式 ParamDisplayValue。

Variable Text 项分步操作

以下示例将分步指导用户创建一个变量,分配一个值给变量,并在一个使用 Variable Text Item 的 IBM Cognos Active Report 上显示它。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 单击 Active Report Variables 选项卡,然后单击 Create a new variable 链接。
    以下界面截图显示选中 Active Report Variable 选项卡的 IBM Cognos Report Studio。另外还显示 Active Report Variable 对话框,该对话框在单击 Create a new variable 链接之后呈现给用户。Active Report Variable 对话框包含一个 Name 字段、一个 Data Type 选择下拉列表和一个 Set Default Value(s) 链接,该链接可用于指定默认变量值。
    图 1 IBM Cognos Report Studio 显示 Active Report Variable 对话框
    图 1 IBM Cognos Report Studio 显示 Active Report Variable 对话框
  3. 在 Active Report Variable 对话框的 Name 字段内,添加 varMyActiveReportVariable 名称。
  4. 单击 Set Default Value(s) 链接来显示 Default Variable Values 对话框。
  5. 在 Default Variable Values 对话框内,单击对话框左下方的 New 图标。
  6. 输入 MyVariableValue 的一个默认值并单击 OK 按钮。
  7. 单击 OK 按钮关闭 Active Report Variable 对话框。
  8. 从可用工具箱项中,找到 Variable Text 项,将其拖到报表中。由于只定义了一个 IBM Cognos Active Report 变量,Variable Text 项自动与这一变量关联起来。如果定义了多个变量,会提示报表创建者选择一个变量。
    如果执行 IBM Cognos Active Report,它会显示 varMyActiveReportVariable Variable Text 项的文本 MyVariableValue。

Row Number

Row Number 用于确保一个列表中的行号在被控件动态过滤之后得到正确显示。通过将 Row Number 对象包含在一个列表列,在操作列表时总是从 1 开始按顺序排列行。

Deck

Deck 能够让报表创建者手动创建所需数量的卡片。当显示在卡片上的内容随卡片不同时 Deck 很有用。

Deck 项分步操作

以下示例分步说明如何使用由 Radio Button Group 控制的一个 Deck 项在交叉表和图表中显示相同的数据。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Radio Button Group 对象拖放到报表画布中。
  3. 单击位于 Radio Button Group 对象右边的 Radio Buttons Definition 图标。
  4. 在 Radio Buttons Definition 对话框内,单击悬停在条目左边时出现的 X,删除 Button Label 3。
  5. 将 Button Label 1 重命名为 Crosstab,将 Button Label 2 重命名为 Line Chart。
  6. 单击 OK 按钮,返回到报表页面。
  7. 单击 Radio Button Group,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 Crosstab/Chart Radio Control。
  8. 从可用的工具箱项中,找到 Deck 项,将其拖放到 Radio Button Group 控件下面。
  9. 单击位于 Deck 项右边的 Edit Deck Cards Definition 图标。
  10. 在 Deck Cards Definition 对话框内,通过单击 X 删除 Card 3。
  11. 将 Card 1 重命名为 Crosstab,将 Card 2 重命名为 Line Chart。
  12. 单击 OK 按钮,返回到报表视图报表页面。
  13. 单击 Deck,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 Crosstab/Chart Deck。
  14. 从可用的工具箱项中,将 Crosstab 对象拖放到 Crosstab 卡片上。
  15. 使用可用的源项,填充 Crosstab 对象,以 GO Sales(query)\Sales(query)\Products\Product line 作为行,GO Sales(query)\Sales(query)\Time\Year 作为列,GO Sales(query)\Sales(query)\Sales\Revenue 作为度量值。一旦完成,报表页现在应当在界面顶部包含两个单选按钮,分别标为 Crosstab 和 Line Chart。在 Deck 内,其中一个卡片标为 Crosstab。Crosstab 卡片包含一个 Crosstab 对象,该对象以 Product line 作为行,Year 作为列,Revenue 作为度量值。如下图所示。
    图 2 IBM Cognos Report Studio 显示填充有 Crosstab 卡片的 Deck
    图 2 IBM Cognos Report Studio 显示填充有 Crosstab 卡片的 Deck
  16. 从 Deck 下拉列表中选择 Line Chart 卡片。
  17. 从可用的工具箱项中,将 Chart object 拖放到 Line Chart 卡片上。
  18. 在 Insert Chart 对话框内,选择折线图并单击 OK 按钮。
  19. 使用可用的源项,填充 Line Chart 对象,以 GO Sales(query)\Sales(query)\Products\Product line 作为 Series,GO Sales(query)\Sales(query)\Time\Year 作为 Categories,GO Sales(query)\Sales(query)\Sales\Revenue 作为度量值。
  20. 单击 Radio Button Group 控件右边的 Create a New Connection 图标。
  21. 在 Create a New Connection 对话框内,确保 Source 是 Crosstab/Chart Radio Control 且 Target Control 是 Crosstab/Chart Deck。活动报表变量应当是默认值为 Line Chart 的标签。
    图 3 IBM Cognos Active Report Connection 对话框显示 Radio Button Group 与 Deck 之间的连接
    图 3 IBM Cognos Active Report Connection 对话框显示 Radio Button Group 与 Deck 之间的连接
  22. 单击 Connect 按钮建立连接,并返回到报表页面。
    如果执行 IBM Cognos Active Report,它会显示两个单选按钮。一个是 Crosstab,另一个是 Line Chart。默认将 Line Chart 呈现给用户。然后用户就能够通过选择 Crosstab 单选按钮将视图切换到交叉表。

Data Deck

Data Deck 对象用于为每个数据项值自动创建一个卡片,用来驱动 Data Deck。如果由于数据变化卡片的数量未知,Data Deck 很有用。Data Deck 通常用于为不同的上下文显示相同的报表数据容器。

Data Deck 项分步操作

以下示例分步说明如何使用由 Button Bar 控制的 Data Deck 项来为每个产品线显示一个列表。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Button Bar 对象拖放到报表画布上。
  3. 单击 Data Button Bar,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 Product line Data Button Bar。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Data Button Bar/Deck Query。
  5. 使用 Page Explorer 选项卡,单击 Page1 返回到报表页面。
  6. 从可用的源项中,找到 GO Sales(query)\Sales(query)\Products\Product line,并将其拖放到 Data Button bar 的 Labels 部分中。
  7. 从可用的工具箱项中,按住右鼠标按钮,将 Data Deck 对象拖放到报表画布上。
  8. 在释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  9. 当系统提示进行查询时,选择 Data Button Bar/Deck Query 并按下 OK 按钮。
  10. 单击 Data Deck,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 Product Line Data Deck。
  11. 从可用的工具箱项中,找到 List query 对象,并将其拖放到 Data Deck 上。
  12. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 List Query。
  13. 使用 Page Explorer 选项卡,单击 Page1返回到报表视图。
    完成这一步之后,IBM Cognos Active Report 应当在界面顶部包含一个 Data Button Bar,其中有一个 Product line 查询项被插入到 Labels 拖放区域。在 Data Button Bar 下,插入了一个 Data Deck,其中插入了一个空的 List 对象。这如同以下屏幕截图所示。
    图 4 IBM Cognos Active Report 带有一个 Data Button Bar 和一个包含 List 对象的 Data Deck
    图 4 IBM Cognos Active Report 带有一个 Data Button Bar 和一个包含 List 对象的 Data Deck
  14. 从可用的源项中,找到 GO Sales(query)\Sales(query)\Products\Product line,将其拖放到 List 对象中。
  15. 在 Data Item 选项卡内,选择 Product line 数据项并将其拖放到 Data Deck 的 Values 拖放区域。完成这一步之后,IBM Cognos Active Report 应当在界面顶部包含一个 Data Button Bar,其中有一个 Product line 查询项被插入到 Labels 拖放区域。在 Data Button Bar 下,Data Deck 现在包含一个填充有 Product line 查询项的 List 对象。Product line 查询项还用于填充 Data Deck 的 Values 拖放区域。当前报表布局如以下屏幕截图所示。
    图 5 IBM Cognos Active Report 带有一个 Data Button Bar 和 Data Deck,后者包含填充有 Product line 查询项的一个 List 对象
    图 5 IBM Cognos Active Report 带有一个 Data Button Bar 和 Data Deck,后者包含填充有 Product line 查询项的一个 List 对象
  16. 选择 List 对象,在 Properties 窗格左边的 Data 部分下,通过单击省略号选择 Master Detail Relationships 属性。
  17. 在 Master Detail Relationships 对话框内,单击 New Link 定义 Data Button Bar/Deck Query 和 List Query 之间的关系。
  18. 单击 OK 按钮提交关系,然后返回到报表页面。
  19. 选择 Data Button Bar 对象,并右键单击,显示可用菜单。
  20. 从可用菜单中选择 Create a New Connection。
  21. 在 Create a New Connection 对话框内,确保 Source Control 是 Product Line Data Button Bar,Target Control 是 Product Line Data Deck,且 Active Report Variable 部分定义了一个名为 varProductLine、数据类型为 String、默认值为 Camping Equipment 的变量。已完成的对话框如以下屏幕截图所示。
    图 6 Create a New Connection 对话框将 Data Button Bar 链接到 Data Deck
    图 6 Create a New Connection 对话框将 Data Button Bar 链接到 Data Deck
  22. 单击 Connect 按钮,创建连接。
    如果执行 IBM Cognos Active Report,它会在报表顶部为每个产品线显示一个按钮。按下每个按钮后,会显示一个根据适当产品线过滤后的列表。如下图所示。
    图 7 IBM Cognos Active Report 输出显示包含与按钮对应的数据的一个记录列表
    图 7 IBM Cognos Active Report 输出显示包含与按钮对应的数据的一个记录列表

Tab Control

Tab Control 能够让报表创建者手动创建所需数量的选项卡。

Tab Control 项分步操作

以下示例分步说明如何使用一个 Tab Control 显示同一数据的一个交叉表或图表视图。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Tab Control 对象拖放到报表画布上。
  3. 单击 Tab Control,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 Crosstab/Chart Tab Control。
  4. 单击位于物理选项卡右边的 Tab Definition 图标。
  5. 将鼠标悬停到 Tab label 3 上并单击 X,删除 Tab label 3。
  6. 将 Tab label 1 重命名为 Crosstab,将 Tab label 2 重命名为 Line Chart。
  7. 按下 OK 按钮,返回到报表页面。完成之后,报表页面现在应当在界面顶部显示两个选项卡。第一个选项卡应当标为 Crosstab,第二个选项卡应当标为 Line Chart。如以下屏幕截图所示。
    图 8 IBM Cognos Report Studio 显示 IBM Cognos Active Report Tab Control
    图 8 IBM Cognos Report Studio 显示 IBM Cognos Active Report Tab Control
  8. 从可用的工具箱项中,将 Crosstab 对象拖放到 Crosstab 选项卡上。
  9. 使用可用的源项,填充 Crosstab 对象,以 GO Sales(query)\Sales(query)\Products\Product line 作为行,GO Sales(query)\Sales(query)\Time\Year 作为列,GO Sales(query)\Sales(query)\Sales\Revenue 作为度量值。
  10. 单击 Line Chart 选项卡。
  11. 从可用的工具箱项中,将 Chart object 拖放到 Line Chart 选项卡上。
  12. 在 Insert Chart 对话框内,选择折线图并按下 OK 按钮。
  13. 使用可用的源项,填充 Line Chart 对象,以 GO Sales(query)\Sales(query)\Products\Product line 作为 Series,GO Sales(query)\Sales(query)\Time\Year 作为 Categories,GO Sales(query)\Sales(query)\Sales\Revenue 作为度量值。
    如果执行 IBM Cognos Active Report,它会显示两个选项卡。一个是 Crosstab,另一个是 Line Chart。默认将 Line Chart 呈现给用户。然后用户就能够通过选择 Crosstab 选项卡将视图切换到交叉表。

Data Tab Control

Data Tab Control 能够让报表创建者基于数据项返回的记录数创建选项卡。当所需的选项卡数量需要随数据项的记录集改变而改变时, Data Tab Control 可能是有效的。

Button Bar

Button Bar 能够让报表创建者手动创建所需数量的按钮。

Data Button Bar

Data Button Bar 能够让报表创建者基于数据项返回的记录数创建按钮。当所需的按钮数量需要随数据项的记录集改变而改变时,Data Button Bar 可能是有效的。

Toggle Button Bar

Toggle Button Bar 能够让报表创建者手动显示所创建的可选按钮。这些按钮可用于动态过滤数据容器。

Data Toggle Button Bar

Data Toggle Button Bar 能够让报表创建者基于数据项返回的记录数显示多个可选按钮。

Data Toggle Button Bar 分步操作

以下示例分步说明如何使用 Data Toggle Button Bar 基于 Data Toggle Button Bar 的选定按钮动态过滤列表对象。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Toggle Button Bar 对象拖放到报表画布上。
  3. 单击 Data Toggle Button Bar,在 Properties 窗格的左下方,将 Miscellaneous 区域中的 Name 属性更改为 ProductLine List ToggleButtonBar。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Data Button Bar/List Query。
  5. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  6. 从可用的工具箱项中,右键单击并将 List 对象拖放到 Data Toggle Button Bar 下的报表画布上。
  7. 释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  8. 当系统提示进行查询时,选择 Data Button Bar/List Query 并按下 OK 按钮。
  9. 使用可用的源项,填充 List 对象的 GO Sales(query)\Sales(query)\Products\Product line 和 GO Sales(query)\Sales(query)\Sales\Revenue。
  10. 从可用的数据项中,将 Product line 拖放到 Data Toggle Button Bar 的 Labels 拖放区域中。完成之后,IBM Cognos Active Report 应当有一个填充了产品线的 Data Toggle Button Bar。在 Data Toggle Button Bar 下,一个列表填充了产品线和收入。如以下屏幕截图所示。
    图 9 IBM Cognos Report Studio 显示 Data Toggle Button Bar 和 List 数据对象
    图 9 IBM Cognos Report Studio 显示 Data Toggle Button Bar 和 List 数据对象
  11. 单击 Toggle Button Bar 控件右边的 Create a New Connection 图标。
  12. 在 Create a New Connection 对话框内,确保 Source 是 ProductLine List ToggleButtonBar,Target Control 是 List1。Behavior 下拉列表从 Select 改为 Filter,且一个 IBM Cognos Active Report 变量名 varProductLine 被创建。varProductLine 还有默认值 ‘Camping Equipment’、‘Golf Equipment’ 和 ‘Mountaineering Equipment’ 集合。如以下屏幕截图所示。
    图 10 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
    图 10 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
  13. 单击 Connect 按钮,创建连接。
    如果执行 IBM Cognos Active Report,它会在报表顶部为每个产品线显示一个按钮。单击每个按钮时,List 对象刷新,仅包含按钮被选择的产品线。在下面的示例中,用户选择了 Camping Equipment 和 Golf Equipment 按钮。因此列表仅显示这两个产品线及其相关的收入。
    图 11 IBM Cognos Viewer 输出显示选中两个值的 Toggle Button Bar
    图 11 IBM Cognos Viewer 输出显示选中两个值的 Toggle Button Bar

Radio Button Group

Radio Button Group 能够让报表创建者手动提供显示为单选按钮选项的可用选择。这些值可用于过滤或选择一个数据容器的数据,一次一个单选按钮值。

Data Radio Button Group

Data Radio Button Group 能够让报表创建者基于指定数据项返回的记录集提供显示为单选按钮选项的可用选择。这些值可用于过滤或选择一个数据容器的数据,一次一个单选按钮值。

Check Box Group

Check Box Group 能够让报表创建者手动提供显示为复选框的可用选择。复选框中选定的项目可用于过滤一个数据容器的数据。

Data Check Box Group

Data Check Box Group 能够让报表创建者基于数据项返回的记录数显示多个可选复选框。这些复选框可选择多项,且用于动态过滤一个数据容器。

Data Check Box Group 分步操作

以下示例分步说明如何使用 Convert Control 菜单选项将之前的 Data Toggle Button Bar 示例转化为一个 Data Check Box Group,然后后者基于选定的复选框动态过滤列表对象。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Toggle Button Bar 对象拖放到报表画布上。
  3. 单击 Data Toggle Button Bar,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 ProductLine List ToggleButtonBar。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Data ToggleButtonBar/List Query。
  5. 从可用的工具箱项中,按住右鼠标按钮,将 List 对象拖放到报表画布上。
  6. 在释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  7. 当系统提示进行查询时,选择 ProductLine List ToggleButtonBar Query 并按下 OK 按钮。
  8. 使用可用的源项,填充 List 对象的 GO Sales(query)\Sales(query)\Products\Product line 和 GO Sales(query)\Sales(query)\Sales\Revenue。
  9. 从可用的数据项中,将 Product line 拖放到 Data Toggle Button Bar 的 Labels 拖放区域中。完成之后,IBM Cognos Active Report 应当有一个填充了产品线的 Data Toggle Button Bar。在 Data Toggle Button Bar 下,一个列表填充了产品线和收入。如以下屏幕截图所示。
    图 12 IBM Cognos Report Studio 显示 Data Toggle Button Bar 和 List 数据对象
    图 12 IBM Cognos Report Studio 显示 Data Toggle Button Bar 和 List 数据对象
  10. 单击 Toggle Button Bar control 右边的 Create a New Connection 图标。
  11. 在 Create a New Connection 对话框内,确保 Source 是 ProductLine List ToggleButtonBar,Target Control 是 List1。Behavior 下拉列表从 Select 改为 Filter,且一个 IBM Cognos Active Report 变量名 varProductLine 被创建。varProductLine 还有默认值 ‘Camping Equipment’、‘Golf Equipment’ 和 ‘Mountaineering Equipment’ 集合。如以下屏幕截图所示。
    图 13 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
    图 13 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
  12. 单击 Connect 按钮,创建连接。
  13. 选择 Data Toggle Button Bar 控件并右键单击。从可用菜单选项中选择 Convert Control。
  14. 从可用列表中,选择 Data Check Box Group。
  15. 选择 Data Check Box Group,在 Properties 窗格左下方,在 Miscellaneous 区域下将 Name 属性从 ProductLine List ToggleButtonBar 更改为 ProductLine List DataCheckBoxGroup。
    如果执行 IBM Cognos Active Report,它会在报表顶部为每个产品线显示一个复选框。在选中每个复选框时,List 对象刷新,仅包含复选框被选中的产品线。在下面的示例中,用户选择了 Camping Equipment 和 Golf Equipment 复选框。因此列表仅显示这两个产品线及其相关的收入。
    图 14 IBM Cognos Viewer 输出显示选中两个值的 Check Box Group
    图 14 IBM Cognos Viewer 输出显示选中两个值的 Check Box Group

Drop-Down List

Drop-Down List 能够让报表创建者手动提供显示为下拉列表的可用选择。下拉列表中选择的项目可用于动态过滤或选择一个数据容器。

Data Drop-Down List

Data Drop-Down List 能够让报表创建者基于指定数据项返回的记录集在一个下拉列表中提供可用选择。下拉列表中选择的项目可用于动态过滤或选择一个数据容器。

List Box

List Box 能够让报表创建者手动提供显示在列表框中的可用选择。列表框中选择的项目可用于动态过滤或选择一个数据容器,一次一个值。通过将 Multi-Select 属性设置为 Yes,也可以启用多项选择。

Data List Box

Data List Box 能够让报表创建者基于指定数据项返回的记录集在一个下拉列表中提供可用选择。数据列表框中选择的项目可用于动态过滤或选择一个数据容器,一次一个值。通过将 Multi-Select 属性设置为 Yes,也可以启用多项选择。

Iterator

一个静态 Iterator 是一个控件,允许用户使用按钮,比如 first(第一页)、last(最后一页)、previous(上一页)和 next(下一页),浏览值。该控件能够让报表创建者手动提供可用选择。当连接到一个变量时,它允许 Iterator 控件从一个数据容器中过滤或选择值。

Data Iterator

Data Iterator 是一个控件,允许用户使用按钮,比如 first(第一页)、last(最后一页)、previous(上一页)和 next(下一页),浏览值。该控件能够让报表创建者基于指定数据项返回的记录集提供可用的值。当连接到一个变量时,它允许 Iterator 控件从一个数据容器中过滤或选择值。

Data Iterator 分步操作

以下示例分步说明如何使用 Data Iterator 从卡片组动态地选择值。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Table 对象拖放到报表画布上。
  3. 在 Insert Table 对话框中,将列数设置为 3,行数设置为 1,然后单击 OK 按钮。
  4. 从可用的工具箱项中,将 Data Iterator 对象拖放到报表画布上,将其放在表格的第一个单元中。
  5. 单击 Data Iterator,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 ProductLine_Data_Iterator。
  6. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Iterator_Deck_Query。
  7. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  8. 从可用的工具箱项中,按住右鼠标按钮,将 Data Deck 对象拖放到报表画布上,将 Data Deck 放在表格的中间单元。
  9. 释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  10. 当系统提示进行查询时,选择 Iterator_Deck_Query 并按下 OK 按钮。
  11. 单击 Data Deck,在 Properties 窗格左下方,将 Miscellaneous 区域中的 Name 属性更改为 ProductLine_Deck。
  12. 使用可用的源项,填充 ProductLine_Data_Iterator Label 拖放区域的 GO Sales(query)\Sales(query)\Products\Product line。
  13. 从可用的数据项中,将 Product line 从 Iterator_Deck_Query 拖放到名为 ProductLine_Deck 的数据卡片组的 Values 拖放区域。
  14. 从可用的工具箱项中,找到 List 对象,将其拖放到名为 ProductLine_Deck 的数据卡片组中。
  15. 从可用的源项中,找到 GO Sales(query)\Sales(query)\Products\Product line、GO Sales(query)\Sales(query)\Products\Product type 和 GO Sales(query)\Sales(query)\Sales\Revenue,将它们拖放到 List 对象中。
  16. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 ProductList_Query。
  17. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  18. 选择 List 对象,在 Properties 窗格左下方,单击省略号从 Data Section 中选择 Master Detail Relationships 属性。
  19. 在 Master Detail Relationships 对话框内,单击 New Link 定义 Iterator_Deck_Query 与 ProductList_Query 之间的关系。Iterator_Deck_Query \ Product line 数据项应当链接到 ProductList_Query \ Product line 数据项。
  20. 单击 OK 按钮提交关系,并返回到报表页面。
  21. 单击名为 ProductLine_Data_Iterator 的 Data Iterator 右边的 Create a New Connection 图标。
  22. 在 Create a New Connection 对话框内,确保 Source 是 ProductLine_Data_Iterator,Target Control 是 ProductLine_Deck。Behavior 下拉列表默认设置为 Select,且 IBM Cognos Active Report 变量名 varProductLine 被创建。varProductLine 还有默认值 ‘Camping Equipment’ 集合。如以下屏幕截图所示。
    图 15 IBM Cognos Report Studio 显示 Data Iterator 和 List 数据对象
    图 15 IBM Cognos Report Studio 显示 Data Iterator 和 List 数据对象
  23. 单击 Connect 按钮,创建连接。
  24. 在左边表单元中选择 ProductLine_Data_Iterator,右键单击,显示上下文菜单,选择 Copy 放到粘贴缓冲中。
  25. 选择表格最右边的单元,右键单击,显示上下文菜单,选择 Paste 将 Data Iterator 添加到单元中。
  26. 选择新复制的名为 ProductLine_Data_Iterator1 的 Data Iterator。
  27. 在 Properties 窗格左下方,找到 General 区域并设置:
    Iterator First to Hide
    Iterator Previous to Hide
    Iterator Label Area to Hide
    Iterator Next to Show
    Iterator Last to Hide
  28. 返回到左边表格单元,选择名为 ProductLine_Data_Iterator 的 Data Iterator。
  29. 在 Properties 窗格左下方,找到 General 区域并设置:
    Iterator First to Hide
    Iterator Previous to Show
    Iterator Label Area to Hide
    Iterator Next to Hide
    Iterator Last to Hide
  30. 完成的布局如以下屏幕截图所示。
    图 16 IBM Cognos Report Studio 显示 Data Iterators,Data Deck 内的 List 数据对象
    图 16 IBM Cognos Report Studio 显示 Data Iterators,Data Deck 内的 List 数据对象
  31. 最后几个步骤是布局清理步骤,目的是让活动报表更有吸引力且更完整。选择一个列表列,在 在 Properties 窗格左下方,单击三角形的 Ancestor 按钮并选择 List Columns。
  32. 找到 Positioning 部分,选择 Size 和 Overflow 属性,并单击右边的省略号。
  33. 在 Size & Overflow 对话框中,将 Width 设置为 150 个像素。
  34. 单击 OK 保存设置。
  35. 单击三角形的 Ancestor 按钮,并选择 Table。
  36. 找到 Positioning 部分,选择 Size 和 Overflow 属性,并单击右边的省略号。
  37. 在 Size & Overflow 对话框中,清除所有值。
  38. 返回到画布中,单击选择所有三个表格单元。
  39. 单击 Toolbar 上的 Left 按钮,将单元格中的对象左对齐。
  40. 单击 Toolbar 上的 Top 按钮,将单元格中的对象顶端对齐。
  41. 如果执行 IBM Cognos Active Report,它会在 List 报表任意一边显示两个迭代器(一个仅显示 Next,另一个仅显示 Previous)。在单击 Iterator 按钮时,会显示一个不同的卡片。在以下示例中,用户显示了第一个卡片,其中 Product line 列的值为 Camping Equipment。注意,由于这是第一个值,Prev 按钮被禁用,且 Next 按钮处于激活状态。
    图 17 IBM Cognos Active Report 输出显示 Data Iterator 被设置为 Camping Equipment
    图 17 IBM Cognos Active Report 输出显示 Data Iterator 被设置为 Camping Equipment

Discrete Values Slider

Discrete Values Slider 为报表创建者提供一个滑块,该滑块可用于基于报表创建者定义的值过滤或选择一个数据容器。Discrete Values Slider 最适合于数据容器的非数值过滤或选择。还可以启用 Range,这样就可以同时选择多个顺序项。

Data Discrete Values Slider

Data Discrete Values Slider 为报表创建者提供一个滑块,该滑块可用于基于从数据项获取的值过滤或选择一个数据容器。Data Discrete Values Slider 最适合于数据容器的非数值过滤或选择。还可以启用 Range,这样就可以同时选择多个顺序项。

Data Discrete Values Slider 分步操作

以下示例分步说明如何使用 Data Discrete Values Slider 基于选定的值动态地过滤一个列表对象。

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Discrete Values Slider 对象拖放到报表画布上。
  3. 单击 Data Discrete Values Slider,在 Properties 窗格左下方,将 Miscellaneous 区域的 Name 属性更改为 ProductLine List DiscreteValuesSlider。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Data Slider/List Query。
  5. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  6. 从可用的工具箱项中,按住右鼠标按钮,将 List 对象拖放到报表画布上。
  7. 在释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  8. 当系统提示进行查询时,选择 Data Slider/List Query 并按下 OK 按钮。
  9. 使用可用的源项,填充 List 对象的 GO Sales(query)\Sales(query)\Products\Product line 和 GO Sales(query)\Sales(query)\Sales\Revenue。
  10. 从可用数据项中,将 Product line 拖到 Data Discrete Values Slider 的 Labels 拖放区域。完成之后,IBM Cognos Active Report 应当有一个填充了产品线的 Data Discrete Values Slider。在 Data Discrete Values slider 下面,一个列表填充了产品线和收入。如以下屏幕截图所示。
    图 18 IBM Cognos Report Studio 显示 Data Discrete Values Slider 和 List 数据对象
    图 18 IBM Cognos Report Studio 显示 Data Discrete Values Slider 和 List 数据对象
  11. 单击 Data Discrete Value Slider 右边的 Create a New Connection 图标。
  12. 在 Create a New Connection 对话框内,确保 Source 是 ProductLine List DiscreteValuesSlider,Target Control 是 List1。Behavior 下拉列表从 Select 改为 Filter,且一个 IBM Cognos Active Report 变量名 varProductLine 被创建。varProductLine 还有默认值 ‘Mountaineering Equipment’ 集合。如以下屏幕截图所示。
    图 19 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
    图 19 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
  13. 单击 Connect 按钮,创建连接。
  14. 选择 Data Discrete Values Slider,在 Properties 窗格左下方的 General 区域下面,将 Orientation 属性从 Horizontal 改为 Vertical。
    如果执行 IBM Cognos Active Report,它显示一个滑块来表示报表顶部的每个产品线的值。目前,每次拖动和释放滑块时,报表都会更新,以显示选定的产品线及其相关收入。如果 Data Discrete Values Slider 的 Update Variables Live 属性被设置为 Yes,那么在移动滑块时,List 对象会在无需用户释放滑块的情况下更新。在以下示例中,用户将滑块放在了 Personal Accessories 值上面。因此列表仅显示该产品线及其相关收入。
    图 20 IBM Cognos Active Report 输出显示 Data Discrete Values Slider 被设置为 Personal Accessories
    图 20 IBM Cognos Active Report 输出显示 Data Discrete Values Slider 被设置为 Personal Accessories

Continuous Values Slider

Continuous Values Slider 为报表创建者提供一个滑块,该滑块可用于基于手动输入的数值过滤或选择一个数据容器。Continuous Values Slider 最适合于数值范围过滤。当选择 Continuous Values Slider 时,可以在 Properties 面板中控制范围设置。

Button

Button Toolbox 项可用于向 IBM Active Report 添加额外的交互性。IBM Cognos Active Report Button 可用于选择或过滤一个容器。它还可用于启用一个控件或设置一个变量。

Button 分步操作

以下示例分步说明如何使用 Data Toggle Button Bar 基于 Data Toggle Button Bar 的选定按钮动态地过滤一个列表对象。另外介绍如何使用按钮启用默认情况下被禁用的 Data Toggle Button Bar。

  1. 在 IBM Cognos Report Studio,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Toggle Button Bar 对象拖放到报表画布上。
  3. 单击 Data Toggle Button Bar,在 Properties 窗格左下方,将 Miscellaneous 区域的 Name 属性更改为 ProductLine List ToggleButtonBar。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格左下方,找到 Miscellaneous 区域,将查询的名称从 Query1 更改为 Data Button Bar\List Query。
  5. 从可用的工具箱项中,按住右鼠标按钮,将 List 对象拖放到报表画布上。
  6. 在释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  7. 当系统提示进行查询时,选择 Data Button Bar\List Query。
  8. 查询并按下 OK 按钮。
  9. 使用可用的源项,填充 List 对象的 GO Sales(query)\Sales(query)\Products\Product line 和 GO Sales(query)\Sales(query)\Sales\Revenue。
  10. 从可用数据项中,将 Product line 拖到 Data Toggle Button Bar 的 Labels 拖放区域。完成之后,IBM Cognos Active Report 应当有一个填充了产品线的 Data Toggle Button Bar。在 Data Toggle Button Bar 下面,一个列表填充了产品线和收入。如以下屏幕截图所示。
    图 21 IBM Cognos Report Studio 显示 Toggle Button Bar 和 List 数据对象
    图 21 IBM Cognos Report Studio 显示 Toggle Button Bar 和 List 数据对象
  11. 单击 Data Toggle Button Bar 控件右边的 Create a New Connection 图标。
  12. 在 Create a New Connection 对话框内,确保 Source 是 ProductLine List ToggleButtonBar,Target Control 是 List1。Behavior 下拉列表从 Select 改为 Filter,且一个 IBM Cognos Active Report 变量名 varProductLine 被创建。varProductLine 还有默认值 ‘Camping Equipment’、‘Golf Equipment’ 和 ‘Mountaineering Equipment’ 集合。如以下屏幕截图所示。
    图 22 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
    图 22 IBM Cognos Active Report Create a New Connection 对话框创建控件与列表之间的连接
  13. 单击 Connect 按钮,创建连接。
  14. 从可用的工具箱项中,将 Button 对象拖放到列表对象下面。
  15. 单击 Button 选择。在 Properties 窗格左下方的 General 区域下面,将按钮 Label 改为 Enable IT!。
  16. 单击 Button 对象右边的 Interactive Behavior 图标。
  17. 在 Interactive Behavior 对话框内,双击 Set Variable Values 区域。
  18. 在 Set Variable Values 对话框内,单击 Create a New Variable 链接。
  19. 创建一个名为 varEnableDisable 的新变量,禁用默认值。
  20. 单击 OK 返回到 Set Variable Values 对话框。
  21. 在 Set Variable values 对话框内,保留 varProductLine 值为 “Do not set”,通过选择一个值中的 Type 将 varEnableDisable 值改为 “Enable”。
    完成之后,Set Variable Values 对话框应当显示 varProductLine 变量的值为 “Do not set”,且 varEnableDisable 变量被设置为 “Enable” 类型。如以下屏幕截图所示。
    图 23 IBM Active Report Set Variable Values 对话框,其中向 varEnableDisable 变量提供了一个值
    图 23 IBM Active Report Set Variable Values 对话框,其中向 varEnableDisable 变量提供了一个值
  22. 单击 OK 按钮返回到 Interactive Behavior 对话框。
  23. 再次单击 OK 返回到报表布局。
  24. 为 Data Toggle Button Bar 选择 Interactive Behavior。
  25. 在 Interactive Behavior 对话框内,双击界面右下方的 Control Enable。
  26. 在 Condition Enable 对话框中,将左边的 Item 设置为 Value,在相应的文本字段中输入 Enable。将右边的 Item 设置为 Active Report Variable,确保选中变量 varEnableDisable。operator 下拉列表应当设置为 IN。如以下屏幕截图所示。
    图 24 用于启用 Data Toggle Button Bar 的 IBM Cognos Active Report Condition Configuration
    图 24 用于启用 Data Toggle Button Bar 的 IBM Cognos Active Report Condition Configuration
  27. 单击 OK 按钮三次,返回到报表布局。
    如果执行 IBM Cognos Active Report,它会在报表顶部为每个产品线显示一个按钮,其中禁用交互性。List 对象下方显示启用交互性的按钮。一旦单击这个按钮,Data Toggle Button bar 就被激活。在单击每个按钮时,List 对象刷新,仅包含按钮被选择的那些产品线。

构建 IBM Cognos Active Report 的指南

以下几节讨论 IBM Cognos Active Report 内容创建的一些主要领域的推荐设计实践和指南。另外也会提供提示和技巧来帮助创建者实现更好的报告应用程序。

Microsoft Hypertext Archive (MHT) 文件大小

一旦加载,IBM Cognos Active Report 输出会立即响应用户交互。根据打包到应用程序中的数据量和各种图表的数量,输出文件大小不同,且 IBM Cognos Active Report 加载时间会受影响。

IBM Cognos Active Report 输出是自包含的,因为查询返回的所有数据都包含在报表中。随着数据量的增加,MHT 文件大小增加。为了帮助限制文件大小增加,IBM Cognos Active Report Properties 菜单框中有一个可配置属性,允许创建者设置一个查询可以返回的最大行数。默认将该属性设置为 5,000。该值绝不是一个硬性限制,因为它的目的只是让 IBM Cognos 报表创建者在有大型查询时能知道。

在创建一个 IBM Cognos Active Report 时,同时会创建每种图表的一个独特图像。例如,我们看一下包含由 ‘Products’ 驱动的数据卡片组的报表。数据卡片包含一个显示过去 5 年的收入的折线图,并且配置了图表的大纲/细节关系,以基于 ‘Products’ 过滤图表。因此,‘Products’ 的每个成员都有一个独特的折线图存在。每个独特的图表都是打包到 MHT 输出文件中的生成图。因此,如果 ‘Products’ 中有 25 个成员,那么会生成和打包 25 个图像。如果 ‘Products’ 和 ‘Countries’ 驱动卡片组,那么就是 ‘Products’ 下的成员数量与 ‘Countries’ 下的成员数量相乘的独特组合。会为这些排列中的每一个生成一个图像。一个创建者创建的独特图表排列数越大,MHT 输出文件就会越大。

确定 IBM Cognos Active Report 的一个可接受文件大小是一项主观行为。在用户可以容忍较长加载时间、文件作为 IBM Cognos Connection 或网络驱动器上的已保存输出在所有用户间共享的应用中,不太可能接受一个大于 20MB 的文件。如果用户寻求一个能实时快速概览其业务的高级仪表板,那么加载速度更快的较小报表最适用。为了构建有用的报表并确保部署成功,创建者必须仔细检查用例并确定最佳的行动步骤。

为了保持文件尽量小并进而缩短加载时间,创建者可以使用几种技术。以下提示和技巧可应用于多个情景中。

查询过滤

IBM Cognos 报表创建者应当过滤查询,以便只包含最终用户感兴趣的数据。当一个查询驱动数据卡片组以避免创建不必要的图像时,这尤其重要。利用批量分发技术来确保只有与每个用户相关的数据包含在其报表中,这是一种有效的管理文件大小的方式,无需构建多个报表。

在从 IBM Cognos Report Studio 运行 IBM Cognos Active Report 应用程序时,有一个高级的调试菜单可用。按下 Control+Shift+D 组合键之后,会启用右键菜单中的其他选项。下图展示调试菜单,其中 Show Variables、Reset Variables、Info、Print、Copy Tab Control Recordset 和 Show Tab Control Recordset 是可用的菜单选项。图中还显示了选择 Info 菜单选项或 Show Tab Control Recordset 时会出现的对话框。Info 对话框显示与 IBM Cognos Active Report 应用程序内的每个控件相关的记录的数量。Show Tab Control Records 集合显示与控件相关的实际记录。在本例中,每一个区域有一个记录集,因此一个样例记录会包含一个 Region 字段名和一个 “Americas” 值。有了这一信息,IBM Cognos 报表创建者就能够确定有多少图表被创建,有多少控件在报表中,以及报表中包含多少条记录。这是一个很有价值的工具,可确保查询得到合理过滤,且无不必要的数据或图像包含在报告应用程序中。

图 25 右键菜单中提供的诊断信息
图 25 右键菜单中提供的诊断信息

简化卡片组

卡片组应当只包含卡片所特有的数据。任何常见样式或静态内容应当放在卡片组外,以避免不必要的重复。在下图中,IBM Cognos Active Report 应用程序仅包含带有 Product line 查询项的数据按钮栏。这一数据按钮栏用于为控制左右两边的数据卡片组的变量设置一个值。两个数据卡片组都由 Product line 驱动,且包含 Product line 查询项。左边的数据卡片组将格式正确地应用到包含数据卡片组的数据块。右边的数据卡片组将格式应用到数据卡片组内的数据块,对卡片组中的每一个卡片会重复这一操作。最终结果对于最终用户来说是一样的,但是如果将样式放在卡片组外,输出文件会变小,因为样式仅在输出文件中包含一次。

图 26 卡片组样式与卡片组容器的样式
图 26 卡片组样式与卡片组容器的样式

类和布局组件引用对象

使用类可以确保样式元素在对象间得到共享。这有助于最小化输出文件大小。当样式对象在卡片组中时尤为如此,因为会创建同一样式的多个副本。通过对样式使用类,文件大小可大幅缩小。

为样式利用布局组件引用对象与使用类的效果类似。通过使用布局对象引用对象,一个对象在整个 IBM Cognos Active Report 应用程序中得到共享,从而减少输出文件中的复制数量。此外,只要更改类或布局组件引用对象,设计更改就会快速反映在多个对象或报表间。

简化创作体验

由于报表变得更加复杂,保持对总体交互模式和控件与变量之间的关系的理解很重要。在着手创建高级报告应用程序时,创建者会发现以下提示很有用。

Active Report Variables 和 Active Report Controls 选项卡

下图显示选择 IBM Cognos Report Studio 中工具箱图标旁边的选项卡后呈现的对话框。左边的对话框显示 Active Report Variables,右边的对话框显示 Active Report Controls。Active Report Variables 选项卡向创建者显示创建的所有变量,且允许创建者更改一个变量的名称,更改默认值,从而了解什么控件与每个变量交互。Active Report Controls 选项卡是对变量窗格的补充,它显示根据哪些变量设置每个控件,每个控件设置了哪些变量。也可以将鼠标悬停于报表画布上一个控件的交互行为图标上来访问每个控件上的该信息。在创建者尝试调试一个报告应用程序中的功能或了解其交互时,这是很有用的信息。

图 27 Active Report Variables 和 Active Report Controls 选项卡中显示的交互性信息
图 27 Active Report Variables 和 Active Report Controls 选项卡中显示的交互性信息

煞费苦心的命名

随着有更多的功能加入到 IBM Cognos Active Report 应用程序,默认控件、查询和变量名变得没那么有意义了。为了确保在设置交互式行为时有适当的控件与正确的变量相连,应当提供有含义的名称。对所有变量名加上前缀 v 或 var 特别有用,这样一下就可以辨认出它们是变量。这一做法将帮助确保创建者可在将来轻松维护和更新报表。提供有意义的名称还更便于导航有帮助的菜单,比如 IBM Cognos Active Report Variables 面板和 Query Explorer。下图包含三个部分:IBM Cognos Active Report Variable 对话框,它显示以 var 为前缀的适当命名的变量名列表;Query Explorer 对话框,它显示适当命名的查询对象列表,可便于轻松关联到使用这些查询的报表对象;IBM Cognos Report Studio 属性窗格。IBM Cognos Report Studio 属性窗格显示,Data Button Bar 对象已适当地命名为 Miscellaneous\Name 属性下的 Product Line Button Bar。

图 28 具有适当名称的变量、查询和控件
图 28 具有适当名称的变量、查询和控件

重用查询

在创建 IBM Cognos Active Report 时,每当有对象拖放到报表中时就会创建一个新的查询。结果,报表中查询的数量快速增加,变得难以确保所有查询都得到适当过滤和实施。这种情况可以简化,即为共享相同信息的多个控件重用相同的查询。实现这一点的一种简单方式是,在添加新控件到画布中时右键单击并拖动。然后会提示创建者将该控件与现有查询关联起来,而非创建一个新的查询。

默认变量

在适用时,所有变量都赋予了默认值。这将确保在加载报告应用程序时,会向最终用户显示适当的数据以及所需的上下文。

嵌套数据容器

为了简化交互行为逻辑,一个创建者应当避免将数据容器嵌套在另一个数据容器中。不要创建一个内含 ‘Years’ 卡片组的 ‘Products’ 卡片组,而是为 ‘Products’ 和 ‘Years’ 创建一个卡片组。可以使用一个组合了的变量(包含所需年份)和产品的选择表达式,来选择适当的卡片。另外,其中一个变量可用于过滤卡片组,而另一个变量可用于选择要显示其余卡片中的哪一个。

测试和调试

除了 4.1.1 节中讨论的报表诊断之外,有若干其他战略可用于帮助测试和调试报告应用程序。下图显示右键单击从 IBM Cognos Report Studio 中运行的报告应用程序之后呈现给用户的对话框。调试对话框包含 Show Variables、Reset Variable、Info、Print、Copy Tab Control Recordset 和 Show Tab Control Recordset。图中的下半部分显示选择 Show Variables 菜单项之后呈现给最终用户的对话框。在本例中,对话框显示给报表创建者,vProductLine 变量的值为 Golf Equipment,还有其他几个变量名和值的组合。

Show Variables 对话框提供给报表创建者所有变量的当前值,让创建者了解在用户与报表交互时变量如何变更。右键单击出现的同一菜单中的 Reset Variables 选项能够让报表创建者将报告应用程序返回到原始状态,而无需退出报表。

图 29 View Variables 调试菜单的输出
图 29 View Variables 调试菜单的输出

外观和性能

及时交互和视觉吸引力是 IBM Cognos Active Report 创建引人注目的用户体验的两个关键特性。下面是创建和样式化报告应用程序时需要谨记的一些概念。

对象大小调整

并非一个卡片组中的所有卡片都要有相同的大小。当选择不同大小的卡片进行查看时,其他显示的对象可以移动来调适新的卡片。对于最终用户来说,这看起来像是对象在界面上弹跳。可以通过调整对象大小来避免这一行为。可以向卡片上的对象和卡片组应用固定的大小,以确保它们完全一样。当在卡片组上启用动画时,持续调整对象和卡片组的大小也很重要。如果一个卡片组的大小未受到约束,且启用了动画,那么新卡片可能跨界面活跃起来,这会为最终用户创建不合需要的体验。如果将卡片组设置为与卡片相同的大小,那么动画会更自然,因为它会被约束于仅由卡片中的对象占用的区域。控件的大小是通过 Properties 面板中的 Size & Overflow 属性配置的。水平和垂直间距等其他属性还可用于在不同控件之间应用间距。

为了施加大小限制,创建者可以使用下图中显示的 Ancestor 按钮从对象层次结构底部开始向上移动。在本例中,对象层次结构显示为 Card、Deck、Block、Tab Card、Tab Control、Page Body 和 Page。本例中层次结构中最下面的对象是 Card。通过从最低级开始向上移动,创建者可以确保在整个报告应用程序中普及适当的大小。

图 30 Ancestor 按钮能够让创建者遍历布局层次结构
图 30 Ancestor 按钮能够让创建者遍历布局层次结构

弹跳也可能出现在列表或交叉表上。在过滤数据时,列的宽度将自动调整为适合当前显示的数据。可以通过将固定的列宽度分配给列表或交叉表的每一列来避免这一行为。此外,重要的是要记住在布置一个固定大小的报表时包含在报表或交叉表中的数据量。如果列表改为包含更多数据,那么对象的高度会扩展且下推其下面的项目。不管对列表及其容器的高度是否有大小限制,这都会发生。为避免这一行为,应当将分配给列表的不动产设置为列表最大尺寸,或者可以将其放在一个可滚动块中。

过滤与细分数据

可以通过将列表或交叉表数据细分到多个卡片上实现性能增益,而非在交互行为区域中使用过滤功能。随着有越来越多的数据包含在列表或交叉表中,性能增益变得越来越显而易见,最终用户体验得到改进。

以下屏幕截图直观显示过滤和分段之间的区别。右边的列表报表包含 Product line、Product type 和 Quantity。Camping Equipment 记录分配在整个列表中,与列表中的其他记录相交织。这个大列表需要经过过滤,以便仅显示 Camping Equipment 项。左边显示多个列表,使用的数据项与右边列表所含的相同。左边的每个列表仅包含一个 Product line。可以通过将大型列表包含在由 Product line 驱动的数据卡片组来构建这些单独的列表,在列表与数据卡片组之间建立大纲/细节关系。在该场景中,创建者可以选择应当将哪个预先过滤的列表呈现给最终用户。

图 31 细分到卡片中的列表,可提供过滤功能和改善的性能
图 31 细分到卡片中的列表,可提供过滤功能和改善的性能

优化数据卡片组查询

在使用维度数据时,如果多个维度驱动一个数据卡片组,且事实表很大,可以优化查询、减少报告应用程序的构建时间。不要将维度拖放到数据卡片组中并将它们放在相同的查询中,而应为每个维度构建一个单独的查询,然后应当使用一个表达式为 1 = 1 的联接操作来创建新查询。必须将新查询的 Set Cross Product Allowed 属性设置为 Allow。然后可以将维度从新查询引入数据卡片组。

排列数据和对象

在布置报告应用程序时,使用 IBM Cognos Report Studio toolbar 提供的右对齐、左对齐、居中靠顶、中间对齐和底端对齐控件,获得所需的对象方向。应当尽量靠近对象进行调整。例如,在尝试让图表居中时,应当在包含图表的数据块或表格单元上设置对齐。如前所述,使用 Ancestor 按钮是选择离需要调整的对象最近的容器的一种有效方式。

根据所需的功能,创建者需要确定使用数据块还是表格作为对象容器。表格更灵活,因为可以将行或列添加到现有表格,以快速调整布局。它们还同时支持水平和垂直对齐。表格无法控制内容溢出,所以如果内容的尺寸比容器大,它们会自动增加尺寸。这一行为会影响固定大小的仪表板的布局。而数据块不支持垂直对齐,但是它们可以通过变为可滚动区域或剪辑内容来控制溢出。

Background Effects & Images

创建者可以使用背景效果或图像来改善报告应用程序的视觉吸引力。重要的是要注意,要显露背景效果,需要将其应用到一个固定大小的区域。如果使用了相对大小,该区域的背景效果不会在 IBM Cognos Active Report 中显示。

使用数据卡片组时缩放图表轴的比例

在一个数据卡片组中使用图表且设置了大纲/细节关系时,属于每个图表的数据的最大值会大大不同。当遇到这种情况,且图表的比例在每个卡片上保持不变时,最终的图表就会变得难以辨认。图表属性所有实例的同一范围可用于解决这个问题。可以在图表的 Primary Axis 属性的 Axis Range 中找到属性。当不选择这一设置时,数据卡片组中每个图表的轴都会被按照该图表中包含的数据进行缩放。

特定于 iPad 的指导

相同的 IBM Cognos Active Report 可在标准 Web 浏览器中使用,也可由 IBM Cognos Mobile 本地 iPad 应用程序使用。如果特定报告应用程序的用例是以移动为中心的,且在 iPad 上得到频繁使用,那么就要将一些设计因素考虑在内来优化最终用户体验。

报表尺寸和大小

当报告应用程序的尺寸比 iPad 屏幕大时,它就变得可滚动。只需在报表上轻轻一滑,最终用户就可以查看报表超出屏幕范围的区域。如果创建者想让报表完全适合于 iPad 屏幕,那么应当将报表尺寸调整为 1024 x 704 像素。在使用这些尺寸时,页面正文的边距属性必须显式设置为 0,否则它会被默认设置为 2,报表会滚动。调整 iPad 屏幕大小可改善最终用户体验,因为整个报表将在任何给定时间可见。这些尺寸很好地传至桌面,然后可在多个平台上轻松使用报表。

在创建一个固定大小的报表时,规划报表布局并确保所有对象和容器的大小得到适当调整很重要。如前面几节所述,如果一个对象的尺寸大于其容器,容器会被推送出去,然后整个报表布局会受到影响。这意味着,必须向所有对象应用适当的大小调整,并在整个对象层次结构中普及,以便最大化屏幕不动产和避免滚动。如果不适当调整页面内包含的对象,仅仅将报告应用程序的页面大小调整为特定于 iPad 的大小不会得到想要的效果。

可滚动区域

在设计报告应用程序时,桌面常常将大型对象(比如列表)嵌入到启用了滚动功能的较小内容块中。这最大限度地减小了对总体屏幕不动产的影响,而且仍然能够让用户查看对象内包含的所有细节。在桌面上,这些可滚动区域可通过内容块上的滚动条加以识别。为了保持与已建立 iOS 导航标准的一致性,在 IBM Cognos Mobile 本地 iPad 应用程序中呈现时,报告应用程序上的可滚动区域没有可见的滚动条。另外,用于导航这些区域的 iOS 手势是一个双指滚动。该手势对于没有经验的 iPad 用户来说不是很直观,因此打算利用可滚动块的创建者应当确保其用户知道这个 iOS 手势。以下屏幕截图显示两个列表,其中包含 Product line、Product type、Quantity、Revenue 和 Gross profit。左边的列表是桌面视图,在 Gross profit 列的右边显示滚动条。右边的列表是 iPad 视图,在 Gross profit 列右边没有滚动条。

图 32 Desktop 和 iPad 之间可滚动区域之间的区别
图 32 Desktop 和 iPad 之间可滚动区域之间的区别

可触摸区域

要在 iPad 上使用报告应用程序时,一定要记住,可通过桌面上的鼠标轻松选择的项目可能在触摸界面上难以按下。对于标准 IBM Cognos Active Report 控件来说这不是什么问题,因为它们遵从 Apple 的 Human Interface Guidelines,但是在实现地图等对象时这很重要。在 iPad 上,地图上的小区域对于用户来说可能难以选择,因此也需要提供备用控件。一种简单的解决方案就是创建一个与地图具有相同选择选项的控件,比如下拉列表,以便让用户灵活地使用地图或列表来驱动其交互。

滑动手势

为了创建一个利用标准触摸界面交互的用户体验,可以在 Decks 或 Data Decks 上执行滑动手势。该功能辅以 Iterator 控件,可以配置该控件以页面点的形式出现,以指示当前选择。可以遵循以下流程来启用滑动效果并获取 Iterator 控件相应的页面指示符点状外观:

  • 确保 Iterator 和 Deck 由相同的值驱动
  • 创建一个用于控制选择的变量
  • 配置 Iterator 和 Deck 的 Interactive Behaviour,这样一来,每个控件都设置相同的变量 (Set Variable Values),且由相同的变量选择 (Container Select)
  • 在 Deck 上启用想要的 Slide Animation Direction 效果
  • 对于 Iterator 控件,确保将 Iterator First、Iterator Previous、Iterator Next 和 Iterator Last 属性设置为 Hide。应当仅将 Iterator Label Area 设置为 Show。
  • 选择画布上的 Iterator Label Area,并将 Select UI 属性设置为 Page Dots Indicator

用于创建可滑动 Data Deck 的详细分步说明如下,其中在单独的折线图中显示每个 Product line 的历史收入:

  1. 在 IBM Cognos Report Studio 内,创建一个新的空白 Active Report。
  2. 从可用的工具箱项中,将 Data Deck 对象拖放到报表画布上。
  3. 单击 Data Deck,并在 Properties 窗格的左下方,将 Miscellaneous 区域内的 Name 属性更改为 ProductLine_Data_Deck,并将 General 区域内的 Slide Animation Direction 属性更改为 Auto Horizontal。
  4. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格的左下方,找到 Miscellaneous 区域并将查询名称从 Query1 改为 Swipe_Deck_Query。
  5. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  6. 从可用的工具箱项中,按下右鼠标按钮并将 Data Iterator 对象拖放到报表画布上,将控件放在 Data Deck 下面。
  7. 释放右鼠标按钮之后,一个菜单出现。使用现有查询选择 Insert 选项。
  8. 当系统提示进行查询时,选择 Swipe_Deck_Query 并按下 OK 按钮。
  9. 单击 Data Iterator,并在 Properties 窗格的左下方,将 Miscellaneous 区域内的 Name 属性更改为 ProductLine_Data_Iterator。
  10. 在 Properties 窗格的左下方,找到 General 区域并设置:
    Iterator First to Hide
    Iterator Previous to Hide
    Iterator Label Area to Show
    Iterator Next to Hide
    Iterator Last to Hide
  11. 在报表画布中单击 Data Iterator 的 Label 区域,在 Properties 窗格左下方的 General 区域下,将 Select UI 属性更改为 Page Dots Indicator。
  12. 使用可用的源项, 填充 ProductLine_Data_Iterator Label 拖放区域的 GO Sales(query)\Sales(query)\Products\Product line。
  13. 从可用的数据项中,将 Product line 从 Swipe_Deck_Query 拖放到 ProductLine_Data_Deck 的 Values 拖放区域。
  14. 从可用的工具箱项中,找到 Chart 对象并将其拖放到名为 ProductLine_Data_Deck 的 Data Deck。
  15. 在 Insert Chart 对话框中,选择折线图并按下 OK 按钮。
  16. 单击 Chart,并在 Properties 窗格的左下方,将 Miscellaneous 区域内的 Name 属性更改为 ProductLine_Chart。
  17. 使用可用的源项,填充 Line Chart 对象,以 GO Sales(query)\Sales(query)\Products\Product line 作为 Series,GO Sales(query)\Sales(query)\Time\Year 作为 Categories,GO Sales(query)\Sales(query)\Sales\Revenue 作为度量值。
  18. 在 Query Explorer 选项卡内,单击 Query1。在 Properties 窗格的左下方,找到 Miscellaneous 区域并将查询名称从 Query1 改为 Chart_Query。
  19. 使用 Page Explorer 选项卡,单击 Page1 返回到报表视图。
  20. 选择 Chart 对象,在 Properties 窗格左下方的 Data 区域下,单击省略号选择 Master Detail Relationships 属性。
  21. 在 Master Detail Relationships 对话框内,单击 New Link 定义 Swipe_Deck_Query 与 Chart_Query 之间的关系。这应当会将 Swipe_Deck_Query \ Product line 链接到 Chart_Query \ Product line。
  22. 单击 OK 按钮提交关系,并返回到报表页面。
  23. 单击 Data Deck 右边的 Interactive Behavior 图标。
  24. 双击 Interactive Behavior 对话框的 Set Variable Values 区域。
  25. 选择 Create a New Variable 链接并创建一个名为 varProductLine 的变量,其数据类型是 String,默认值为 ‘Camping Equipment’。单击 OK 返回到 Set Variable Values 对话框。
  26. 对于 varProductLine,将 Value 字段从 Do not set 更改为 Product line,单击 OK 返回到 Interactive Behavior 对话框。
  27. 双击 Container Select 区域并从对话框左边的 Item 区域选择 Data Item 单选按钮。确保从下拉菜单中选择了 Product line。
  28. 将 Operator 下拉菜单中的值设置为 IN。
  29. 从对话框右边的 Item 区域选择 Active Report Variable 单选按钮,确保从下拉菜单中选择了 varProductLine。
  30. 单击 OK 三次,提交对 Data Deck 的交互行为的修改。
  31. 单击 Data Iterator 右边的 Interactive Behavior 图标。
  32. 双击 Interactive Behavior 对话框的 Set Variable Values 区域。
  33. 对于 varProductLine,将 Value 字段从 Do not set 更改为 Product line,单击 OK 返回到 Interactive Behavior 对话框。
  34. 双击 Container Select 区域并从对话框左边的 Item 区域选择 Data Item 单选按钮。确保从下拉菜单中选择了 Product line。
  35. 将 Operator 下拉菜单中的值设置为 IN。
  36. 从对话框右边的 Item 区域选择 Active Report Variable 单选按钮,确保从下拉菜单中选择了 varProductLine。
  37. 单击 OK 三次,提交对 Data Iterator 的交互行为的修改。
  38. 如果执行这个 IBM Cognos Active Report,它会显示 Camping Equipment 的收入的一个折线图。Data Iterator 会在图表下显示为 Page Dots Indicator。在桌面浏览器中,单击各种页面点会更改图表。在 IBM Cognos Mobile 本地 iPad 应用程序中使用这个相同的报表时,用户可以在图表上使用滑动手势过渡到下一个图表。

常见的 IBM Cognos Active Report 功能

IBM Cognos Active Report 控件的灵活性支持实现广泛的功能。以下几节将介绍利用标准控件提供引人注目的最终用户体验的常用技术。展现性能和相应报表规范的 IBM Cognos Active Report 输出包含在 ARFunctionality.zip 中。报表规范是从 GO Sales 数据集合 GO Sales (query) 包构建而来,因此 IBM Cognos 使用者可以打开 IBM Cognos Report Studio 中的报表并与之完全交互。

默认卡片

当控制 Deck 的选择的变量为空或与卡片名称不匹配时,那么可以使用一个默认的卡片将内容显示给用户。这有助于在用户做出有效选择之前显示摘要信息给用户。将 Deck 的属性面板中的 Default Card 属性改为 Yes 会启用默认卡片。在启用该功能时,一个新的 No Data Contents 图标出现在 Deck 上方。创建者可以选择该图标来查看默认卡片和报表对象。

利用 No Value List Item

在使用一个列表或下拉列表时,可以将一个额外项添加到报表。创建者能够控制显示的文本,且在选择该文本时,列表设置的变量会被清除。该功能可用于实现若干设计目标。例如,如果将列表选择项用于过滤一个对象,那么可以将额外项标为 Show All,且在选择它时,所有过滤会被移除。此外,它可用于选择卡片组中的一个默认卡片。要启用该功能,选择列表或下拉列表,并将 No Value List Item 改为 Show。

计算输出中的摘要

当最终用户动态过滤一个列表或交叉表时,Output 功能中的 Summarize 可用于聚合当前在被过滤对象中显示的数据。支持的聚合方法是总计、计数、平均值、最小值和最大值。可以通过 IBM Cognos Report Studio 工具栏上的 Summarize 菜单访问该功能。该功能会确保在最终用户与列表或交叉表交互时总是将正确的摘要信息呈现给最终用户。

可单击区域

有多个区域的对象可用于驱动交互性。Clickable Regions 属性可用于设置每个对象的哪些区域是可选的。菜单会调整,以反映每个对象的正确选项。

显示和隐藏列表列或交叉表的行和列

列表列的可见性可由变量控制。List Column Body Properties 面板中可访问的 Column Visibility 菜单允许创建者基于条件设置可见性。像 Check Box Group 这样的多选控件可用于控制列表中的哪些列可见。这能够让最终用户仅在屏幕上显示他们感兴趣的信息。同样地概念也可应用于隐藏和显示交叉表的行和列。该交叉表功能可以在 Crosstab Properties 面板的 Container Filter 菜单中访问。该功能在 Toggled List Column Display.mht 支持文件中有演示。

排序列表列

可以通过选择适当的列并将 Allow Sorting 属性改为 Yes 来启动列表列排序。这将允许用户来回切换排序的启用和禁用,同时支持升序和降序排序。

穿透钻取实时数据

穿透钻取功能可用于在线时按需向最终用户提供对更多细节的访问。该功能支持构建摘要级的仪表板,而不牺牲按需获取更多细节的能力。为了确保在穿透钻取时不丢失上下文,可以使用参数值或数据项值来填充目标报表中的提示性语言。为了设置穿透钻取功能,可以使用报表对象的 Properties 面板中的 Drill-Through Definitions 菜单。

可展开和可折叠的区域

为了节省屏幕不动产,报表创建者可以选择隐藏报告应用程序的一些区域。这种功能特别有助于显示或隐藏过滤标准或其他不常用的指标。为此,报表创建者可以在 Deck 的一个卡片上包含他们想要隐藏的信息,在同一个 Deck 上创建一个空白卡片。可以使用一个变量来确定是显示有内容的卡片还是空白卡片。当空白卡片被激活时,内容将不可见,且 Deck 旁边的对象会折叠到其位置。当将变量更改为选择有内容的卡片时,布局会调整,以揭示其他细节。该功能在 Hidden Report Regions.mht 支持文件中有演示。

禁用直至满足条件

创建者可以禁用控件或向最终用户隐藏内容,直至满足条件。当其他功能或细节仅会在特定项目被选中时才显示时,这一功能很有用。要基于条件禁用控件,可以使用 Interactive Behaviour 菜单中的 Control Enable 功能。要隐藏内容,直至满足条件,可以使用一个具有空白卡片的 Deck。另外,默认卡片可用于提示最终用户,如果他们做出合适的选择,会有更多信息可用。该功能在 Disabling Until a Condition is Met.mht 支持文件中有演示。

创建自定义内容按钮

IBM Cognos Active Report Button 控件为创建者提供一种简单的方式来实现一个标准外观的按钮。对于一些应用程序,创建者可以选择创建一个具有自定义外观的按钮。为此,可以使用一个 List 对象。为了创建一个按钮,会创建一个单元列表。做法就是在一个列表中包含一个数据项,然后选择 List Column Title 并将 Box Type 属性设置为 None。然后可以将单元的样式设置为背景色或图像,以创建想要的外观。可以将该功能包含在一个 Repeater Table 中来构建一系列按钮。该功能在 Custom Buttons.mhtRepeaters and Buttons.mht 支持文件中有演示。

级联提示控件

级联提示用于在有分层数据时与报告应用程序交互。级联提示允许最终用户以直观的方式渐进地过滤其数据,而不是展示一长串的项目并强制用户搜索其所需的选择项。要构建一个级联提示,必须根据在所有高级控件中做出的选择项来过滤每个控件。为此,所有高级项目必须包含在每个控件的 Values 部分,这样它们就出现在控件的查询中。创建者也可以选择是否想要允许用户立即从最低级别提示中选择一个值,或者他们是否想要在所有控件中强制选择。如果创建者想要强制选择,那么可以使用 Control Enable 功能。另外,创建者可以隐藏较低级别的提示控件,并通过将所有较低级别控件放入其自己的 Deck 中来实现渐进公开。然后可以使用默认卡片功能来选择何时向最终用户公开控件。使用该技术,还支持在 Decks 上使用动画来将其呈现给最终用户,比如在做出选择之后新控件滑入视图。该功能在 Cascading Prompt.mhtCascading Animated Prompt.mht 支持文件中有演示。

树控件

提供与级联提示类似的功能和优势来高效进行分层选择的一个替代项是树控件。树控件利用列表来显示选择选项的每个部分。选择层次结构的各个级别包含在独立的 Decks 中,且变量可用于过滤显示的列表,显示或隐藏 Decks 来提供所需的功能。该功能在 Tree Control.mht 支持文件中有演示。

创建一个滚动的关键指标区域

许多仪表板的焦点是一个关键指标区域,该区域提供给业务用户其关键绩效指标的高级视图。在 IBM Cognos Active Report 中,可以基于用户选择更新这些指标区域。为了实现该功能,应当将指标区域构建在由与选择控件一样的项目驱动的 Data Deck 中。为了让适当的值显示,应当使用一个 Text Item,将 Source Type 设置为 Data Item Value。然后应当将 Data Item Value 属性设置为会显示的度量值。为了让度量值作为 Data Item Value 属性中的一个选项出现,必须将它包含在 Data Deck 使用的查询中。该功能在 Top Metrics.mht 支持文件中有演示。

用户切换的条件样式

条件样式用于突出显示一个报表对象内的关注区域。通过提供给最终用户灵活性来控制条件样式的标准,他们可以快速在不同的可视绩效指标之间导航。例如,用户可以选择他们是否想要突出显示最佳或最差的表现者。为此,应当在一个卡片组的多个卡片上复制报表对象。然后应当将不同的条件样式应用于每个卡片上的对象。每个卡片的标题应当反映该卡片上的条件样式。然后应当将一个选择控件连接到允许用户选择他们想查看的条件样式的卡片组。该功能在 Toggled Conditional Styling.mht 支持文件中有演示。

滑动以可视化随时间的产生的增量

为了了解一个图表内的信息如何随时间发生变化,可以使用一个 Discrete Value Slider 来更新图表。为了实现该功能,应当将图表放在由预期时间段驱动的一个 Data Deck 中。一旦建立了适当的 Master Detail Relationship,可以将 Data Discrete Value Slider 连接到 Data Deck 来控制选择。如果 Data Discrete Values Slider 的 Update Variables Live 属性被设置为 Yes,那么图表会随着滑块的拖动而更新。该功能在 Sliding to Visualize Changes.mht 支持文件中有演示。

下钻细节

最终用户常常想要访问额外细节,且为了能够离线这么做,必须将一个下钻功能创建到报告应用程序中。不同级别的细节需要包含在独立的 Decks 或 Data Decks 中。在做出选择且用户想要下钻时,变量和 Default Card 功能用于隐藏当前 Deck 并显示包含较低级别信息的 Deck。该方法的一个优势是,在每一个级别上数据可以不同的形式表示。例如,可以在一个列表中显示 Product Line Revenue,当用户下钻到 Product Line 时,可以在 Bullet Chart 中对照计划值显示 Product Type Revenue。为了让用户导航回穿透钻取路径,应当留下一个浏览路径记录。这可由各种设置变量的控件组成,以便让用户返回到所需的细节级别。该功能在 Drill to Details.mht 支持文件中有演示。

可滚动的选择控件

如果包含很多选择选项,List Box、Check Box Group 和 Radio Button Group 控件会变得很大。为了节省屏幕不动产,创建者可以启用滚动,这样一来,在给定时间只有一部分选择项可见。在内容超出 List Box 的大小时,List Box 自动变得可滚动。Check Box Group 和 Radio Button Group 控件不会出现这种情况。为了在这些控件上启用滚动,应当将它们放在一个固定大小的内容块内,仅在需要时将 Overflow 属性设置为使用滚动条。可以在 Size & Overflow Property 对话框内找到 Overflow 属性。该功能在 Scrollable Control List.mht 支持文件中有演示。

可单击的分离型饼图

分离型饼图功能有助于提供选择的可视化表示。它还增加饼图上的交互式级别,改进最终用户体验。为了实现该功能,必须将饼图放在由与 Pie Chart Series 相同的项目支持的 Data Deck 中,以便为每个可能的分离型扇区生成一个独特的图表版本。Pie Chart 和 Data Deck 还必须使用不同的查询。为了确保在选择时分离了正确的扇区,必须在 Pie Chart 与 Data Deck 之间建立一个选择连接。此外,必须将 Pie Chart 的 Exploded Slices 属性设置为使用一个类似 [Pie Chart Query].[Pie Chart Series Item] = [Data Deck Query].[Pie Chart Series Item] 的表达式。该功能在 Exploding Pie Slice.mht 支持文件中有演示。

数据的滚动字幕

滚动字幕可用于被动地显示会持续在屏幕上滚动的关键指标或信息。这为最终用户提供一个类似股票行情自动收录器的体验。为了实现这一点,应当在 Repeater 控件内构建一个所需的字符串。可以通过使用以 Text、Data Item Value 或 Data Item Label 作为 Source Type 的多个 Text Item 控件来构建字符串。然后应当将 Repeater 放在一个具有 HTML 项的固定大小的内容块中。HTML 项中的 HTML 应当是 ‘<marquee>’,且应当将 Block Overflow 设置为内容已剪辑。该功能在 Scrolling Marquee.mht 支持文件中有演示。

嵌入式视频

报告应用程序可以为最终用户显示视频内容。该功能启用了一个 HTML 项。HTML Item 描述将显示视频和视频源的帧的大小。用户必须在线才能使用视频。该功能在 Embedded Videos.mht 支持文件中有演示。

绝对定位的内容

使用固定大小构建一个仪表板时,可以叠加其他报表对象。例如,在选择一个地图上的不同区域时,在该位置上可以叠加一个提供其他细节的图表。为了实现这一点,使用描述对象的绝对像素位置的 HTML Items。HTML 设置对象的基本位置,然后基于在报告应用程序中做出的选择;HTML 可以偏移对象的位置,使其出现在合理的位置。该功能在 Absolutely Positioned Content.mht 支持文件中有演示。


创建一个 IBM Cognos Active Report 仪表板

以下几节将向用户逐步介绍设计 IBM Cognos Active Report 时应遵循的流程。会提供一个基本的示例来说明工作流。

用例

Great Outdoors Company 的销售副总裁 Ed 负责在全球扩大公司的市场份额。Ed 密切监视通过公司的主销售渠道产生的收入,并直接监督一个负责区域增长的 Territory Managers 团队。他将大部分时间用在出行和会见重要客户。在出行中,Ed 需要能够监控其销售组织的绩效,以确保公司达到了其增长目标。他越来越多地使用 iPad 来满足其所有通信需求,特别是在旅行时。Ed 需要能够访问足够的细节,这样才能确认需关注领域,然后委托其管理团队做进一步分析。

确认需求并选择技术

在收到用例之后,创建者必须评估仪表板的关键需求,然后选择最适合于解决业务问题的 IBM Cognos 技术。在将 IBM Cognos Active Report 作为一个潜在解决方案加以评估时,为了确保一个成功的部署,应当根据解决方案的主要特性评估用例。这个场景的关键方面是:

  • 业务问题:销售副总裁需要能够根据公司的目标监控公司绩效。Ed 需要能够快速识别可能对公司收入产生负面影响的任何新兴趋势,并及时采取纠正措施。
  • 解决方案的关键特性:
    • 摘要级别:Ed 负责全球销售,且需要摘要级数据。Ed 不自己进行分析。相反,他选择将这个工作交给 Territory Managers。
    • 可移植:Ed 将大部分时间用在出行上,这意味着他将需要能够从移动设备上访问他的 BI 信息。此外,Ed 可能无法获得一个一致的网络连接,因此离线使用内容的能力很重要。

在这种情况下,对一个可移植离线解决方案的需求使得 IBM Cognos Active Report 成为一个理想解决方案。此外,由于 Ed 处理摘要级别的数据,他每天需要的所有信息都可包含在一个高性能报告应用程序中。

设计仪表板

为了简化总体的仪表板创建过程,创建者应当在开始收集之前仔细规划出仪表板的设计。

识别解决业务问题需要的信息

在将 IBM Cognos Active Report 确定为一个合理的解决方案之后,创建者必须确定应当将什么信息包含在仪表板中来解决业务问题。只有每天会用到的信息才应包含在报告应用程序中。其他不会经常访问的详细数据应编排到一个单独的报表中,这个报表将是来自高级仪表板的穿透钻取目标。这将预防报告应用程序变得不必要地大。

另一个要考虑的因素是数据的时间敏感性,以及它如何关联到用例和部署场景。例如,如果将仪表板安排为 Ed 每个周五接收一个新版本,但是据悉他通常每天都会跟踪完成的交易,那么应当使用穿透钻取功能来让已完成交易的信息变得可访问,这样他就总是能在访问该部分报表时获得最新的信息。

确定布局

首先需要做的第一个决策是,为报告应用程序使用什么布局策略。该需求应当由用例驱动。例如,如果用例以 iPad 为中心,那么布局应当是一个 1024 x 704 的固定大小,以提供最佳用户体验。如果用例是为了让桌面使用量占主导地位而进行广泛分发,那么最好使用一个使用相对大小的布局。这很可能需要创建一个这样的报告应用程序,即需要通过滚动来在 iPad 上显示屏幕外的内容,但是桌面显示器上的体验会得到优化。创建者必须在谨慎考虑需求的情况下做出这一决策,因为它会影响最终用户体验。在这个场景中,最终用户经常出行,因此特定于 iPad 的大小将用作布局策略。

在开始构建仪表板之前,建议创建者创建布局草图,以更好地了解仪表板的总体性能。仪表板的提议布局在下图中显示。该仪表板突出显示 Ed 的主要关注区域:区域销售、相对于计划的绩效和渠道销售。就像该仪表板一样,单个分析区域通常被分隔到具体的部分,以供轻松导航。该布局在仪表板顶部使用一个按钮栏,以在报表的两个主要部分之间导航:Sales Overview 和 Channel Analysis。

Sales Overview 部分中的交互性由左上角的一个分离型饼图来驱动。该饼图显示按产品线细分的收入,当最终用户选择饼图的一个扇区时,其余内容会更新,以显示有关选定产品线的其余细节。直接位于饼图下方的关键指标区域向用户提供高级信息,包括选定产品线的收入、计划收入、数量和总利润。一经选择,指标区域会垂直滚动,以提供给用户一个视觉提示,即数据已更新。另外还使用条件格式来吸引最终用户对需关注领域的注意。两外有两个图形垂直堆叠在饼图右边,显示时序以及选定产品线的实际收入和计划收入的地理对比。

Channel Analysis 部分包含一个覆盖仪表板上半部分的摘要级列表,下面的更详细的图表基于用户在列表中选择的渠道进行更新。列表将包含一个显示逐季度收入的迷你折线图和一个显示渠道收入相对于计划的绩效的项目符号图。列表中的其他数据将包含单位成本、单价、收入、计划收入和总利润。详细的图表会显示计划收入与物理收入的地理对比以及选定渠道的产品线收入的时序。可以使用滑动手势在 iPad 上导航底部的图表,当前显示的渠道会在列表中突出显示。带有 Page Dot Indicators 的 Iterator 控件会被放在图表下方,以提供一个表示滑动已启用的视觉提示。

图 33 IBM Cognos Active Report 仪表板的拟定布局
图 33 IBM Cognos Active Report 仪表板的拟定布局

应当与重要利益相关者就仪表板提案的内容、布局和细节级别进行交流。如果在设计迭代过程开始之前商定了核心功能,那么创建工作将大大减少。

构建仪表板

一旦敲定了所要的布局和功能,就可以开始构建仪表板了。仪表板的构建可分为若干步骤。

构建布局并添加控件

开始构建布局时首先要考虑的就是在哪里使用 Decks,以及它们会提供什么交互性。例如,在按钮栏用于主要区域之间的导航时,这时需要使用 Deck 来支持这一功能。一个标准的 Deck 会被用到,因为据知有两个独特的区域,每个区域都构建于其自己的卡片之上。如下图所示,在 Sales Overview Card 上有三个独立的 Data Decks 用于实现所需的功能。这三个 Decks 都将是 Data Decks,因为它们都需要为 Product Line 的每个成员提供一个独特的视图。

  • Pie Chart Deck:该卡片组仅包含饼图,且其目的是启用分离型饼图来显示当前选择的是哪个产品线。在该卡片组上不启用任何动画,因为对于最终用户来说,他们选择的扇区似乎立即弹出来。
  • Metrics Deck:该数据卡片组包含关键指标区域的数值。它在一个单独的卡片组中,因为会在这部分报表上使用垂直动画来提供一个表明内容已更新的视觉提示。指标的标题不包含在数据卡片组中,以预防标题在选择项上启用动画。
  • Detailed Charts Deck:该数据卡片组在饼图右边包含详细图表。为了实现所需的报表布局,它们在一个单独的卡片组中。在该卡片组上将不启用动画,因此这些图表似乎会适当地更新。
图 34 Sales Overview Card 的卡片组布局
图 34 Sales Overview Card 的卡片组布局

对于 Channel Analysis Card,只需要一个卡片组。如下图所示,摘要列表下方的详细图表需要一个数据卡片组。使用数据卡片组是因为 Sales Channel 的每个成员都需要独特的内容。会在该卡片组上启用 Auto Horizontal 动画来支持 iPad 滑动功能。

图 35 Channel Analysis Card 的卡片组布局
图 35 Channel Analysis Card 的卡片组布局

确定所需的卡片组之后,现在便可以构建报表布局了。为了实现所需的布局,应当使用表格和数据块。在该场景下,使用表格是因为它们更灵活,且该仪表板不需要任何可滚动区域。如下图所示,布置报表的第一步就是创建一个将仪表板划分为其主要部分的表格。在这种情况下,这个表格有三行一列。第一行将存放标题文本,第二行包含选择可视部分的按钮栏,第三行将存放包含卡片上每个主要部分的卡片组。

图 36 主要仪表板布局表
图 36 主要仪表板布局表

每个主要部分的内容现在可以在卡片组中其自身的卡片上进行安置。为了创建所需的布局,有必要将表格嵌入卡片组或表格单元格中。如下图所示,Sales Overview Card 右边的详细图表的放置方式可以是,首先将卡片划分为一个两列一行的表格。然后可以填充数据卡片组右边的列,以支持所需的交互性。该数据卡片组在其卡片上将放置一个两行一列的表格。每个表格单元格上会放一个图表,这能够让详细图表的方向固定。该流程可用于放置所需的其余对象到仪表板上。

图 37 Sales Overview Card 上详细图表的布局
图 37 Sales Overview Card 上详细图表的布局

设置功能

一旦合理放置了对象和控件,就可以将交互性创建到报告应用程序中。在构建和测试交互性时应当利用全文提供的创作指南和最佳实践。

在实现所需的交互性之后,应当再次与利益相关者就仪表板进行交流。

应用合适的大小

在完成布局和功能之后,应当向仪表板中的对象应用固定大小,以确保报告应用程序适合 iPad 屏幕。在确定报告应用程序总体大小为 1024 x 704 像素之后,需要确定单个对象大小,以便优化屏幕不动产的使用。大小调整应当同时应用于对象及其容器。在执行这一练习时考虑间距也很重要。例如,可以调整 Sales Overview Card 的详细图表部分,以便每个图表为 350 x 200 像素,且包含每个图表的表格单元格为 375 x 225 像素。然后可以在表格单元格中将图表居中对齐,以在对象之间提供适当的间距。然后将需要调整包含这些对象的卡片组的大小,以匹配其中的表格。该卡片组的总大小原本会是 375 x 450,因为图表是垂直排列的。然后该卡片组的大小向上扩展,以驱动其容器的大小,且该过程会持续到所有对象和容器的大小得到合理调整为止。

在开始调整对象大小之前,返回到仪表板的原始草图并对所有对象应用粗略的大小调整很有用。这将确保所有大小总计达到正确的值,且在将大小调整硬编码到报告应用程序中之前可以制定屏幕不动产决策。

样式化仪表板

仪表板的样式化应当是创建 IBM Cognos Active Report 时的最后一项任务。应当向所有控件、数据、布局对象、图像、图标和文本应用一致的外观。出于很多原因,应当使用类、模板和布局组件引用对象。这些对象会减少应用和调整样式所需的时间,也会提供一个可供其他报表重用的设计样式库。类还有另外一个好处,一经使用,它们会减小 MHT 输出文件的大小,这会缩短网络间的传输时间以及浏览器或 IBM Cognos Mobile iPad 应用程序中的加载时间。


下载

描述名字大小
本文样例脚本IBM_Cognos_Active_Report_Supporting_Files-MHT.zip5,605KB

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=810484
ArticleTitle=IBM Cognos 最佳实践: IBM Cognos Active Report 10.1.1 秘籍
publish-date=05302012