如何创建忽略报表参数的SSRS表达式?
SSRS 总销售额绕过筛选参数的实现方法
场景说明
现有数据集:
| Color | Sale |
|---|---|
| Blue | $1 |
| Black | $1 |
| Green | $1 |
报表中设置了针对Color列的筛选参数,当前总销售额表达式= Sum(Fields!Sale.Value, "Dataset") + 0会随筛选参数变化(比如选Black时只显示$1),需要让总销售额始终显示全部数据的总和($3),不受筛选影响。
解决方案
方法1:创建无筛选的数据集副本
新建一个和原数据集查询完全一致,但不设置任何筛选参数的数据集(例如命名为Dataset_Total),然后将总销售额的表达式修改为:=Sum(Fields!Sale.Value, "Dataset_Total")
该表达式会基于未筛选的数据集计算总和,完全不受报表筛选参数的影响。方法2:指定聚合函数的全局作用域
若不想新增数据集,可修改表达式,让聚合函数忽略当前容器的筛选,直接基于完整数据集计算:=Sum(Fields!Sale.Value, Nothing)
也可以明确指定原数据集的名称来限定作用域:=Sum(Fields!Sale.Value, "Dataset")
注意:如果总销售额所在的报表容器(如表格、矩阵)本身设置了筛选,此方法可能失效,此时优先使用方法1。
内容的提问来源于stack exchange,提问作者SQL_Noob
相关产品推荐
相关产品推荐

