如何在SSRS矩阵中编写双列表达式统计'P'值数量?
SSRS矩阵中分别统计INAM和OUTPM字段值为"P"的记录数解决方案
原表达式问题分析
你的表达式=COUNT(IIF(Fields!INAM.Value="P" and Fields!OUTPM.Value="P",0,0))存在两处错误:
- 用
AND同时判断两个字段,仅会统计**INAM和OUTPM都为"P"**的记录,不符合你分别统计两个字段的需求; - IIF的两个分支都返回0,
COUNT会统计所有行(0属于非空值),无法得到正确的筛选计数。
正确表达式实现
分别为两列设置以下表达式即可实现需求:
统计INAM字段值为"P"的记录数
使用SUM配合IIF,符合条件返回1,否则返回0,累加后得到符合条件的总数:
=SUM(IIF(Fields!INAM.Value = "P", 1, 0))
统计OUTPM字段值为"P"的记录数
同理,替换字段名称即可:
=SUM(IIF(Fields!OUTPM.Value = "P", 1, 0))
备选方案(使用COUNT实现)
如果倾向于用COUNT,需让不符合条件的分支返回空值(Nothing),这样COUNT仅统计非空的符合条件记录:
=COUNT(IIF(Fields!INAM.Value = "P", 1, Nothing))
=COUNT(IIF(Fields!OUTPM.Value = "P", 1, Nothing))
内容的提问来源于stack exchange,提问作者bush
相关产品推荐
相关产品推荐

