【发布时间】:2014-10-23 10:01:01
【问题描述】:
我知道这个问题已经被问过很多次了,但是按照以前的解决方案我仍然无法解决这个问题:
我有一个 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 文件 [已删除],使用上面的示例数据 - 它重现了问题
【问题讨论】:
-
你能在你的查询中处理它吗?
-
@TabAlleman:不幸的是:(
-
嗯,即使使用您的示例数据,
=iif (IsNothing(Sum(Fields!number.Value)),0,Sum(Fields!number.Value))仍然适用于我。您对那些可能抑制零值的单元格有任何格式吗?当您使用报表中的数据集从头开始创建一个新的简单矩阵时,会发生什么情况? -
文本框是否设置为条件隐藏?
-
@pancho018:你是天才,我是白痴。我之前一直在摆弄隐藏值,但我忘记禁用它。我会在下面记下您的回答,谢谢!
标签: reporting-services ssrs-2008-r2