Comment faire une boucle à l'aide d'une fonctionLa différence entre Function() et Expr(). Après msharp J'ai répondu à ma question hier, j'ai réalisé que j'avais tout mal fait. Actuellement, chaque sortie, qu'il s'agisse d'un tracé graphique ou d'une distribution, avait sa propre Expr() avec 3 itérations différentes à l'intérieur. En un mot, cela représente environ 20 scripts Expr(). La possibilité d'utiliser une fonction réduirait cela à un script de tracé graphique et un script de distribution. Ce que j'ai du mal à faire, c'est maintenant de parcourir la fonction.
J'ai joint l'exemple de tableau de données, un échantillon d'une seule des expressions que j'utilise pour tracer graphiquement et le début d'un script de fonction. J'apprécierais toute aide pour résoudre ce problème. Je peux utiliser la solution à ce problème et l’appliquer à bien d’autres. Vous pouvez exécuter le script original pour comprendre ce que j'essaie de faire.
Merci
PS si vous avez le temps, j'essaie de combiner les 3 journaux en un seul journal. J'essaie de revenir à un script publié sur ce fil
https://community.jmp.com/t5/Discussions/Combine-multiple-journals-into-one-journal/td-p/6129
Re : Comment faire une boucle avec une fonctionMerci M. Nelson,
J’apprécie vraiment l’aide que vous et la communauté apportez. Je dois vous dire que le codage en général est très nouveau et difficile pour moi. Vous parlez à une personne qui a obtenu un « C » en C++ et qui l'a utilisé. Pour chaque heure que je passe à coder, je passe 3 heures à lire le Guide de script, à utiliser l'Index de script et bien sûr à parcourir les forums. En raison de mon ignorance du codage en général et de ma tentative de traduire cela en JSL, je passe beaucoup de temps sur mon propre temps à apprendre. Je passe habituellement mon temps à lire le code qui a été publié ici et à essayer de revenir sur ce que j'essaie de faire.Je m'inscris aux webinaires pour en savoir plus et surtout avoir une idée de JMP 14 lors de son déploiement dans un avenir très proche. Je m'excuse si je pose trop de questions et si je cherche de l'aide plus que toute autre personne.
Cela dit, merci encore pour votre aide.
Re : Comment faire une boucle avec une fonctionTout d'abord, si vous souhaitez poursuivre le codage JSL, vous devez lire attentivement le guide de script.
Aide==>Livres==>Guide de script
Vous trouverez ci-dessous une refonte de votre script pour illustrer comment effectuer une boucle à l'aide d'une fonction et comment conserver toutes les sorties dans le même journal de sortie.Je sais que ce n'est pas exactement ce dont vous avez besoin, mais cela devrait vous donner un bon départ sur la façon de faire ce que vous voulez.
Names Default To Here( 1 );
dt = Current Data Table();
doGraphPlot = Function(
{dt, Xaxis, Yaxis, Grby, chnl},
Eval(
Substitute(
Expr(
gb = dt << Graph Builder(
invisible,
where( dt:Channel == __chnl__ ),
size( 600, 400 ),
show control panel( 0 ),
variables(
Y( Eval( Yaxis ) ),
X( Eval( Xaxis ) ),
Group X( Eval( Xgrby ) ),
Overlay( :RowCol )
),
elements( smoother( X, Y, legend( 19 ), lambda( 0.0001 ) ) )
)
),
Expr( __chnl__ ), chnl
)
);
Report( gb )[Outline Box( 1 )] << set title( "Channel = " || Char( chnl ) );
);
jjrn = New Window( "Data Plot - Output_1 vs Input", <<JOURNAL></JOURNAL>