首页 > 解决方案 > 用于隐藏/显示文本框的 SSRS 表达式

问题描述

我创建了一个 SSRS 报告。

在本报告中,我创建了一个名为 DataSet1 的数据集。DataSet1 包含两列:EntityId (integer) 和 Name (Varchar)。如果 EntityId 列中的值之一是“27”,我想显示一个文本框。

所以我想写一个这样的表达式:

如果 DataSet1 中的某一行的 EntityId 值为 27,则显示文本框,否则隐藏文本框。

通过阅读其他一些类似的问题,我认为计算行数可能是要走的路。因此,它可能是这样的:

计算 DataSet1.EntityId = 27 的行数。如果行数大于 0,则显示 SSRS 文本框,否则隐藏文本框。

任何有关表达的帮助将不胜感激

标签: sql-serverreporting-services

解决方案


您可以使用简单的表达式轻松完成此操作。

hidden文本框的属性设置为

=SUM(IIF(Fields!EntityID.Value = 27,1,0), "DataSet1") = 0

我们在这里所做的只是,从内心的表达开始......

  1. 检查 if EntityID= 27,如果确实返回 1,否则返回 0。
  2. 对范围内的每个实例执行此操作"DataSet1"(您的整个数据集)
  3. 总结结果
  4. 测试结果是否为零

True如果结果为零(无行 = 27),这将返回,因此隐藏文本框

注意:数据集名称必须用引号引起来,并且区分大小写。


推荐阅读