SSRS 2008中的过滤条件

时间:2014-08-20 20:57:37

标签: sql sql-server reporting-services ssrs-2008

我正致力于SSRS 2008创建一个简单的列表报告。我创建了一个计算字段,它为行创建了两个值:New或Renewal。

=iif (LEFT (Fields!ProductShortName.Value, 5)= "Renew" or LEFT (Fields!ProductShortName.Value, 2)= "TR" or LEFT (Fields!ProductShortName.Value, 2)= "XR" or LEFT (Fields!ProductShortName.Value, 3)= "WOW" or LEFT (Fields!ProductShortName.Value, 3)= "Gra" or LEFT (Fields!ProductShortName.Value, 3)= "CTr" ,"Renewal", "New")

我想通过排除值为"续订"的数据来进一步过滤数据。和MaturityDate为空

为此,我创建了另一个计算字段:

=iif (Fields!New_Renew.Value = "Renewal" and 
      Fields!MaturityDate.Value <> "" or 
      Fields!New_Renew.Value = "New", cdbl(1),cdbl(0))

然后按1过滤此字段。 当我运行它时,我得到一个空白的报告。任何人都可以根据我的要求建议适当的编码吗?

1 个答案:

答案 0 :(得分:2)

NULL与空字符串不同。 NULL是未知值,因此无法进行评估。

尝试:

=IIF(
    (Fields!New_Renew.Value = "Renewal" AND IsDate(Fields!MaturityDate.Value))
        OR Fields!New_Renew.Value = "New", 
    cdbl(1),
    cdbl(0)
)