Crystal Reports多个IIF LEFT功能

时间:2013-04-16 21:59:38

标签: if-statement syntax crystal-reports

我正在尝试替换列中的两个值,我正在阅读Crystal语法文档并看到我应该可以使用;分开函数但运行两个,但是当我使用它时喜欢这个:

IIF(LEFT({v_FrameDepartment.cftliner}, 4) = "FT-T", "Tulip", 
    {v_FrameDepartment.cftliner});
IIF(LEFT({v_FrameDepartment.cftliner}, 4) = "FT-V", "Veneer", 
    {v_FrameDepartment.cftliner})

它只运行第二个结果。有没有办法在列上运行这两个?

1 个答案:

答案 0 :(得分:1)

它只返回第二个结果,因为单个公式可能只有一个返回值。在您的情况下,您有两个单独的语句,因此第一个值在某种意义上是“丢失”,因为它从未分配给变量。相反,尝试类似:

//You can separate the two statements with a ';' since we're assigning to a variable
local stringvar cftVar := left({v_FrameDepartment.cftliner}, 4);
select cftVar
case "FT-T" : "Tulip"
case "FT-V" : "Veneer"
default : {v_FrameDepartment.cftliner}