Crystal reports Crystal报告如果为true,则返回number,否则返回NULL

Crystal reports Crystal报告如果为true,则返回number,否则返回NULL,crystal-reports,Crystal Reports,在Crystal Reports中,如果if语句的计算结果为true,则函数是否可以返回数值,否则返回NULL 我现在有 IF ({INDICATOR} = 'Y') Then ( {numeric value} ) Else ( 0 ); 但是因为0是{numeric value}的一个可能值,所以它没有意义。相反,如果指示符不是“Y”,我更希望该字段为空,但是当我用NULL替换0时,它会给我一个类型不匹配错误 有没有一种方法可以让我只在指示符为“Y”时显示值?如果语句中有两

在Crystal Reports中,如果if语句的计算结果为true,则函数是否可以返回数值,否则返回NULL

我现在有

IF ({INDICATOR} = 'Y') Then
(
    {numeric value}
)
Else
(
    0
);
但是因为0是{numeric value}的一个可能值,所以它没有意义。相反,如果指示符不是“Y”,我更希望该字段为空,但是当我用NULL替换0时,它会给我一个类型不匹配错误


有没有一种方法可以让我只在指示符为“Y”时显示值?

如果语句中有两种不同的数据类型,则不能返回。如果
如果
是数字,则else也应该是数字。。相反,尝试拆分语句并尝试。。像下面这样

 IF ({INDICATOR} = 'Y') Then
    (
        ToText({numeric value})
    )

   Else if ({INDICATOR} <> 'Y') Then
    (
       ""
    );
如果({INDICATOR}='Y'),那么
(
ToText({numeric value})
)
如果({INDICATOR}'Y'),则
(
""
);

如果您确实想要一个空值而不是空值,请尝试以下操作

创建一个名为NULL的公式,然后保存并关闭,而不在公式区域中输入任何数据。然后在上面的公式中尝试

If {INDICATOR} = 'Y' then {numeric value}
else tonumber({@NULL})
Database Expert中的设置是将Add命令与sql一起使用:

select null as nullcol
from dual
然后离开加入它


返回的null值可能非常强大,因此不应质疑您对null值的需求。空值会自动以不同方式显示以突出显示。与0或“”相比,空值与DistinctCount函数正确配合使用。空值也可以正确地用于节摘要和交叉表,这可以为您节省大量的工作,这是使用crystal的全部意义。

如果出现一个错误,说明“the”)丢失,则我无法在第二次返回空值是否有其他NULL或其他关键字?我昨天尝试使用此关键字运行报表,但它显示的是0.00而不是“”。您是使用数值执行计算,还是仅在报告中显示它?只是将公式放入“说明”部分以显示。空值如何转换为数字?我以前使用过此解决方案,并在发送响应之前进行了测试:)我在运行报告时出错,说字符串不是数字
select null as nullcol
from dual