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