当使用仪表板跳转报表有时需要传参数,这个传参可以来自于筛选器。然后把筛选器选择的数据传递给报表当作参数。
但是当我们点击全选的时候,会发现跳转报表没有接收到任何参数。
这是因为我们仪表板的筛选器在全选的时候会默认当成未筛选,所以不会传值。那问题就来了,我全选怎么做到参数传递的。那就得绕一下了
我们以传递客户地区为例:
1.创建一个仪表板,设置一个多维下拉框筛选器,绑定客户地区。然后创建一个用于跳转的图表。
2.创建一个仪表板参数,设置如下,默认数据给一个全选。然后筛选器绑定我们设置的筛选器。
3.设置跳转,然后这里的参数选择仪表板参数,不要选择筛选器参数。
4.然后仪表板需要设计的就没了,之后就是报表模块,我们先设计一个报表,然后需要一个参数。需要设置可选参数,可选参数就是我们需要的参数的列举。用sql专门查一列即可,可以参考下图数据集2.然后参数设置全选那里输入全选。也就是当我们输入内容为全选的时候他会查询全部,这就对应了仪表板那边参数的默认值。
5.也是最后一步,也就是我们的被查询的数据源的sql需要对参数进行一个判断。参考如下:
select * from 销售明细 where '全选' in (@查询参数1) or 销售大区 in (@查询参数1)
至此设计就完成了,看一下成果吧