JSL:列を1バイト整数に変更する方法私は大きなファイルを扱っており、メモリに関してはもっと節約しようとしています。 JSLを使用して一部の列のデータ型を「1バイト整数」に変更したいのですが、わかりません。
テーブルプリファレンスを「短い数値データ形式を許可する」に設定しました。列のデータ型を手動で変更できますが、JSLを使用して変更する必要があります。データ型を手動で変更してから、列をコピーしてスクリプトに貼り付けると、1バイト整数のデータ型が「Numeric(1)」のように見えることがわかります。 多分それは手がかりです。
これが私が試したいくつかのことです:
dt = open("$sample_data/big class.jmp");
dt:age << Data Type(1-byte integer); //error "Agument to Type..."
dt:age << Data Type("1-byte integer"); //error "Agument to Type..."
dt:age << Data Type(Character); //this works, changes to Character
dt:age << Data Type(Numeric); //this works, changes to Numeric
dt:age << Data Type(Numeric(1)); //no error, but data type stays Numericおそらく簡単なことですが、これまでのところ、JMPヘルプまたはコミュニティで解決策は見つかりませんでした。 どんな助けでもいただければ幸いです。 (私はJMP 16.1を使用しています。)
データ表スクリプティングRe:JSL:列を1バイト整数に変更する方法「1バイト」でスクリプトインデックスを検索:

動作しているようです:

Re:JSL:列を1バイト整数に変更する方法ありがとう! 列を作成するときにJMPに、1と0のみになるため、1バイト整数で十分であることを伝える方法を見つけたいと思っていました。
列のプロパティメニューを使用して列を1バイト、2バイト、または4バイトの整数に強制できるのは不思議に思えますが、スクリプトでは実行できません。これは、これらのデータ型を許可する設定オプションがあり、JSLはこれが有効かどうかを知るのに十分な「スマート」ではないが、GUIは有効であるという事実と関係があるのだろうか。

圧縮は解決策ですが、列にデータを入力する前にモデリングタイプを設定する方法を知っている人がいれば、それでも興味があります。
Re:JSL:列を1バイト整数に変更する方法これは、1バイトを使用して符号付き整数の短いワード長のデータ列として新しい変数を作成する例です。
Names Default to Here( 1 );
// open target data table
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// set JMP preferences to accept short numeric words
Set Preference( Allow short numeric data format( 1 ) );
// create a new column using shortened numeric data type
shorty = dt << New Column( "Short Age", Numeric( 1 ), Continuous,
Values( :age << Get As Matrix )
);
// your done. maybe set preference back to default
Set Preference( Allow short numeric data format( 0 ) );