反馈已提交

网络繁忙

多源报表实现数据过滤

  • 文档创建者:axing
  • 历史版本:12
  • 最近更新:Carly 于 2024-05-28
  • 1. 概述

    1.1 版本

    报表服务器版本
    11.0

    1.2 预期效果

    在前面学习了简单多源报表、复杂多源报表、多源分片报表,如果希望在多源报表中实现过滤该如何实现呢?

    例如想要筛选「销售总额」为 1869 的数据,如下图所示:

    1.3 实现思路

    在单元格中的主表单元格里进行过滤。

    2. 示例

    2.1 数据准备

    新建数据集 ds1 , SQL 查询语句为:SELECT * FROM [销量]

    新建数据集 ds2,SQL 查询语句为:

    SELECT * FROM 销售总额 where 1=1

    ${if(len(销售总额)=0,""," and 销售总额 = '"+销售总额+"'")}

    2.2 报表设计

    如下图设计表格,将数据集中的字段分别拖拽到对应单元格中。

    单元格设置如下表所示:

    单元格
    设置
    B2、B3合并 B2、B3 单元格,输入文本:地区
    C2、C3合并 C2、C3 单元格,输入文本:销售员
    E2、E3合并 E2、E3 单元格,输入文本:销售总额
    D2拖入数据列:ds1 产品类型,横向扩展,父格为默认
    D3拖入数据列:ds1 产品,横向扩展,父格为默认
    B4、C4、D4分别拖入对应的数据列:ds1 地区、ds1 销售员、ds1 销量;纵向扩展
    E4拖入数据列:ds2 销售总额;纵向扩展;左父格为 C4

    2.3 过滤条件设置

    1)双击 B4 单元格,设置过滤条件:

    条件一:普通条件,ds1 销售员数据列等于 ds2 销售员数据列; or  条件二:公式条件:len($销售总额) =0 ,以实现参数为空选择全部的效果。如下图所示:

    ds2 数据集中已经实现了这个效果,但是单元格 B4 的数据来自于 ds1数据集, ds1 数据集中可能包含 ds2 数据集中没有的数据。因此必须加上条件二,才不会导致参数为空时主表的数据减少。

    1.png

    2)双击 E4 单元格,设置过滤条件:销售员等于 C4 单元格,如下图所示:

    2.png

    2.4 参数面板设置

    进入参数面板编辑界面,选择「全部添加」进参数面板,设置其控件为「数字控件」,如下图所示:

    2.5 效果预览

    2.5.1 PC 端

    保存报表,点击「分页预览」,效果如下图所示:

    25840D3F-0174-4658-AEA7-EA5A9975DF36.GIF

    2.5.2 移动端

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

    308824F7-8007-43CA-83DA-5381A071BBCD.GIF

    3. 模板下载

    已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Multidatasource\多源报表非主表实现数据过滤.cpt

    点击下载模板:多源报表非主表实现数据过滤.cpt

    附件列表


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

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

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

    不再提示

    10s后关闭



    AI

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