Crystal Reports如果为true,则返回number else返回NULL

Nic*_*ack 5 crystal-reports

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

我现在有

IF ({INDICATOR} = 'Y') Then
(
    {numeric value}
)
Else
(
    0
);
Run Code Online (Sandbox Code Playgroud)

但由于0是{数值}的可能值,因此没有意义.相反,如果指标不是'Y',我宁愿让该字段显示为空白,但是当我用NULL替换0时,它会给我一个类型不匹配错误.

有没有办法让我只在指标为'Y'时显示值?

小智 7

如果您真的想要一个空值而不是空,请尝试以下方法

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

If {INDICATOR} = 'Y' then {numeric value}
else tonumber({@NULL})
Run Code Online (Sandbox Code Playgroud)


Siv*_*iva 2

您不能在单个if语句中返回两种不同的数据类型if..如果是数字,那么 else 也应该是数字..而是尝试拆分语句并尝试..如下所示。

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

   Else if ({INDICATOR} <> 'Y') Then
    (
       ""
    );
Run Code Online (Sandbox Code Playgroud)