我正致力于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过滤此字段。 当我运行它时,我得到一个空白的报告。任何人都可以根据我的要求建议适当的编码吗?
答案 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)
)