我正在使用公式字段,并已创建此formula
以根据null or not
对数据进行分组。但它不起作用,并且总是将数据仅分组为一个Completed
组。为什么呢
if (Not IsNull({MRSReportProject_MRSReportClass.Actiontaken}))
and (IsNull({MRSReportProject_MRSReportClass.actioncomplete})) then "Pending"
else if (Not IsNull({MRSReportProject_MRSReportClass.actioncomplete})) then "Completed"
else "Nothing";
答案 0 :(得分:1)
您的空值很可能不是空值。
一个原因可能是Crystal Report选项convert null values to default
-如果选中此选项,则公式将看不到空值,但空字符串或数字0取决于字段类型。
另一种可能性是您的数据源已经不返回空值。
然后应使用简单的比较运算符(=
,<>
)来比较值;如果有时会出现空值,则必须考虑所有组合(同时使用比较运算符和isull()函数)。有时,我使用中间变量或公式来消除空值,从而简化了代码(某些公式可能长达几页)。