用户需要按月查看销售情况,以及月销量之间的移动差。如果差量为负值(销量下降),那么需要将其显示在括号中,并为红色。
准备工作…
使用Time Dimension | Current year, Time Dimension | Current month 和 Sales fact | Quantity作为列表的列创建一张简单的列表。在Current year上应用分组,并升序排列Current month。
如何实施…
1. 向列表中添加一个新的query calculation,定义其表达式为:
running-difference([Quantity])
命名此项目为“Running Difference”。
2. 从属性列表中,打开此calculation的Data Format属性。
3. 设置Format type为Number,并且设置Negative Sign Symbol为括号()。
4. 转到Condition Explorer,创建一个布尔型变量,定义其条件为:
[Query1].[Running Difference] < 0
5. 命名此变量为“Show_Red”。
6. 回到报表页面,选中Running Difference列,从属性列表中分配Show_Red变量为其Style Variable。
7. 转到Condition explorer,选中Show_Red变量的Yes条件,然后选中列表中的“Running Difference”列,并打开其字体属性。
8. 设置字体颜色为红色。
9. 点击OK按钮。双击绿条跳出条件。运行并测试报表。
移动差(Running difference)
此例的其中一个目的是向大家介绍Cognos提供的强大的聚合函数。Running-difference函数返回当前行和前一行数值之间的差值,并且我们可以控制此聚合函数的范围和层级。此例中,我们将此聚合的范围和层级设置为默认。
Report Studio还提供了一些类似的函数,如Running-maximum,Running-count,Running-total等。他们在真实的业务场景中很有用。
把负值用红色显示在括号中(Showing negative values in red and brackets)
传统上,微软的Excel表格是使用最广泛的信息存取工具。它很好用,并且向用户提供了足够强大的功能以实现需要的分析。它允许我们把负值用红色显示在括号中。这在财务报表中很常见。
然而,Report Studio的Data Format选项只提供在括号中显示负值的选项,不能为其制定颜色。因此,我们在此处创建一个条件变量并相应的定义其对应的文本的颜色。