用户需要按年和季度查看公司的销售数量,并且想高亮显示所有低于5,000,000的销售条目。
我们假定数据库向我们提供了“Quarter number”,而我们需要将其转化为文本。我们将使用条件样式实现此需求。同时,销售小于5百万的单元格将使用另一条件变量,并显示为红色。
准备工作…
使用Sales | Time Dimension | Current year,Sales | Time Dimension | Current Quarter和Sales Fact | Quantity作为列创建一张简单的报表。按Current year分组并排序。
如何实施…
1. 转到Condition Explorer,点击Variables。
2. 从Insertable Objects窗格中,拖拽一个string variable到工作区。定义其表达式为:
[Query1].[Current quarter]
3. 修改此变量的名称为Convert_to_words。
4. 为此变量添加4个值,依次为1、2、3、4。
5. 添加一个Boolean variable,并定义其为:
[Query1].[Quantity]<5000000。
6. 修改此变量名称为Show_Red。
7. 转到report page并选中Current quarter列。设置其文本源变量(Text source variable)属性为Convert_to_words。
8. 选中Quantity列,设置其样式变量(Style Variable)属性为Show_Red。
9. 从Conditional Explorer中,依次点击Convert_to_words变量的每个值,按照以下的方法设置每个变量值对应的文本:
选中参数值 1 ,从工具栏中点击unlock图标,双击Current quarter列下的“Double click to edit”文本,编辑其值为“First Quarter”。
编辑参数值2、3、4对应的文本。
10. 从Conditional explorer中点击Show_Red的Yes,然后选中Quantity列并设置其背景色为Red。
11. 运行并测试报表。
工作原理…
这里我们定义“Conditional variables”来捕获特定的条件,并在相应的行上执行要求的动作。共有三种条件变量:String,Boolean和Report language variable。
字符串变量(String variable)
此类型的变量允许开发人员定义所有变量表达式可能生成的所有值。当然,我们仅仅需要定义那些我们需要在其上应用特定格式或文本的值,剩下的就交给“Other”条件了。
布尔型变量(Boolean variable)
此变量用在变量表达式的值只为“真”或“假”的情况。我们需要相应的为条目应用格式。
报表语言变量(Report language variable)
此变量返回用户运行所运行报表的语言。我们不必为此变量定义任何表达式,只需要简单的为我们需要执行的动作选择语言(比如用相应的语言显示标题,或者在表头显示各自国家的国旗等)。
此例,我们使用了字符型变量和布尔型变量。
更多…
样式变量属性
通过为此属性分配一个变量,我们可以控制对象的样式,比如:字体、颜色、数据格式、能否可见等等。
文本源变量属性
通过为此变量分配一个属性,我们可以控制对象显示文本/数值。我们可以使用静态文本或者报表表达式,或者在选中的对象上显示另外项目的值或者标签。
此例中,我们使用此属性显示了合适的季度名称。请注意,我们可以使用CASE语句实现同样的效果。此处,是为了向大家展示此属性的用法。