2017-04-05 22 views
2

我想基於子字符串創建計算列。我找不到語法做類似下面的Spotfire:您可以根據包含子字符串的列編寫case語句

case 
when [ProjectName] contains "substring" then [Value] 
end 

例如,當[項目]包含「架空」,然後「開銷」 [項目]將等於「項目1架空」, 「Project 2 billable」,或類似的東西。

+0

可行的肯定和巨大的問題。如果沒有其他人,我會明天回答。 – scsimon

+0

我以爲你可以用* string *或$ csearch來做到這一點。不知道他們爲什麼不工作。 –

+0

對不起,我完全忘記了這一點 - 很高興你發佈了一條評論來記住我 – scsimon

回答

1

最簡單的解決方案是將FIND()IF()CASE()聲明一起使用。

If(Find("overhead",Lower([ProjectName])) >0,[Value],"FALSE") 

CASE 
    WHEN Find("overhead",Lower([ProjectName])) >0 THEN [Value] 
END 

請記住,Find()區分大小寫。

如果這是一個值替換子串的步驟,那麼你可能需要使用RXReplace()