2

我有一个使用 SSRS 2008 的表外的文本框。我正在尝试使用下面的代码确定任何行是否包含 2、3 或 4。这有效,但仅适用于第一行。

有没有办法让这个评估所有字段而不仅仅是第一行?

提前感谢。

=IIf(

    (
            Fields!Type.Value = "2"
            Or Fields!Type.Value = "3"
            Or Fields!Type.Value = "4"
        )

        , "Yes, found it.", "No, it's missing"

)
4

2 回答 2

2

除非您定义不支持的范围/数据集,否则它将IIf 不起作用。您可以通过以下方式解决此问题:

  • 创建一个Code将更新您的外部文本框 ( Right click on the report > Report properties > Code tab)
  • 在表中使用您的表达式。

这些是我能想到的唯一解决方案。

更新 我只是想到了一个对我有帮助的解决方案。

=IIf(
    Sum(
        IIf(Fields!Type.Value=2, 1, 0), 
        "YourDataSet"
    ) = 0, 
    "Not Found",
    "found " & Fields!Type.Value
)

不确定这是否适用于您的范围,但这是另一种解决方案。

于 2013-04-16T16:09:03.507 回答
0

使用以下表达式:

IIF(SUM(IIF(Fields!Type.Value = "2" OR Fields!Type.Value = "3" OR Fields!Type.Value = "4",1,0),"DataSet1")>0,"Yes, found it.", "No, it's missing")

其中DataSet1是您的数据集的名称

它的作用是计算找到值 2、3 或 4 的次数。如果计数大于 0,则该值存在,因此它将显示“是的,我找到了”

于 2013-04-16T16:22:21.263 回答