2013-04-16 516 views
0

我試圖替換列中的兩個值,我通過Crystal語法文檔閱讀,看到我應該可以使用;分開功能,但運行兩個,但是當我使用它喜歡這個:水晶報表多個IIF左函數

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

它只返回第二個結果,因爲一個公式可能只有一個返回值。在你的情況下,你有兩個單獨的語句,所以第一個值在某種意義上是「丟失的」,因爲它從來沒有被分配給一個變量。相反,請嘗試如下所示:

//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} 
+0

非常感謝您的工作! – Alexander