SSRS中如何按动态筛选的Campaign组及列正确计算总计
问题描述
- 需求:按筛选后(包含"MORTGAGE"的Campaign)的分组,针对
result_type列的三个值(AM、BD、EX),统计det_interaction_id文本字段的数量 - 当前异常输出:AM列1,254、BD列56、EX列32
- 期望输出:AM列544、BD列6、EX列4
- 已尝试公式:
- 常规组总计:
=Count(det_interaction_id.Value) - 条件计数:
=IIf(Fields!Campaign.Value Like "*MORTGAGE*",Count(det_interaction_id.value),0)
- 常规组总计:
解决方案
之前的条件计数逻辑有误:Count是聚合函数,会先计算整个组的记录数,再执行IIf判断,无法正确过滤单条数据的Campaign匹配条件。
针对每个result_type列,需采用逐行判断+求和的方式,仅统计同时满足以下两个条件的记录:
Campaign包含"MORTGAGE"- 当前列对应的
result_type值匹配
以AM列为例,正确公式为:
=Sum(IIf(Fields!Campaign.Value Like "*MORTGAGE*" And Fields!result_type.Value = "AM", 1, 0))
BD列和EX列只需将公式中的"AM"替换为"BD"、"EX"即可。
公式生效原因
IIf逐行校验每条记录是否符合筛选规则,符合返回1,不符合返回0Sum累加所有符合条件的1,最终得到的就是目标统计数量
内容的提问来源于stack exchange,提问作者ReportLover
相关产品推荐
相关产品推荐

