if 語句在 jsl 中不起作用大家好。
您能檢查一下我的 if 語句有什麼問題嗎?我想運行幾個 jsl 命令,以防條件為真(在我的例子中,規範檔案名稱如程式碼中所寫),但它不起作用。
其他一切都運作正常,只是 if 語句不行。
我的 JMP 版本是 18
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If( :SPECFILE == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" ) ;
,
If( :SPECFILE == "SMLA", Formula(
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
)
)
);
謝謝,
雷謝夫
視窗回覆:If 語句在 jsl 中不起作用如果您將: SPECFILE 更改為 SPECFILE 可能就足夠了( : SPECFILE (通常)會引用列)。
回覆: if 語句在 jsl 中不起作用你好。
謝謝!但「SPECFILE」確實是我的 jmp 表中的一列。
無論如何,我嘗試過,但行不通。
也許它是什麼分隔了我的 IF 語句中的 jsl 指令?
或者,也許不可能在一個 IF 語句中執行多個 jsl 指令?
謝謝,
雷謝夫
回覆: if 語句在 jsl 中不起作用然後,您必須定義行(例如,Row() = 1;)或使用 For Each Row 循環表中的行。 JMP 中的「預設」行為 0,這不是有效行
回覆:If 語句在 jsl 中不起作用如果您想要做的是查看“SPECFILE”列中第 1 行的值,然後根據它做出決策,下面的 JSL 將是您想要的
Names Default To Here( 1 );
dt = Current Data Table();
dt << Select Columns( :PARAMETER );
dt << Text To Columns( delimiter( "_" ) );
dt << delete columns( :PARAMETER 1 );
If(
:SPECFILE[1] == "MS-SMLD",
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
:PARAMETER 5 << set name( "Column_name4" );
:PARAMETER 6 << set name( "Column_name5" );,
:SPECFILE[1] == "SMLA",
dt << delete columns( :PARAMETER 5 );
:PARAMETER 2 << set name( "Column_name1" );
:PARAMETER 3 << set name( "Column_name2" );
:PARAMETER 4 << set name( "Column_name3" );
);