技术开发 频道

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

【IT168 技术】  IBM Cognos 商业智能系列软件提供了专业报表的制作平台,尤其在报表之间的关联分析上有着很强大的功能。本文从基于条件的动态报表制作和报表之间的穿透钻取两个方面介绍如何用 IBM Cognos 商业智能软件制作出专业的报表。

  基于条件制作动态报表

  在使用报表时,用户往往希望某些“异常数据”能够突出显示,以便其更快速了解数据的总体状态。如: 性能数据一旦超过设定的阀值,则突出显示为黄色或者红色;在其他情况下显示为绿色。IBM Cognos Report Studio 就提供了这样一种机制,在用户生成报表的时候,能够自动根据开发人员事先设定好的条件以及显示格式,对报表进行动态显示。

  在制作基于条件的动态报表时,需要注意三要素。第一个要素是条件,条件是用以判断的规则,通常为一个变量表达式及其一系列取值,如,上面的性能数据超过阀值。第二个要素是用于和条件绑定的特定数据项 (Data Item),条件表达式只有和具体的数据项相关,以数据项运行时的取值作为条件输入,才能达到动态显示报表的目的,如,上面提到的性能数据。第三个要素条件格式,即在条件表达式的某一特定取值下,报表显示的格式,如字体,颜色,阴影等。总得来说,基于条件的动态报表的实现就是根据某特定数据项在报表运行时的取值,计算变量表达式的取值,并根据变量表达式的取值,决定报表的显示格式。

  Cognos 支持三种类型的变量:字符串变量,布尔变量和语言变量。以下的三小节将分别介绍使用这三种变量制作动态报表的过程。

  使用字符串变量制作动态报表

  在 2.1 节中,我们将介绍简单的使用字符串变量的制作动态报表的过程。我们希望实现根据项目状态的取值,动态显示报表中“项目状态”单元格的背景颜色:当项目状态为 R(Red) 时,项目状态单元格的背景显示为红色;当项目状态为 Y(Yellow) 时,项目状态单元格的背景显示为黄色;当项目状态为 G(Green) 时,项目状态单元格的背景显示为绿色;当项目状态为 C (Complete) 时,项目状态单元格的背景显示为蓝色。

  步骤 1. 打开变量编辑窗口。点击 Explorer Bar 上的 Condition Explorer。点击弹出页面中的 Variables。见图 1。

  图 1. 打开变量编辑窗口

图 1. 打开变量编辑窗口

  步骤 2. 创建字符串变量。将 Insertable Objects 中的字符串变量(String Variable)拖拽到 Variables 部分。见图 2。

  图 2. 创建字符串变量

图 2. 创建字符串变量

  步骤 3. 定义字符串变量表达式。在将字符串变量拖拽到 Variable 的过程中,系统会自动弹出变量表达式编辑窗口。在编辑窗口的左侧列出了可用于表达式的各种组件和数据项。可以通过拖拽的方法选择所需的数据项组合成变量表达式。以下的例子中,我们设定一个简单的变量表达式,这个变量表达式就等于报表中项目状态(PROJECT_STATUS)。见图 3。

  图 3. 定义字符串变量表达式

图 3. 定义字符串变量表达式

  步骤 4. 为字符串变量表达式赋值。选中字符串变量 String 1, 点击 Values 框下面的添加(Add)图标,在弹出的对话框中,输入希望添加的变量值,如 R (Red),然后点击 OK 按钮。此变量值就会被添加到 Values 的列表中。可以通过重复以上步骤,添加其他变量值。根据之前的描述,我们需要 R (Red), Y (Yellow), G (Green), C (Complete) 四个变量值。见图 4。

  图 4. 为变量表达式赋值

图 4. 为变量表达式赋值

  步骤 5. 为字符串变量命名。在页面左下角的变量属性编辑窗口中,可以对创建的字符串变量进行重命名。在例子中,我们将变量重命名为 Project_Status. 见图 5。

  图 5. 为字符串变量重命名

图 5. 为字符串变量重命名

  步骤 6. 打开需要绑定变量的报表。点击 Explorer Bar 上的 Page Explorer,点击打开需要编辑的报表。见图 6。

  图 6. 打开需要绑定变量的报表

图 6. 打开需要绑定变量的报表

  步骤 7. 首先点击选中报表中需要与变量绑定的元素。然后在左下角的属性编辑窗口中,点击 Style Variable 一项的编辑按钮,在弹出的窗口中,选择之前定义好的条件变量 Project_Status。见图 7。

  图 7. 将报表中元素与字符串变量绑定

图 7. 将报表中元素与字符串变量绑定

  步骤 8. 为变量的不同取值设置相应的显示格式。点击 Explorer Bar 上的 Condition Explorer, 在变量 Project_Status 的取值列表中选择一个取值,如,点击 G。设置此取值对应的显示格式,如,Project_Status 单元格背景颜色显示为绿色。在选定取值的情况下设置的显示格式会自动和该取值相关联。重复以上步骤,设置其他取值下的显示格式。有一点需要注意,设置完特定的取值对应的显示格式后,选取 None 值,检查报表在不满足任何变量取值下的显示格式,确保报表可以正常显示。见图 8。

  图 8. 为变量的不同取值设置相应的显示格式

