Esecuzione di JSL in background senza che venga visualizzata alcuna finestraCiao,
Nuovo utente JSL qui. Ho un ciclo for nidificato in cui sto usando una piattaforma bivariata per estrarre Rsq per ogni coppia e creare una tabella di dati concatenata che alla fine conterrà tutti i valori Rsq per tutte le coppie. Sono in grado di ottenere l'output desiderato alla fine. Tuttavia, mentre lo script è in esecuzione, vengono visualizzate le tabelle temporanee e non riesco a renderle invisibili o chiuse (post contesa su un'altra tabella).
C'è un modo per attivare un interruttore e disattivare le finestre che si aprono? In caso contrario, qualcuno ha un suggerimento su come non fare in modo che lo schermo continui a far scoppiare le tabelle durante l'esecuzione? L'output dello script durante l'esecuzione è nell'allegato.
Lo script è sotto
For( i = 1, i <= 5, i++,
For (j= 1, j <= 5, j++,
biv = dt << Bivariate(
Y( ParmColumns[i] ),
X( ParmColumns[j] ),
Fit Line( {Line Color( {212, 73, 88} )} ),
Invisible
);
rbiv = biv << Report;
tb = rbiv[Table Box( 1 )];
mcdt = tb << Make Combined Data Table << Show Window( 1 );
if (counter == 0 ,
combineddt = mcdt
);
if (counter > 0 ,
combineddt << Concatenate(
mcdt,
"Append to first table"
);
);
counter ++;
rbiv << Close Window;
mcdt << Invisible;
combineddt << Invisible;
wait(.1);
);
);
// Select and delete all rows that are empty
combineddt << Select Where(:"Column 1" != "RSquare") << Delete Rows;
combineddt << Select Where(:X == :Y) << Delete Rows;
//save stacked data table
combineddt << Save (Output_File );
// Close data table and do not save JMP tables. CSV files are already saved.
Close All( Data Tables, NoSave );

Tabella datiRe: Esecuzione di JSL in background senza che venga visualizzata alcuna finestraGrazie @Mark_Bailey . Mi piace il modo in cui il codice sta utilizzando la funzione multivariata invece di quello che stavo cercando di fare con un complicato ciclo for annidato.
Molto da imparare! 
Re: Esecuzione di JSL in background senza che venga visualizzata alcuna finestraGrazie @gzmorgan0
Grazie per aver dedicato del tempo a rispondere a questa domanda 
Re: Esecuzione di JSL in background senza che venga visualizzata alcuna finestraRimuovere l'attesa(...) potrebbe essere sufficiente. Ciò dà al sistema operativo il tempo di mostrare la finestra. L'attesa di solito non è necessaria, oppure esiste un'alternativa che non ne ha bisogno, come <
modificare:
invece di
mcdt << Invisible; // does not work this way
quale @gzmorgan0 mostrato il giusto modo di utilizzare, probabilmente vorrai chiudere i tavoli non appena non servono più. Cambialo in
close(mcdt,"nosave");
Lascerei comunque fuori l'attesa(...) .
Re: Esecuzione di JSL in background senza che venga visualizzata alcuna finestraPuoi imparare molto da @gzmorgan0 la soluzione. Fornisce un quadro generale. In questo caso specifico, tuttavia, utilizzerò JMP in modo interattivo per ottenere ciò che voglio. Non è richiesta alcuna iterazione esplicita come JMP quasi calcola per te il risultato desiderato. Solo un passo in più alla fine.
In realtà, ho scritto uno script per farlo, ma i commenti dovrebbero fornire il percorso per il risultato che desideri.
Names Default to Here( 1 );
// open example with several continuous numeric variables
dt = Open( "$SAMPLE_DATA/Fitness.jmp" ) ;
// obtain names of such variables
cols = dt << Get Column Names( Continuous );
// convert the names to references
cols = dt << Get Column Reference( cols );
// use the references to launch platform with list of correlations
mult = dt << Multivariate( Y( Eval( cols ) ), Pairwise Correlations );
// obtain new data table with correlations
dt = Report( mult )["Pairwise Correlations"][TableBox(1)] << Make Into Data Table;
// convert correlations into linear coefficient of determination
dt << New Column( "R Square", Numeric, Continuous,
Values( (dt:Correlation << Get As Matrix)^2 )
);
Re: Esecuzione di JSL in background senza che venga visualizzata alcuna finestra@AmanS ,
Dovresti cercare "invisibile" per le finestre dei rapporti e invisibile e privato per le tabelle di dati.
Names Default To Here( 1 );
flag=random Integer(0,1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
if(flag==1,
obj = dt << Bivariate( Y( :Weight ), X( :Height ), Invisible ),
//else
obj = dt << Bivariate( Y( :Weight ), X( :Height ) )
); //end if