Re : Exécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'afficheMerci @Mark_Bailey . J'aime la façon dont le code rationalisé utilise la fonctionnalité multivariée au lieu de ce que j'essayais de faire avec une boucle for imbriquée compliquée.
Beaucoup à apprendre ! 
Re : Exécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'afficheMerci @gzmorgan0
Merci d'avoir pris le temps de répondre à cette question 
Re : Exécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'afficheSupprimer le wait(...) peut suffire. Cela donne au système d'exploitation le temps d'afficher la fenêtre. Wait n'est généralement pas nécessaire, ou il existe une alternative qui n'en a pas besoin, comme <
Éditer:
à la place de
mcdt << Invisible; // does not work this way
lequel @gzmorgan0 montré la bonne façon de les utiliser, vous voudrez probablement fermer les tables dès qu'elles ne sont plus nécessaires. Changez-le en
close(mcdt,"nosave");
Je laisserais encore de côté l'attente(...) .
Re : Exécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'afficheVous pouvez apprendre beaucoup de @gzmorgan0 la solution. Il fournit un cadre général. Dans ce cas précis, cependant, j'utiliserai JMP de manière interactive pour obtenir ce que je veux. Aucune itération explicite n'est requise car JMP presque calcule pour vous le résultat souhaité. Juste une étape supplémentaire à la fin.
En fait, j'ai écrit un script pour le faire mais les commentaires doivent fournir le chemin vers le résultat que vous souhaitez.
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 : Exécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'affiche@AmanS ,
Vous devez rechercher "invisible" pour les fenêtres de rapport et invisible vs privé pour les tableaux de données.
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 ifExécuter JSL en arrière-plan sans qu'aucune fenêtre ne s'afficheBonjour,
Nouvel utilisateur JSL ici. J'ai une boucle for imbriquée dans laquelle j'utilise une plate-forme bivariée pour extraire Rsq pour chaque paire et créer une table de données concaténée qui contiendra éventuellement toutes les valeurs Rsq pour toutes les paires. Je suis en mesure d'obtenir la sortie souhaitée à la fin. Cependant, pendant que le script est en cours d'exécution, des tables temporaires s'affichent et je n'arrive pas à les rendre invisibles ou à les fermer (poster à une autre table).
Existe-t-il un moyen de basculer un interrupteur et d'éteindre toutes les fenêtres pour qu'elles apparaissent ? Si ce n'est pas le cas, quelqu'un a-t-il une suggestion pour que l'écran ne continue pas à afficher des tables pendant l'exécution ? La sortie du script lors de son exécution se trouve dans la pièce jointe.
Le script est ci-dessous
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 );

Ingénierie de la qualité et des procédés