反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

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

  • 文档创建者:星痕
  • 历史版本:21
  • 最近更新:RosieY 于 2021-01-27
  • 1. 概述

    1.1 需求描述

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

    预览.gif

    1.2 实现思路

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

    2. 操作步骤

    2.1 准备数据

    新建普通报表,新建数据集ds1,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,"",",产品")}

    由于参数控件为复选框,因此数据集中参数需用in语句

    数据集.jpg

    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 移动端预览效果

    移动端预览模板,效果如下图所示:

    移动端.gif

    3. 模板下载

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

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

    附件列表


    主题: 参数应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

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

    总裁办24H投诉

    热线电话:173-1278-1526