我知道这个问题之前已被多次询问过,但是按照以前的解决方案我还是无法解决问题:
我有一份SSRS(2008R2)报告,它以矩阵形式显示数据.有一个水平列组包含可能存在或不存在的值:当值不存在时,我想用空格替换空单元格0
.目前该报告呈现如下:
我希望那些空洞的细胞0
代替它们.细胞表达设定为:
=Sum(Fields!number.Value)
所以我试过了
=iif (IsNothing(Sum(Fields!number.Value)),0,Sum(Fields!number.Value))
和
=iif (IsNothing(Fields!number.Value),0,Sum(Fields!number.Value))
和
=iif (Sum(Fields!number.Value)>0,Sum(Fields!number.Value),0)
......但是"空"的细胞仍然存在.我确定我做的事情很糟糕......但是什么?
编辑:为了更好地说明我的情况,我的查询产生输出(在SSMS中)类似于:
File | outcomeID | number A | Outcome1 | 2 A | Outcome2 | 1 B | Outcome2 | 2 C | Outcome1 | 1 D | Outcome3 | 2
......这会产生SSRS的结果:
File | Outcome1 | Outcome2 | Outcome3 A | 2 | 1 | B | 2 | | C | 1 | | D | | | 2
使用列组:
即使我将表达式改为简单:
=999
我结束了
File | Outcome1 | Outcome2 | Outcome3 A | 999 | 999 | B | 999 | | C | 999 | | D | | | 999
......即大量空白.
EDIT2:我上传了一个非常小的示例.rdl
文件[REMOVED],使用上面的示例数据 - 它重现了问题