图 8. 为变量的不同取值设置相应的显示格式

  使用布尔变量实现报表的动态显示

  本节介绍如何利用布尔变量实现报表的动态显示。我们希望根据用户输入的值,显示或者隐藏列表中的某一列。在以下的例子中,报表按照部门展示各部门员工人数,包括 Regular 人数和 Vendor 人数。用户运行报表的时候可以选择是否显示 Vendor 人数一列。

  步骤 1. 创建用于接收用户输入值的参数。在报表提示页面创建一个值提示,命名为 Display_para,点击完成按钮。见图 9。

  图 9. 创建参数

图 9. 创建参数

  步骤 2. 创建布尔变量。在提示页面选中值提示,在左侧的属性编辑窗口中,打开 Static Choices 编辑窗口,在 Variable 的下拉菜单中,选择新建布尔变量。并将布尔变量命名为 Display_bool。

  图 10. 创建布尔变量

图 10. 创建布尔变量

  步骤 3. 定义布尔变量表达式。在可用参数(Parameters)列表中,选择在步骤 2 中创建的参数 Display_para。将 Display_para 拖拽到右侧的表达式定义(Expression Definition)窗口中,并参照图 11 定义表达式内容。

  图 11. 定义布尔变量表达式

图 11. 定义布尔变量表达式

  步骤 4. 为布尔变量赋值。布尔变量的两个 Use 值是 Yes 和 No,表示布尔变量真假两种状态。而我们在参数中显示给用户的则是 Display 值 “要”和“不要”。定义 Use 值和 Display 值的对应关系,使得布尔变量能接收用户选择的“要”或者“不要”,按照对应关系,转化成布尔变量 Yes 和 No,即布尔变量真假两种状态。

  图 12. 为布尔变量赋值

图 12. 为布尔变量赋值

  步骤 5. 将报表中的 Vendor 列与布尔变量绑定。打开报表编辑页面,选中 Vendor 列,在列属性编辑窗口中,打开 Render Variable 编辑窗,在 Variable 列表中选择之前创建的布尔变量 Display_bool。

  图 13. 将报表中指定的列与布尔变量绑定

图 13. 将报表中指定的列与布尔变量绑定

  步骤 6. 报表在不同选择值下的运行结果。

  图 14. 报表在不同选择值下的运行结果

图 14. 报表在不同选择值下的运行结果

  使用语言变量实现报表的全球化

  2.3 节介绍如何利用报表语言变量实现报表的多语言显示。我们希望根据运行时用户的语言,实现同一报表对不同语言用户的不同显示:当用户运行语言为中文时:报表中的字符串显示为“中文”;当用户运行语言为英文时:报表中的字符串显示为“English”。

  步骤 1. 打开变量编辑窗口。点击 Explorer Bar 上的 Condition Explorer。点击弹出页面中的 Variables。

  步骤 2. 创建语言变量。讲 Inerstable Objects 中的语言变量(Language Variable)拖拽到 Variables 部分。见图 9。

  图 15. 创建变量语言

图 15. 创建变量语言

  步骤 3. 选择报表用户所在国家的语言。如:选择中文和英文。见图 10。

  图 16. 选择语言

图 16. 选择语言

  步骤 4. 为字符串变量命名。在页面左下角的变量属性编辑窗口中,将变量重命名为 Language_cn_en 见图 11。

  图 17. 为语言变量重命名

图 17. 为语言变量重命名

  步骤 5. 打开需要绑定变量的报表。点击 Explorer Bar 上的 Page Explorer,点击打开需要编辑的报表。

  步骤 6. 首先选定报表中需要和语言变量绑定的字符串。然后左下角的属性编辑窗口中,点击 Text Source Variable 一项的编辑按钮,在弹出的窗口中,选择之前定义好的语言变量 Language_cn_en。见图 12。

  图 18. 将文本与语言变量绑定

图 18. 将文本与语言变量绑定

  步骤 8. 设置不同语言下的显示内容。点击 Explorer Bar 上的 Condition Explorer,在 Variable Language_cn_en 的取值列表中选择一个取值,如,点击 Chinese。设置此取值对应的显示内容,如,”中文”。重复以上步骤,设置其他语言下的显示内容。见图 13。

  图 19. 设置不同语言下的显示内容

图 19. 设置不同语言下的显示内容

  步骤 9. 设置运行时的语言。点击运行按钮旁边的下拉列表,点击运行选项 (Run Options),在语言(Language)一栏中选择中文 (Chinese)。见图 14。

  图 20. 设置报表运行时的语言

图 20. 设置报表运行时的语言

  步骤 10. 以不同的语言运行报表。设置了报表运行时的语言后,点击运行按钮。见图 15。

  图 21. 报表在不同语言下的运行结果

图 21. 报表在不同语言下的运行结果

0
相关文章