在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'时显示值?
答案 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函数一起正常工作。空值也适用于剖面摘要和交叉表,这可以为您节省大量工作,这是使用水晶的重点。