反馈已提交

网络繁忙

根据参数值显示不同的列

  • 文档创建者:cherishdqy
  • 编辑次数:20次
  • 最近更新:Carly 于 2022-09-22
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0--

    1.2 预期效果

    有时我们需要选择不同参数,呈现不同的模板内容。例如,根据单选按钮组选择的汇总类型,查询显示不同的汇总报表。如下图所示:


    1.3 实现思路

    用户需要参数控件来控制报表显示不同的列,可有两种实现方法:

    • 方法一:通过条件属性控制报表显示不同的列。

    • 方法二:通过 SQL 语句控制报表显示不同的列。

    2. 示例一:通过条件属性实现

    2.1 准备数据

    新建数据集 ds1:SELECT * FROM 销量

    2.2 制作模板

    将地区、销售员字段拖入单元格,并分别设置不同的销量求和,报表样式设计。如下图所示:

    2.3 添加参数控件

    先添加模板参数type,如下图所示:

    image.png

    在参数面板添加一个「单选按钮组控件」和「查询控件」,单选按钮组控件的控件名为 type。设置数据字典,自定义两个选项,如下图所示:

    image.png

    2.4 设置条件属性

    选中 A1、A2 单元格,右键添加条件属性:设置行高为 0,公式条件为 $type!='地区'。选中 A3、A4 单元格,同样添加条件属性:行高为 0,公式条件为 $type!='销售员'。如下图所示:

    image.png

    保存模板,点击「分页预览」即可实现效果。

    2.5 效果预览

    2.5.1 PC端

    如本文 1.2 节所示。

    2.5.2 移动端

    App 端和 HTML5 端效果如下图所示:

    动画3.gif

    3. 示例二:通过 SQL 语句实现

    3.1 新建普通报表

    点击「菜单文件>新建普通报表,如下图所示:

    3.2 添加参数控件

    添加「单选按钮组控件」,将控件名称命名为 type ,并添加「查询按钮」如下图所示:

    2021-06-18_11-17-40.png

    3.3 准备数据

    新建数据集 ds1:

    SELECT ${if(type="地区","地区","销售员")} as a, sum(销量) num
    FROM 销量
    ${if(type="地区","group by 地区","group by 销售员")}

    type 参数值默认为华东,如下图所示:

    2021-06-18_11-02-01.png

    3.4 制作模板

    anum 字段拖入单元格,并设置居中下拉框,如下图所示:

    2021-06-18_11-15-13.png

    3.5 设置控件参数

    2021-06-18_11-17-40.png

    保存模板,点击「分页预览」即可实现效果。

    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

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