Comment modifier une DisplayBox existante avec JSL<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'essaie de créer un bouton qui modifiera la sortie de la boîte de dialogue Fit Model() pour inclure un R2 prévu dans le tableau Summary of Fit.Je saisis la fenêtre actuelle, puis j'ai besoin d'activer la statistique PRESS.Après cela, c'est assez simple et cela fonctionne surtout si j'ai déjà activé la statistique PRESS via le menu du concours.Cela fonctionne également si je code moi-même la boîte de dialogue Fit Model et que j'utilise la ligne deux pour activer la statistique PRESS, puis que je l'envoie au rapport.Le problème que je rencontre est que saisir la fenêtre actuelle () saisit une DisplayBox sans aucun moyen de demander à la plate-forme de faire les choses.J'ai envisagé de saisir le script pour créer la fenêtre, de fermer l'original et d'en exécuter un nouveau (un scintillement rapide de l'écran n'est pas trop grave), mais le << Get Script renvoie la structure arborescente, pas le script Fit Model().Y a-t-il quelque chose de facile qui me manque?J'écris ceci dans JMP 9, si cela peut aider.J'espère qu'il est compatible JMP 8, mais ce n'est pas important.Merci!
dg = Current Window();dg << PRESS; /###/press = dg[NumberColBox("Press RMSE")] << Get as Matrix;press = press[1];ss = dg[NumberColBox("Sum of Squares")] << Get as Matrix;lastrow = Nrow(ss);sst = ss[lastrow];predR = 1-press/sst;values = dg[NumberColBox(1)] << Get as Matrix;newvalues = J(1,6);newvalues[1::2] = values[1::2];newvalues[3] = predR;newvalues[4::6] = values[3::5];dg[StringColBox(1)] << Set Values({"RSquare","RSquare Adj","RSquare Pred","Root Mean Square Error","Mean of Response","Observations (or Sum Wgts)"});dg[NumberColBox(1)] << Set Values(newvalues);Re : Comment modifier une DisplayBox existante avec JSLMS - l'objet Get Scriptable résout parfaitement le problème !Je vois où le fait d'avoir un "groupe" pourrait causer des problèmes, mais je ne pense pas que ce sera un vrai problème étant donné le type de travail que nous faisons ici.Merci beaucoup de m'avoir guidé vers la solution !
dg = Current Window();fm = dg[OutlineBox(1)] << Get Scriptable Object;fm << PRESS(1);press = dg[NumberColBox("Press")] << Get as Matrix;press = press[1];ss = dg[NumberColBox("Sum of Squares")] << Get as Matrix;lastrow = Nrow(ss);sst = ss[lastrow];Re : Comment modifier une DisplayBox existante avec JSLOK je vois. La raison pour laquelle <
J'ai mis un certain temps à comprendre, mais l'approche ci-dessous, utilisant <
dt = Ouvrir ( "$ENGLISH_SAMPLE_DATA/Grande classe.jmp" ) ;
Ajuster le modèle (
Oui ( : lester ) ,
Effets ( : hauteur ) ,
Personnalité ( Moindres carrés standard ) ,
Accent ( Rapport minimal ) , Courir
) ;
adapter = Fenêtre ( "Grande classe : ajuster les moindres carrés" )[ boîte de contour ( 1 )] << obtenir un objet scriptable ;
adapter << Presse ( 1 ) ;
imprimer ( adapter << obtenir le script ) // Get Script fonctionne comme prévu !
Comment modifier une DisplayBox existante avec JSLMS - merci pour votre réponse rapide!Le problème est que pour que cela se déploie comme je le souhaite, il ne peut pas inclure la partie ci-dessous.
fit = Fit Model( Y( :ABRASION ), Effects( :SILICA, :SILANE ), Personality( Standard Least Squares ), Emphasis( Minimal Report ), Run( :ABRASION << {Plot Actual by Predicted( 0 ), Plot Regression( 0 ), Plot Residual by Predicted( 0 ), Plot Effect Leverage( 0 )} ));dg = Report( fit );
Je souhaite pouvoir le déployer en tant que complément pour que les utilisateurs finaux puissent simplement appuyer sur leur barre d'outils après avoir adapté un modèle à l'aide de l'interface JMP typique et lui faire ajouter les informations importantes.
Ce qui me déroute, c'est que je ne peux pas, via JSL, accéder au menu contextuel de la fenêtre si JMP l'a créée plutôt que JSL la crée.Je peux accéder facilement aux menus de niveau supérieur via JSL, mais pas au menu contextuel.De plus, je ne comprends pas pourquoi le message << Get Script renvoie l'arborescence de la fenêtre plutôt qu'un script JSL pour la créer comme ce que propose le menu contextuel.Je sais que JMP peut faire les choses que je veux, je semble juste être bloqué par JSL.
Comment modifier une DisplayBox existante avec JSLJe ne sais pas exactement ce que vous essayez de faire, mais je pense que vous devez envoyer le message Press(1) à un objet Fit Model plutôt qu'à un objet Window. Comme dans l'exemple ci-dessous (Exécuter puis cliquer sur "APPUYER"). Fonctionne sous JMP9 (Mac).
dt = Ouvrir ( "$English_Sample_Data/Tiretread.jmp" ) ;
adapter = Ajuster le modèle (
Oui ( : ABRASION ) ,
Effets ( : SILICE , : SILANE ) ,
Personnalité ( Moindres carrés standard ) ,
Accent ( Rapport minimal ) ,
Courir (
: ABRASION << { Tracé Réel par Prédit ( 0 ) , Régression de tracé ( 0 ) , Résiduel du tracé par prévision ( 0 ) ,
Effet de levier de l'intrigue ( 0 )}
)
) ;
dg = Rapport ( adapter ) ;
dg << ajouter (
Boîte à boutons ( "PRESSE" ,
adapter << presse ( 1 ) ;
presse = dg [ Nombre Col Boîte ( "Appuyez sur RMSE" )] << Obtenir comme matrice ;
presse = presse [ 1 ] ;
ss = dg [ Nombre Col Boîte ( "Somme des carrés" )] << Obtenir comme matrice ;
dernière rangée = N rangée ( ss ) ;
mst = ss [ dernière rangée ] ;
prédR = 1 - presse / mst ;
valeurs = dg [ Nombre Col Boîte ( 1 )] << Obtenir comme matrice ;
nouvelles valeurs = J ( 1 , 6 ) ;
nouvelles valeurs [ 1 :: 2 ] = valeurs [ 1 :: 2 ] ;
nouvelles valeurs [ 6 ] = prédR ;
nouvelles valeurs [ 3 :: 5 ] = valeurs [ 3 :: 5 ] ;
dg [ Boîte à cordes ( 1 )] << Ajouter un élément ( "RSquare Pred" ) ; // Ajouter des valeurs ne fonctionne pas, d'où la réorganisation
dg [ Nombre Col Boîte ( 1 )] << Définir les valeurs ( nouvelles valeurs ) ;
)
) ;
Comment modifier une DisplayBox existante avec JSLJuste pour être clair, la première ligne, dg = Current Window(); renvoie DisplayBox[] dans le journal.Je cherche un moyen d'accéder aux menus contextuels dans la fenêtre via JSL pour ajouter des éléments à la structure arborescente afin que je puisse les saisir plus tard, en particulier, comment signaler PRESS(1).Merci!