首页 > 解决方案 > ssrs iif 表达式报告

问题描述

当 ZJNSBYR 为空白(无值)时,我不想显示 ZDATEB(日期)值。数据示例如下:

ZJNSBYR ZDATEB
-----------------------
    20190728
    20190728

如果 ZJNSBYR 有值,则 ZDATEB(date) 将显示为 28-08-2019

我试过这个:

iif(Fields!ZJNSBYR.Value=' ', Fields!ZDATEB.Value=' ',right(Fields!ZDATEB.Value, 2) & "-" & mid(Fields!ZDATEB.Value, 5, 2) & "-" & left(Fields!ZDATEB.Value, 4))

我按照这个例子:

IIF(Fields!ExitReason.Value = 7, 1, 0)

但是得到了这个错误:

System.Web.Services.Protocols.SoapException:文本运行“ZDATEB5.Paragraphs[0].TextRuns[0]”的值表达式包含错误:[BC30201] 预期表达式。在 Microsoft.ReportingServices.WebServer.ReportingService2005Impl.SetReportDefinition(String Report, Byte[] Definition, Warning[]&Warnings) 在 Microsoft.ReportingServices.WebServer.ReportingService2010Impl.SetItemDefinition(String ItemPath, Byte[] Definition, Property[] Properties, Warning []& 警告)在 Microsoft.ReportingServices.WebServer.ReportingService2010.SetItemDefinition(字符串 ItemPath,字节 [] 定义,属性 [] 属性,警告 []& 警告)

标签: reporting-servicesexpressioniif

解决方案


在此处输入图像描述

这是您的预期结果。我是怎么做到的。下面是表达式。

注意:您的字段名称可能因数据库中的内容而异。

=IIF(Isnothing(Fields!ZJNSBYR.Value) or Fields!ZJNSBYR.Value="" ,nothing,Format(Fields!ZDATEB.Value,"dd-MM-yyyy"))

推荐阅读