历史版本2 :多源报表实现数据过滤 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

例如,在 简单多源报表 中,蓝色部分是主表,黄色部分是根据蓝色部分过滤出来的。

如果我们想要筛选销售总额为 1869 的数据,可能出现下面的情况:

image.png

而实际上,我们需要的效果是:

image.png

1.3 实现思路

在数据集里先对多源数据进行筛选,然后再在单元格中的主表单元格里进行过滤。

2. 示例编辑

以  简单多源报表 中的模板为例,点击下载:

简单多源报表.cpt

2.1 模板设计

1)ds2 数据集改为:

SELECT * FROM [销售总额] where 1=1

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

image.png

2)选中 B4 单元格,设置过滤,如下所示。

image.png

条件说明:

加上 or len($销售总额) =0 是为了实现参数为空选择全部的效果。ds2 数据集中已经实现了这个效果。

但是单元格 B4 的数据来自于 ds1数据集, ds1 数据集中可能包含 ds2 数据集中没有的数据。

因此必须加上这个条件,才不会导致参数为空时主表的数据减少。

3)参数面板添加相关控件,保存预览即可。

image.png

2.2 效果预览

PC 端:

image.png

移动端:

image.png

3. 模板下载编辑