Question de débutant sur JSLJe souhaite enregistrer les lignes sélectionnées dans un fichier csv ou jmp à l'aide de JSL. Mais je ne suis pas capable de le faire Quelqu'un peut-il me dire comment le faire?
J'ai essayé avec le code suivant, mais la façon de l'enregistrer semble être erronée :
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" );AnalytiqueTableau de donnéesScriptles fenêtresRe: Question de débutant sur JSLIl existe de nombreuses façons de gérer cela.Je suppose que vous allez utiliser ce JSL avec la plate-forme Partition () de votre discussion précédente, c'est la façon dont j'aborderais la solution
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: Question de débutant sur JSLOui, c'est lié à la plate-forme Partition() Mais lorsque j'exécute le code pour enregistrer les données, je ne suis pas en mesure de l'enregistrer. J'ai joint mon code car je ne parviens pas à comprendre où le code échoue car dans le journal, il n'affiche aucune erreur.
Re: Question de débutant sur JSLJe pense que vous devez voir le déroulement du programme, vous ne pouvez pas enregistrer le fichier avant que les lignes ne soient définies.
Peut-être que ce petit exemple montre comment vous pouvez gérer, il enregistre les lignes sélectionnées de la plate-forme de partition dans une table, lorsque la partition est fermée. Mais comme Jim l'a mentionné : de nombreuses manières !
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: Question de débutant sur JSLJ'ai fait une erreur dans le JSL que j'ai fourni dans ma dernière réponse.J'ai depuis corrigé ma réponse.
Dans cette réponse, j'ai développé votre JSL fourni et fourni un exemple complet qui enregistrera la table des sous-ensembles chaque fois qu'une nouvelle sélection de lignes est spécifiée.
Le gestionnaire d'état de ligne est également éliminé lorsque la fenêtre Partition() est fermée.
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 ) );