Report Studio进阶技巧六、把数张报表放在一个条件块中

浏览: 2174

此例的目的是向大家介绍一个非常有用非常强大的报表控制工具:Conditional block

用户需要一张销售数量的报表,并且希望按照不同的维度,如:product linesperiods,或者retailer region显示数据。每次使用一个维度。为了使用方便,他们不希望有三张不同的报表,而是希望在一张报表中,通过切换的方式看到三种类型的数据。

 

准备工作

 

新建一张拥有3个列表对象的报表。定义报表的列如下:

List 1: Product | Product lines and Sales fact | Quantity.

List 2 :Time dimension | Current year, Time dimension | Current month and Sales fact | Quantity.

List 3: Retailer site | Region and Sales fact | Quantity.

为所有报表对象定义合适的分组、排序和聚合。确定所有的报表对象使用不同的查询。

Clipboard Image.png

如何实施

 

1. 我们从创建一个用于报表类型的prompt开始。转到Page Explorer并添加一个prompt page

2. 添加一个value promptprompt page工作区。定义参数名称为paramReportType。请注意,此处不需要定义任何过滤,使用值或者显示值。

3. 选中此value prompt,从属性列表中打开Static Choice属性。

4. 定义3个静态选项,如下图所示。

Clipboard Image.png

5. 转到Condition Explorer,新建一个String Variable。定义其表达式为:

ParamValue('paramReportType')

6. 为此变量添加3个值:BDBPBR。修改变量名为ReportType

7. 转到report page,添加一个Conditional block到报表工作区。

8. 选中此conditional block,并从属性栏中打开Block Variable对话框。从下拉列表中选择ReportType变量,然后点击OK

Clipboard Image.png

9. 从属性框中选择BPcurrent block。选中按products显示sales quantity的第一个列表,并拖拽其到conditional block内(此处,我们需要用到Ancestor按钮以选中整个列表)。

10. 修改此conditional blockcurrent block属性为BD,拖拽“Salesman by Periods”列表到conditional block中。

11. 重复对BP和最后一张报表应用以上操作。

12. 在报表头部,选中“Double click to edit text”,修改其Source type属性为Report expression。定义此表达式为:

ParamDisplayValue('paramReportType')

13. 运行并测试报表。

 

工作原理

 

在前面博文“条件样式”的示例中,我们已经知道如何定义条件变量,并使用它来定义条件样式。而在此例中,我们探讨了条件变量时如何在conditional block中使用的。

Conditional block是一个很有用的组件,它允许报表在特定条件下显示特定的对象。它在需要隐藏或显示整个对象时很有用。当然此例也可以通过显示或隐藏特定的列来实现。

 

更多

 

为条件参数的“Other”选项定义合适的内容是一个很好的做法。除非需求明确定义了“Other”选项为空,否则最好不要这么做。

推荐 1
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册