新しい列のデータ型を設定こんにちは、新しい列のデータ型を条件付きおよびプログラムで設定するにはどうすればよいですか? 数値/文字をカバーする回避策があり、他のタイプにも拡張できますが、以下の方法(「機能していません」とマークされています)を機能させようとしています。 ログは、型変数を認識していないことを示しています。 parse() のようないくつかのことを試しましたが、これまでのところ成功していません。
Names Default To Here( 1 );
dt = open( "$SAMPLE_DATA\Big Class.jmp");
colType = column(dtData,"Name") << get data type;
// doesn't work, error on colType
dt << add multiple columns("New Column", 1, After("Name"), colType);
// works
dt << add multiple columns("New Column", 1, After("Name"), Numeric);
if(colType == "Character", column(dt, "New Column") << data type ("Character"));Re: 新しい列のデータ型を設定するジムはそれを釘付けにしました。あなたのコードとよりよく共鳴する場合に備えて、そのステートメントを構築するためのいくつかの方法を次に示します。
Eval Insert、Eval Expr、Parse、および Substitute を使用して、ある式を別の式に挿入します。
Re: 新しい列のデータ型を設定するAdd Multiple Columns は、ステートメントを実際に実行する前に解析できるようには見えません。したがって、[複数の列を追加] として表示される内容は、JMP に渡して実行する前に、完全に具体化する必要があります。これを行うにはいくつかの方法があります
Names Default To Here( 1 );
dt = Current Data Table();
coltype = "character";
Eval(
Parse(
Eval Insert(
"dt << add multiple columns(\!"New Column\!", 1, After(\!"Name\!"), ^colType^)"
)
)
);
// or
Eval(
Substitute(
Expr(
dt << add multiple columns(
"New Column",
1,
After( "Name" ),
__type__
)
),
Expr( __type__ ), colType));