为什么 Crystal 报表公式不适用于分组数据

Why Crystal Report Formula is not working to Group Data

我正在使用公式字段并创建此 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";

您的空值很可能不是空值。

一个原因可能是 Crystal 报告选项 convert null values to default - 如果选中此项,则公式不会看到空值,而是空字符串或数字 0,具体取决于字段类型。

另一种可能性是您的数据源已经没有 return 空值。

然后您应该使用简单的比较运算符 (=<>) 来比较值;如果有时会出现空值,则必须考虑所有组合(同时使用比较运算符和 isnull() 函数)。我有时会使用中间变量或公式来消除空值,稍微简化代码(有些公式可能很长)。