【问题标题】:SSRS Expression for Image图像的 SSRS 表达式
【发布时间】:2014-03-30 09:10:40
【问题描述】:

我需要根据条件显示两个图像中的任何一个。我用于图像的表达式如下。

     Image1  =IIF(Fields!Field1.Value= 269, "checked", "unchecked")
     Image2  ==IIF(Fields!Field1.Value= 270, "checked", "unchecked")

返回 Field1 值的数据集可以返回多于 1 行,但上述表达式仅从数据集返回的第一行中获取值。如何通过表达式进行修改,以便检查我的数据集返回的所有行,即有没有办法遍历数据集返回的所有行并编写表达式。

【问题讨论】:

  • 所以你没有在任何 tablix 中显示图像吗?
  • 它仅在 tablix 中
  • 您需要更详细地解释您要达到的目标。这些图像是否显示在 tablix 的每一行或 tablix 标题中?我不清楚为什么需要遍历数据集中的所有行。
  • 要求是根据field1中的值显示四个复选框。四个复选框出现在 tablix 的 4 行中。问题中提供的表达式已用于四个图像。我的数据集返回 4 行数据,其中 field1 包含 4 个值,例如 269,270,271,272,当我运行报表时,我的表达式只从数据集返回的第一行获取 field1 值,而不检查其他行。因此,即使其他图像的值存在,它仍然不会检查它们。
  • 如果 Field1 位于表的详细信息部分,并且正在为数据集中的每一行重复(四行),则 Fields!Field1.Value 应返回当前行的值,而不是第一排。因此,听起来您在表格的页眉或页脚中或在详细信息部分之外的其他地方都有表达式。

标签: reporting-services ssrs-2008 ssrs-2008-r2


【解决方案1】:

您可以在聚合中嵌套 IIF 条件以检查范围内的所有值:

=MIN(IIF(Fields!Field1.Value= 269, "checked", "unchecked"))

在此表达式中,每个Field1.Value 都返回“已检查”或“未检查”。如果其中一个或多个值是“已选中”,则将返回“已选中”,因为“已选中”按字母顺序小于“未选中”。

其他聚合函数可以与嵌套的IIF 一起使用,以检查范围内的所有记录,但对于您在此处尝试执行的操作而言,这似乎是最简单的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多