reporting-services - 如果所有字段都为空,则添加 N/A SSRS 表达式

标签 reporting-services ssrs-2012 ssrs-expression

我的表的一列中有许多字段。我有它,如果 field1 是空白显示 field2 等等,我现在要做的是如果所有字段都是空白显示 N/A。

我在下面尝试过的;

=IFF(ISNothing(Fields!field1.Value) & IIF(IsNothing(Fields!field2.Value),"N/A",VbCRLF & Fields!field2.Value))

这有时显示的是field1N/A。

谁能指出我正确的方向?

谢谢,

更新 1:

我也试过;

=IFF(ISNothing(Fields!field1.Value),"N/A",Fields!field1.Value & IIF(IsNothing(Fields!field2.Value),"N/A",VbCRLF & Fields!field2.Value))

那也没用。

最佳答案

有两种方法可以做到这一点。您可以在 SQL Server 查询或 SSRS 中处理它

方法一:TSQL

您可以使用 COALESCE 函数来查找第一个非空值。全部为NULL则替换为N/A

SELECT COALESCE(Field1, Field2, Field3, 'N/A') AS newFieldValue, ....
FROM myTable.....
WHERE ....

方法二:SSRS

SSRS 中没有等效的COALESCE。您可以使用 iifswitch 来模拟逻辑。

=SWITCH(NOT(ISNothing(Fields!field1.Value)), Fields!field1.Value, 
       NOT(ISNothing(Fields!field2.Value)), Fields!field2.Value,
       NOT(ISNothing(Fields!field3.Value)), Fields!field3.Value,
       1=1, "N/A")

还要记住,如果字段中有空格,ISNULL 函数将不会处理它。在这种情况下,您还需要使用类似的逻辑来处理空格。

HTH.

关于reporting-services - 如果所有字段都为空,则添加 N/A SSRS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923618/

相关文章:

security - SSRS 2008 R2,场 - 负载平衡和 HTTP 状态 401 : Unauthorized

reporting-services - 当查询 SSRS 中没有数据时向报告添加值

reporting-services - 如果value = null,则为“”,否则将发出SSRS EXPRESSION值

excel - 当格式为 EXCEL 时,SSRS 2014 URL 访问始终生成 XLS 而不是 XLSX

reporting-services - 从 BIDS 部署到 SSRS - 参数未更新

sql-server - SQL Reporting Services 无法配置虚拟目录

reporting-services - 表中的 SSRS 行号,不包括隐藏行

sql-server - 我可以在 ssrs 报告中添加一个过滤器按钮吗?

ssrs-2012 - SSRS 与列组交替行颜色

html - sp_send_dbmail 在正文中嵌入 mhtml 文件