1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 预期效果
有时我们需要选择不同参数,呈现不同的模板内容。例如,根据单选按钮组选择的汇总类型,查询显示不同的汇总报表。如下图所示:
1.3 实现思路
用户需要参数控件来控制报表显示不同的列,可有两种实现方法:
方法一:通过条件属性控制报表显示不同的列。
方法二:通过 SQL 语句控制报表显示不同的列。
2. 示例一:通过条件属性实现
2.1 准备数据
新建数据集 ds1:SELECT * FROM 销量
2.2 制作模板
将地区、销售员字段拖入单元格,并分别设置不同的销量求和,报表样式设计。如下图所示:
2.3 添加参数控件
先添加模板参数type,如下图所示:
在参数面板添加一个「单选按钮组控件」和「查询控件」,单选按钮组控件的控件名为 type。设置数据字典,自定义两个选项,如下图所示:
2.4 设置条件属性
选中 A1、A2 单元格,右键添加条件属性:设置行高为 0,公式条件为 $type!='地区'。选中 A3、A4 单元格,同样添加条件属性:行高为 0,公式条件为 $type!='销售员'。如下图所示:
保存模板,点击「分页预览」即可实现效果。
2.5 效果预览
2.5.1 PC端
如本文 1.2 节所示。
2.5.2 移动端
App 端和 HTML5 端效果如下图所示:
3. 示例二:通过 SQL 语句实现
3.1 新建普通报表
点击「菜单文件>新建普通报表」,如下图所示:
3.2 添加参数控件
添加「单选按钮组控件」,将控件名称命名为 type ,并添加「查询按钮」如下图所示:
3.3 准备数据
新建数据集 ds1:
SELECT ${if(type="地区","地区","销售员")} as a, sum(销量) num
FROM 销量
${if(type="地区","group by 地区","group by 销售员")}
type 参数值默认为华东,如下图所示:
3.4 制作模板
将 a 、num 字段拖入单元格,并设置居中、边框,如下图所示:
3.5 设置控件参数
保存模板,点击「分页预览」即可实现效果。
3.6 效果预览
3.6.1 PC端
如本文 1.1 节所示。
3.6.2 移动端
如本文 2.5 节所示。
4. 模板下载
1)示例一:通过条件属性实现
已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\根据参数值显示不同的列.cpt
点击下载模板:根据参数值显示不同的列.cpt
2)示例二:通过 SQL 语句实现
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\使用SQL语句显示不同的列.cpt
点击下载模板:使用SQL语句显示不同的列.cpt