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

时间:2015-07-20 15:07:29

标签: crystal-reports

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

我目前有

parser = argparse.ArgumentParser()

group1 = parser.add_argument_group('group1')
group1.add_argument('--test1', help="test1")

group2 = parser.add_argument_group('group2')
group2.add_argument('--test2', help="test2")

group1_args = group1.parse_args()
group2_args = group2.parse_args()

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

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

3 个答案:

答案 0 :(得分:7)

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

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

If {INDICATOR} = 'Y' then {numeric value}
else tonumber({@NULL})

答案 1 :(得分:2)

你不能在一个*语句中返回两种不同的数据类型。如果if是数字,那么else也应该是数字..而是尝试拆分语句并尝试..类似于下方。

if

答案 2 :(得分:1)

If {INDICATOR} = 'Y' then {numeric value}
else {Command.NULLCOL}

Database Expert中的设置是使用带有sql:的添加命令:

select null as nullcol
from dual

然后离开加入它。

返回的null值可能非常强大,因此不应该质疑您对null值的需求。空值自动显示不同以突出显示。与0或""相比,null值与DistinctCount函数一起正常工作。空值也适用于剖面摘要和交叉表,这可以为您节省大量工作,这是使用水晶的重点。