IIF声明未在SSRS中返回价值

时间:2013-12-17 18:53:32

标签: reporting-services reporting

我对这种情况非常困惑,我写了很多IIF语句,总是让它们起作用。我的数据集中有两列名为CATEGORY和PCT,我要做的是返回CATEGORY中仅一个特定值的PCT值。

例如,我有以下数据表

Category    PCT
A           .50
B           .75

我在报告上放置了一个文本框,并编写了以下表达式,以便在Category = B时返回PCT值,如下所示:

=IIF(Fields!Category.Value = "B", Fields!PCT.Value, " ")

由于某种原因,此表达式每次都返回空。当我把Fields!Category.Value放在文本框中作为测试时,值A返回,这是预期的。

我真的被这个抛弃了,我知道我错过了一些非常简单的事情 - 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

重要的是我们理解文本框的上下文,因为表达式似乎是有效的。

如果您在报表上放置了一个文本框并使用了上面的表达式(对数据集的引用),则只会评估数据集的第一行。在这种情况下,表达式将始终评估为相同的结果。

您能否确认您使用的控件确实是文本框?如果是,那么我相信你确实需要对数据集的引用,表达式看起来更像是这样:

= iif(First(Fields!Category.Value,“datasetName”)=“B”,First(Fields!PCT.Value,“datasetName”),“”)

这只会评估数据集中的第一行。

如果您使用原始表达式在Tablix中执行此操作,那么它应该可以正常工作。