下面的代碼有什麼問題我在以下代碼中有錯誤:
dt << New Column( "Stage",
If( Formula( Substr( :Column 9, 1, 2 ) ) == "CP",
Formula( Left( :Column 9, 3 ) ),
" "
)
);
我想在原始第 9 列之外添加一個名為“Stage”的新列,如果以 CP 開頭,則將第一個 3 個字母留空,但我有錯誤
輸入意外結束。 可能缺少“,”或“)”。
試圖解析函數“新列”的參數。
第 207 行第 3 列:►
我懷疑我以錯誤的方式使用公式,這裡可能需要幫助:)
| 第 9 欄 |
階段 |
| NG |
|
| CP2-NAVI12 |
CP2 |
| CP1-NAVI12 |
CP1 |
| NG |
|
| CP2-NAVI12 |
CP2 |
回复:下面的代碼有什麼問題謝謝吉姆,明白了:)回复:下面的代碼有什麼問題您的代碼的問題是您不了解 New Column 函數中的 Formula 元素。您似乎正在接近這個問題,認為腳本行中具有函數(例如 Substr() 或 Left() )的每個段都需要被告知它是一個公式。實際上,jsl的整行:
If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" )
是需要聲明為新列的公式的內容。因此,需要將 New Column() 函數指定為:
dt << New Column( "Stage",
Character,
"Nominal",
Formula( If( Substr( :Column 9, 1, 2 ) == "CP", Left( :Column 9, 3 ), "" ) )
);