下面的代码有什么问题我在以下代码中有错误:
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 ), "" ) )
);