我是Crystal Reports的新手。 我有一个DB,其中以KB为单位报告内存列。 我为我的IT主管创建了一个报告,他希望该字段以GB格式报告内存。 我试过这个公式(根据我购买的书名为'2016年Crystal Reports的初级指南')
IF {tblDts.Memory} = "" THEN "N/A" ELSE {tblDts.Memory}*0.4256
我得到的错误是
此处需要数量或货币金额
并在我的{tblDts.Memory}
声明之后突出显示ELSE
。
数据库中的那个字段只有数值(btw - 0.4256是10240的十进制格式,我尝试了一个具有相同结果的除法语句,所以我想我尝试一个乘法语句。)
我做错了什么?
答案 0 :(得分:1)
在条件语句中,IF
和ELSE
都应返回相同的数据类型,否则会报告这类错误。
这里为IF你返回字符串,对于ELSE你返回Number因此错误。
建议在IF的情况下返回0
并在ELSE中计算
IF {tblDts.Memory} = ""
THEN 0
ELSE {tblDts.Memory}*0.4256
编辑---------------------------------------------- ----
if IsNumber({tblDts.Memory})
then
(
ToNumber({tblDts.Memory})*0.4256
)
else
0