列を結合する()で区切り文字に引数を指定するにはどうすればよいですか?以下は機能しません
Names Default To Here (1);
// Combine columns
dm = ".0";
Data Table( "myTable" ) << Combine Columns(
columns( :Col1, :Col2 ),
Column Name( "ID" ),
Delimiter(dm)
//Delimiter ("dm")
);ただし、引数を Delimiter に直接次のように書き込むと、
Delimiter(".0")動作します。デリミタに外部から引数を与えるにはどうすればよいでしょうか?
自動化とスクリプト作成Re: 列を結合する () で区切り文字に引数を指定するにはどうすればよいですか?これは、JMP がメッセージ内の引数を引数として評価しないために発生します。
Substitute を使用して dm の値を代入できます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Combine columns
dm = ":";
Eval(
Substitute(
Expr(
dt << Combine Columns(
columns( :name, :age ),
Column Name( "ID" ),
Delimiter( d )
)
),
Expr( d ), dm
)
);Re: 列を結合する () で区切り文字に引数を指定するにはどうすればよいですか?@ジェフ・パーキンソンありがとう。 この場合、区切り文字に条件がある場合のスクリプトの作成方法。たとえば、年齢 < 13 の場合は区切り文字 = ".0"、それ以外の場合は区切り文字 = ".1" とします。
Re: 列を結合する () で区切り文字に引数を指定するにはどうすればよいですか?の列の結合メッセージは次と同じことを行います。列 > ユーティリティ > 列の結合。
列の結合は条件付きをサポートしません。
代わりに、数式を含む新しい列必要に応じて他の列を連結します。
数式エディターで数式がどのように表示されるかを次に示します。

それを作成するための JSL は次のとおりです。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Combine columns
dm1 = ":";
dm2 = "-";
Eval(
Substitute(
Expr(
dt << New Column( "ID",
Character,
"Nominal",
Formula( :name || If( :age <= 13, d1, d2 ) || Char( :age ) ),
)
),
Expr( d1 ), dm1,
Expr( d2 ), dm2
)
);