反饋已提交

網絡繁忙

多源报表实现数据过滤

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後關閉