problema di salvataggio dello script nella tabella datiCiao a tutti,
Ho scritto uno script (poche centinaia di righe) che 1) apre una tabella dati esistente, 2) esegue un sacco di calcoli e quindi 3) sputa una nuova tabella dati con i risultati di questi calcoli. Poiché sto migliorando continuamente lo script, voglio assicurarmi di sapere quale versione esatta dello script è stata utilizzata per creare la nuova tabella dei dati di output e quindi ho pensato di salvare l'intero script nella tabella dei dati. Ho provato a utilizzare NewDt << save script to data table ma questo salverà solo come script la riga che ha creato NewDt, non lo script completo. Idealmente vorrei salvare non solo lo script ma anche la tabella dati originale da cui è stato creato il NewDt. Eventuali suggerimenti?
Saluti e grazie, Yves
Tabella datiScriptingRi: problema di salvataggio dello script nella tabella datiEcco un semplice script che ti mostrerà un modo per farlo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
biv = dt << bivariate( x( :height ), y( :weight ) );
theScript = Char( biv << get script );
Eval( Parse( "\[dt<<NEW script=""></NEW>
Ri: problema di salvataggio dello script nella tabella datiGrazie Jim ma non credo che risolva il mio problema. Il mio problema è più simile al seguente:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
m = dt << Get All Columns As Matrix();
Several lines of matrix algebra with the columns of m producing various vectors y1, y2, y3
dt2=as table(y1, y2, y3);
Voglio che l'intero script sopra sia salvato in dt2. Grazie ancora, Yves
Ri: problema di salvataggio dello script nella tabella datiQuindi la domanda è: da dove vengono gli elementi dello script che è necessario mettere insieme per costruire la stringa letterale che ho chiamato "theScript". Allora da dove viene quello che chiami "script completo"?Re: problema con il salvataggio dello script nella tabella datiEcco un semplice esempio di cosa dovrete fare per creare uno script di questo tipo. I componenti che non potrete ottenere da JMP, dovrete aggiungerli allo script man mano che lo create. In pratica, basta concatenarlo man mano che procedete. Poi, una volta terminato, aggiungetelo alla tabella dati.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt = current data table();
theScript = "\[dt = current data table(); ]\";
If( try( dt:ratio << get name,"") == "",
dt<
<NEW column=""></NEW>
<P>Ho anche usato un metodo in cui prima costruisco l'intero script come stringa letterale, e poi lo salvo come script. Poi giro ed eseguo lo script salvato, che a sua volta fornisce i risultati.</P> <CODE class=" language-jsl">theScript = "\[
dt = current data table();
dt << bivariate( x(:weight), y(:height));
]\";
Eval( Parse( "\[dt<
<NEW script=""></NEW>