反馈已提交

网络繁忙

按段长动态分组

  • 文档创建者:axing
  • 历史版本:10
  • 最近更新:Fairy.Zhang 于 2024-11-25
  • 1. 概述

    1.1 预期效果

    在文档 按段分组 中,通过「分组>高级>自定义>条件分组」实现了按固定年龄段进行分组汇总,现在我们希望实现数据按不同的段长参数进行动态分组。效果如下图所示:

    分段.gif

    1.2 实现思路

    通过「单元格元素>数据设置」中的「分组>高级>自定义>公式分组」实现。

    2. 示例

    2.1 数据准备

    新建普通报表,新建数据集 ds1,SQL 查询语句为:SELECT 年龄, count(1) as 数量 FROM 员工信息表  group by 年龄 。如下图所示:

    注:此 SQL 语句表示从名为「员工信息表」的数据库表中选择年龄,并计算每个年龄对应的员工数量。

    1583397033563714.png

    2.2 报表设计

    1)设计表格如下图所示:

    1583397070731440.png

    2)设置 B2 单元格数据设置为「汇总>求和」,如下图所示:

    2.3 参数面板设置

    1)在参数面板拖入一个「标签控件」和「数字控件」,设置「标签控件」的控件值为「段长:」;「数字控件」的控件名称为「num」,标签名称为「段长:」。如下图所示:

    Snag_165a94c6.png

    2)点击「预定义控件」,将「查询按钮」拖入参数面板,如下图所示:

    Snag_1646d0d6.png

    2.4 分组设置

    选中 A2 单元格,数据设置为「分组>高级>自定义>公式分组」,选择显示模式为「普通分组」,自定义值中输入公式:"["+((roundup($$$/$num)-1)*$num+1)+"~"+(roundup($$$/$num)*$num)+"]"

    注:ROUNDUP(number,num_digits)表示远离零值,向上(绝对值增大的方向)舍入数字,详情参见 ROUNDUP 。

    公式说明如下表所示:

    公式
    说明
    roundup($$$/$num)计算当前值在第几段
    (roundup($$$/$num)*$num)表示该段的最大值
    (roundup($$$/$num)-1)*$num表示该段前一段的最大值
    ((roundup($$$/$num)-1)*$num+1)表示该段的最小值
    "["+((roundup($$$/$num)-1)*$num+1)+"~"+(roundup($$$/$num)*$num)+"]"表示[该段的最小值~该段的最大值]

    步骤如下图所示:


    2.5 效果预览

    2.5.1 PC 端

    保存报表,点击「分页预览」,效果同 1.1 节预期效果一致。

    2.5.2 移动端

    App 端和 HTML5 端均支持,效果如下图所示:

    73C8E692-0924-420C-A161-8D68E14C13E3.GIF

    3. 模板下载

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

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

    附件列表


    主题: 报表应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持