JSLで新しい列のデータ型を条件付きで設定する方法こんにちは、どうやったら新しいカラムのデータタイプを条件付きでそしてプログラムで設定することができますか?私は数値/文字をカバーする回避策を持っています、そしてそれは他の型のために拡張されることができます、しかし私はうまくいくように下記の方法( 'not working'と記される)を得ようとしています。ログは、タイプ変数を認識していないことを示しています。私は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"));
ありがとう、
マイク
再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?ありがとうございます。
再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?この問題を報告していただきありがとうございます。元の記事はJSL内の欠陥を明らかにしました。いくつかの巧妙な解決策が提供されました、それはすばらしい回避策でした。JMP 14では、元のコード(スクリプトの例では「機能しません」とマークされていました)が正しく正しく機能するようになりました。
再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?ありがとうございます。再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?あなたは正しいです。 これは通常、式を生成するための最良の方法です。
再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?ありがとうジム。それはうまくいきます。eval(replacement(expr(...)))はいつ使うべきかについて私を混乱させています。なぜならそれはそれが行く必要があるところに変数を得るための過度に複雑な方法のようです。そのような式に変数を代入しようとした場合、それは常に必要であると言うのは公平ですか?
ありがとう、
マイク
再:どうすればJSLの新しい列のデータ型を条件付きで設定するのですか?これはあなたのためのトリックを行います
Eval(
Substitute(
Expr(
dt << add multiple columns( "New Column", 1, After( "Name" ), __coltype__ )
),
Expr( __colType__ ), Parse( coltype )
)
)