反馈已提交

网络繁忙

下拉复选框控件联动并实现动态列

  • 文档创建者:星痕
  • 编辑次数:22次
  • 最近更新:Catqiu 于 2021-10-08
  • 1. 概述

    1.1 版本

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

    1.2 预期效果

    当报表的数据列比较多,但数据量不是很大时,采用动态分组可灵活呈现不同维度的数据。如下图所示,当选择不同参数值时,可展示对应维度分组的数据。

    预览.gif

    1.3 实现思路

    参考数据集参数设置中参数为空选择全部的用法,用 if 语句实现动态列。

    2. 操作步骤

    2.1 准备数据

    新建普通报表,新建数据集 ds1,由于参数控件为复选框,因此数据集中参数需用 in 语句,如下图所示:

    数据集.jpg

    SQL 语句为:

    SELECT 地区 ${if(len(销售员)=0,"",",销售员")} ${if(len(产品类型)=0,"",",产品类型")} ${if(len(产品)=0,"",",产品")} ,sum(销量) as 销量汇总 
    FROM 销量
    where 1=1
    ${if(len(销售员)==0,"","and 销售员 in ('" +销售员+ "')")}
    ${if(len(产品类型)==0,"","and 产品类型 in ('" +产品类型+ "')")}
    ${if(len(产品)==0,"","and 产品 in ('" +产品+ "')")}
    group by 地区
    ${if(len(销售员)=0,"",",销售员")}
    ${if(len(产品类型)=0,"",",产品类型")}
    ${if(len(产品)=0,"",",产品")}

    2.2 设计表格

    如下图设计表格,将字段拖入到对应单元格中:

    注:由于设置了销售员、产品类型、产品三列为动态分组列,即参数为空时,销售员、产品类型、产品这三个字段不显示,所以销售员、产品类型、产品三个参数需先设置默认值(后期可删除默认值)。

    表格.jpg

    2.3 添加参数控件

    编辑参数面板,点击右侧控件设置上方的「全部添加」,生成参数控件,分别点击销售员、产品类型、产品参数框,选择「下拉复选框控件」,如下图所示:

    image.png

    2.4 添加参数框选项数据集

    注:由于参数之间做了联动,所以需要在数据集 SQL 中添加对应的参数过滤条件。

    2.4.1 销售员选项

    新建数据集 销售员SELECT distinct 销售员 FROM 销量,因为销售员是第一个参数,可以任意选择,所以不需要联动过滤(此处distinct关键字是为了去重),如下图所示:

    销售员.jpg

    2.4.2 产品类型选项

    新建数据集 产品类型SELECT distinct 产品类型 FROM 销量 where 1=1 ${if(len(销售员)==0,"","and 销售员 in ('" +销售员+ "')")},因为产品类型需要根据销售员的不同显示相应的产品类型,所以需要设置销售员过滤参数(此处distinct关键字是为了去重),如下图所示:

    产品类型.jpg

    2.4.3 产品选项

    新建数据集 产品SELECT distinct 产品 FROM 销量 where 1=1 ${if(len(销售员)=0,"","and 销售员 in ('"+销售员+"')")} ${if(len(产品类型)=0,"","and 产品类型 in ('"+产品类型+"')")}因为产品需要根据销售员、产品类型的不同显示相应的产品,所以需要设置销售员、产品类型过滤参数(此处distinct关键字是为了去重),如下图所示:

    产品.jpg

    2.5 设置参数控件的数据字典

    分别选择销售员、产品类型、产品下拉复选框,设置「数据字典」为「数据查询」,分别选择对应的数据集(销售员、产品类型、产品),设置「返回值」类型为「字符串」,分隔符为','(即单引号中间加一个逗号,此处分隔符的设置是为了将所选的多个参数值分隔开,例:当销售员选择 孙林、张珊 时,返回值为 孙林','张珊 )

    注1:销售员、产品类型控件的控件名必须跟产品类型、产品数据集中的参数名保持一致才可以联动。

    注2:分隔符必须在英文半角状态下输入。

    2.jpg

    2.6 设置条件属性

    单元格 B2、C2、D2添加条件属性:列宽为0,公式条件为:len($$$)=0,如下图所示:

    3.jpg

    2.7 效果预览

    2.7.1 PC 端

    保存模板,点击分页预览,效果如下图所示:

    预览.gif

    2.7.2 移动端

    App 与 HTML5 端效果相同,效果如下图所示:

    移动端.gif

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\primary\GroupReport\动态分组.cpt

    点击下载模板:动态分组.cpt

    附件列表


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

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

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

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

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

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

    不再提示

    10s后关闭

    7*24h

    智 能客 服