JSLに関する初心者の質問選択した行をJSLを使用してcsvまたはjmpファイルに保存したい。 しかし、私はそれを行うことができません誰かがそれを行う方法を教えてもらえますか?
次のコードで試しましたが、保存方法が間違っているようです。
f = Function( {a},
theRows = Current Data Table() << get selected rows;
Show( theRows );
);
rs = Current Data Table() << make row state handler( f );
filepath = "C:\Users\abc\Desktop\trial";
rs << save( filepath || "\" || "part1.jmp" );分析データ表スクリプティングウィンドウズRe:JSLに関する初心者の質問これを処理する方法はたくさんあります。以前の説明から、Partition()プラットフォームでこのJSLを使用することを想定しています。これは、私がソリューションにアプローチする方法です。
f = Function( {a},
theRows = Current Data Table() << get selected rows;
Show( theRows );
);
rs = Current Data Table() << make row state handler( f );
filepath = "C:\Users\abc\Desktop\trial";
rs << save( filepath || "\" || "part1.jmp" );Re:JSLに関する初心者の質問はい、Partition()プラットフォームに関連していますが、コードを実行してデータを保存すると、保存できません。 ログにエラーが表示されないため、コードがどこで失敗しているのか理解できないため、コードを添付しました。
Re:JSLに関する初心者の質問プログラムフローを確認する必要があると思います。行が定義される前にファイルを保存することはできません。
この小さな例は、処理方法を示している可能性があります。パーティションが閉じられているときに、パーティションプラットフォームから選択した行をテーブルに保存します。 しかし、ジムが述べたように:多くの方法!
Names Default To Here( 1 );
// opens partition platform on Big Class data table
// when rows are selected, and platform is closed, selected rows are saved in separate data table
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
obj = Partition( Y( :weight ), X( :sex, :height ), Method( "Decision Tree" ), Validation Portion( .2 ) );
obj << split best();
// When partition window is closed do this:
obj << on close(
If( N Items( dt << get selected rows() ) > 0,
dtTemp = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
filepath = "$TEMP";
Close( dttemp, save( filepath || "\" || "part1.jmp" ) );
// open file again
Open( filepath || "\" || "part1.jmp" );
)
);
Re:JSLに関する初心者の質問前回の回答で提供したJSLを間違えました。それ以来、私は自分の回答を訂正しました。
この応答では、提供されたJSLを拡張し、新しいSelectRowsが指定されるたびにサブセット化されたテーブルを保存する完全な例を提供しました。
Partition()ウィンドウを閉じると、行状態ハンドラーも削除されます。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\semiconductor capability.jmp" );
tableCount = 0;
theRows = [];
f = Function( {a},
// Set dupRows to the previously selected rows
dupRows = theRows;
// Get the current selected rows
theRows = Current Data Table() << get selected rows;
If( N Rows( theRows ) > 0,
// check to see if there are the same number of rows and if yes
// then validate the rows are different rows before saving
If( N Rows( theRows ) == N Rows( dupRows ),
If( Sum( dupRows == theRows ) != N Rows( theRows ),
tableCount++;
dtTemp = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
filepath = "$TEMP";
Close(
dtTemp,
save( filepath || "\" || "part" || Char( tableCount ) || ".jmp" )
);
Current Data Table( dt );
);
,
// If not the same number of selected rows, save the subset
tableCount++;
Show( tableCount );
dtTemp = dt << subset( invisible, selected rows( 1 ), selected columns( 0 ) );
filepath = "$TEMP";
Close( dtTemp, save( filepath || "\" || "part" || Char( tableCount ) || ".jmp" ) );
Current Data Table( dt );
)
);
);
rs = Current Data Table() << make row state handler( f );
obj = Partition(
Y( :NPN1 ),
X( :PNP1, :PNP2, :PNP3, :PNP4, :NPN2, :NPN3, :NPN4 ),
Method( "Decision Tree" ),
Validation Portion( .2 )
);
obj << ShowGraph( 0 );
obj << SplitBest( 4 );
obj << Show Split Count( 1 );
obj << Show Split Prob( 1 );
Wait( .5 );
//obj << Save Predicteds;
obj << on close( Clear Symbols( rs ) );