cognos制作动态报表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cognos支持三种类型的变量:字符串变量,布尔变量和语言变量。以下的三小节将分别介绍使用这三种变量制作动态报表的过程。
使用字符串变量制作动态报表
在2.1 节中,我们将介绍简单的使用字符串变量的制作动态报表的过程。我们希望实现根据项目状态的取值,动态显示报表中“项目状态”单元格的背景颜色:当项目状态为R(Red) 时,项目状态单元格的背景显示为红色;当项目状态为Y(Yellow) 时,项目状态单元格的背景显示为黄色;当项目状态为G(Green) 时,项目状态单元格的背景显示为绿色;当项目状态为C (Complete) 时,项目状态单元格的背景显示为蓝色。
步骤1. 打开变量编辑窗口。点击Explorer Bar 上的Condition Explorer。点击弹出页面中的Variables。见图1。
图 1. 打开变量编辑窗口
步骤2. 创建字符串变量。将Insertable Objects 中的字符串变量(String Variable)拖拽到Variables 部分。见图2。
图 2. 创建字符串变量
步骤3. 定义字符串变量表达式。在将字符串变量拖拽到Variable 的过程中,系统会自动弹出变量表达式编辑窗口。在编辑窗口的左侧列出了可用于表达式的各种组件和数据项。可以通过拖拽的方法选择所需的数据项组合成变量表达式。以下的例子中,我们设定一个简单的变量表达式,这个变量表达式就等于报表中项目状态
(PROJECT_STATUS)。见图3。
图 3. 定义字符串变量表达式
步骤4. 为字符串变量表达式赋值。选中字符串变量String 1,点击Values 框下面的添加(Add)图标,在弹出的对话框中,输入希望添加的变量值,如R (Red),然后点击OK 按钮。此变量值就会被添加到Values 的列表中。可以通过重复以上步骤,添加其他变量值。根据之前的描述,我们需要R (Red), Y (Yellow), G (Green), C (Complete) 四个变量值。见图4。
图 4. 为变量表达式赋值
步骤5. 为字符串变量命名。在页面左下角的变量属性编辑窗口中,可以对创建的字符串变量进行重命名。在例子中,我们将变量重命名为Project_Status. 见图5。
图 5. 为字符串变量重命名
步骤6. 打开需要绑定变量的报表。点击Explorer Bar 上的Page Explorer,点击打开需要编辑的报表。见图6。
图 6. 打开需要绑定变量的报表
步骤7. 首先点击选中报表中需要与变量绑定的元素。然后在左下角的属性编辑窗口中,点击Style Variable 一项的编辑按钮,在弹出的窗口中,选择之前定义好的条件变量Project_Status。见图7。
图7. 将报表中元素与字符串变量绑定
步骤8. 为变量的不同取值设置相应的显示格式。点击Explorer Bar 上的Condition Explorer, 在变量Project_Status的取值列表中选择一个取值,如,点击G。设置此取值对应的显示格式,如,Project_Status单元格背景颜色显示为绿色。在选定取值的情况下设置的显示格式会自动和该取值相关联。重复以上步骤,设置其他取值下的显示格
式。有一点需要注意,设置完特定的取值对应的显示格式后,选取None 值,检查报表在不满足任何变量取值下的显示格式,确保报表可以正常显示。见图8。
图8. 为变量的不同取值设置相应的显示格式
使用布尔变量实现报表的动态显示
本节介绍如何利用布尔变量实现报表的动态显示。我们希望根据用户输入的值,显示或者隐藏列表中的某一列。在以下的例子中,报表按照部门展示各部门员工人数,包括Regular 人数和Vendor 人数。用户运行报表的时候可以选择是否显示Vendor 人数一列。
步骤1. 创建用于接收用户输入值的参数。在报表提示页面创建一个值提示,命名为Display_para,点击完成按钮。见图9。
图9. 创建参数
步骤2. 创建布尔变量。在提示页面选中值提示,在左侧的属性编辑窗口中,打开Static Choices 编辑窗口,在Variable 的下拉菜单中,选择新建布尔变量。并将布尔变量命名为Display_bool。
图10. 创建布尔变量
步骤3. 定义布尔变量表达式。在可用参数(Parameters)列表中,选择在步骤 2 中创建的参数Display_para。将Display_para拖拽到右侧的表达式定义(Expression Definition)窗口中,并参照图11 定义表达式内容。
图11. 定义布尔变量表达式
步骤4. 为布尔变量赋值。布尔变量的两个Use 值是Yes 和No,表示布尔变量真假两种状态。而我们在参数中显示给用户的则是Display 值“要”和“不要”。定义Use 值和Display 值的对应关系,使得布尔变量能接收用户选择的“要”或者“不要”,按照对应关系,转化成布尔变量Yes 和No,即布尔变量真假两种状态。
图12. 为布尔变量赋值
步骤5. 将报表中的Vendor 列与布尔变量绑定。打开报表编辑页面,选中Vendor 列,在列属性编辑窗口中,打开Render Variable 编辑窗,在Variable 列表中选择之前创建的布尔变量Display_bool。
图13. 将报表中指定的列与布尔变量绑定
步骤6. 报表在不同选择值下的运行结果。
图14. 报表在不同选择值下的运行结果
使用语言变量实现报表的全球化
2.3 节介绍如何利用报表语言变量实现报表的多语言显示。我们希望根据运行时用户的语言,实现同一报表对不同语言用户的不同显示:当用户运行语言为中文时:报表中的字符串显示为“中文”;当用户运行语言为英文时:报表中的字符串显示为“English”。
步骤1. 打开变量编辑窗口。点击Explorer Bar 上的Condition Explorer。点击弹出页面中的Variables。
步骤2. 创建语言变量。讲Inerstable Objects 中的语言变量(Language Variable)拖拽到Variables 部分。见图9。
图15. 创建变量语言
步骤3. 选择报表用户所在国家的语言。如:选择中文和英文。见图10。
图16. 选择语言