Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai un script planifié exécuté quotidiennement qui enregistre une table de données.
Cependant, j'aimerais inclure des graphiques que je peux créer manuellement et enregistrer dans un tableau de données.
Est-il possible de mettre cela dans le script ?
Toute aide appréciée.
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.@jthi Merci beaucoup, c'est exactement ce que je veux. Vous êtes le meilleur!!!
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Quelques questions:
- Colonne sélectionnée nommée "XXXX". Cette colonne est-elle vraiment sélectionnée dans la table ou simplement le nom de la colonne qui sera pré-scripté ?
- Mettre XXXX deux fois. Vous voulez dire dans le nom du script de la table, puis comme nom de colonne ? Lorsque vous avez une liste, comment le script de table doit-il être nommé ? Quelle peut être la longueur de la liste ?
- STD3X avec un numéro réel dans le script et non une variable. Je ne suis pas sûr de ce que cela signifie ? N'est-ce pas déjà un nombre qui est calculé sur la base de vos données ?
- Pas aussi important que les questions ci-dessus : comment le script est-il construit/exécuté ?
Cela ne gérera pas la liste des noms de colonnes, car je ne suis pas sûr de ce qu'il faut faire avec cette liste
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
col_of_interest = "height";
std3x = 3 * Col Std Dev(If(:sex == "F", Column(col_of_interest)));
table_script_expr = EvalExpr(
Oneway(
Y(Expr(Column(col_of_interest))), X(:sex), Equivalence Tests(Expr(std3x), 0.05, "Pooled Variance");
);
);
Eval(
Substitute(
Expr(dt << New Script(Eval Insert("^col_of_interest^-TOST"), _table_script_)),
Expr(_table_script_), Name Expr(table_script_expr);
)
);

Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Salut @txnelson , pouvez-vous m'aider à réécrire mon code ci-dessous ? Je souhaite créer un JSL capable d'effectuer le TOST pour la colonne sélectionnée nommée "XXXX", puis enregistrer le script dans la table JMP. Il y a quelques problèmes dans le code ci-dessous, d'abord je dois mettre le XXXX deux fois dans le code ci-dessous, ce qui n'est pas efficace, et aussi à l'avenir je veux remplacer XXXX par une liste afin de pouvoir faire plusieurs analyses à la fois. Deuxièmement, je souhaite remplacer STD3X par un nombre réel dans le script et non par une variable. J'ai essayé de le modifier en fonction de @Mark_Bailey Le code ci-dessous, mais cela ne fonctionne pas. Pourriez-vous m'aider s'il vous plaît? Merci beaucoup.
dt = Current Data Table();
dt << New Script(
"XXXX-TOST",
ColName = "XXXX";
STD3X = 3 * Col Std Dev( If( :"Size" == "Small", :Column( ColName ) ) );
Oneway(
Y( :Column( ColName ) ),
X( :Scale ),
Unequal Variances( 1 ),
Std Dev Lines( 1 ),
Equivalence Tests( STD3X, 0.05, "Pooled Variance" )
);
);
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Vous étiez sur la bonne voie :
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = dt << Distribution( Column( :Height, :Weight ), By( :sex ) );
dist expr = dist << Get Script;
Eval(
Substitute(
Expr(
dt << New Script( "New Script",
sss
);
),
Expr( sss ),
Name Expr( dist expr )
)
);
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Comment utiliser une instance d'un objet (tel que Distribution ou Gaph Builder) comme argument de la fonction Nouveau script ?
Par exemple, j'ai essayé quelque chose de similaire à l'exemple fourni ci-dessous, mais le contenu du "Nouveau script" dans la table de données finit par être "dist" et non le script à partir duquel dist a été construit.
J'ai également essayé de remplacer "dist" dans l'exemple ci-dessous par "dist << Get Script", mais encore une fois, le script réel enregistré dans la table est renseigné avec la chaîne explicite "dist << Get Script", et non la source du script.
J'espère que la question est claire. Merci.
dt <SPAN class="token operator">=</SPAN> <SPAN class="token function">Open</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"$SAMPLE_DATA/Big Class.jmp"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;<BR /></SPAN>dist = Distribution<SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Height<SPAN class="token punctuation">,</SPAN> <SPAN class="token punctuation">:</SPAN>Weight <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> By<SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>sex <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
dt <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> New Script</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token string">"New Script"</SPAN><SPAN class="token punctuation">,</SPAN>
dist
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.En plus de ce que d'autres ont dit, gardez à l'esprit que JMP Pro 12 a la capacité de stocker plusieurs tableaux, graphiques, graphiques, etc. dans Application Builder, qui a la capacité de mettre à jour automatiquement chaque tableau, graphique, graphique, etc. lancement en supposant que ces tables sont scriptées vers des tables de mise à jour.
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Salut Jim,
Merci pour cette information, le script fonctionne désormais parfaitement. Je crois que j'allais à ce que nous appelons JMP aveugle.
Je suis nouveau sur ce site Web mais je voudrais ajouter que cette information n'a tout simplement pas de prix.
Je peux désormais sauvegarder quotidiennement le tableau de données pour les autres et il leur suffit de cliquer sur le triangle rouge qui produit à chaque fois le même graphique.
Merci pour l'instant.
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Vos 2 premières lignes sont incorrectes.Ils devraient être:
dt=table de données("xfer_split");
dt << Nouveau script("Ajuster Y par X",
Je pense que ces changements devraient créer le script dans la table de données.L'exécution du script nécessitera toujours que l'individu clique sur le triangle rouge à côté du script intégré et sélectionne "Exécuter le script".
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Salut Jim,
Merci pour l'info
Voici ce que j'exécute maintenant, voir ci-dessous.
Problème, je ne vois pas le graphique, et/ou il ne semble pas apparaître au même endroit que si vous le faisiez manuellement, pourriez-vous m'aider ici.
Names Default To Here( 1 );
dt = ("XFER_SPLIT");
<< New Script("Fit Y by X",
Fit Group(
Bivariate( Y( :MEDIAN BISN_RES ), X( :PDATETIME ) ),
Oneway(
Y( :MEDIAN BISN_RES ),
X( :MACH ),
Means and Std Dev( 1 ),
Mean Error Bars( 1 ),
Std Dev Lines( 1 ),
X Axis Proportional( 0 ),
Points Jittered( 1 )
),
<<{Arrange in Rows( 2 )}
));
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Oui, le message/la fonction Nouveau script est ce que vous souhaitez utiliser.
Si le graphique que vous souhaitez produire est toujours le même graphique, il vous suffit alors de prendre le script que vous êtes en train d'enregistrer manuellement dans la table de données et de le coller dans le message "Nouveau script".
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Script(
"<GIVE the="" script="" whatever="" name="" you="" want="">",
<PASTE the="" script="" here="">
);</PASTE></GIVE>
Si vous ne savez pas comment obtenir le script qui produit le graphique, tout ce que vous avez à faire est de cliquer avec le bouton droit sur le triangle rouge situé à gauche du script que vous avez enregistré dans la table de données, puis de sélectionner « Modifier ».Vous pouvez copier à partir de la fenêtre qui affiche le script.
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Vous avez raison, txnelson C'est exactement ce que fait l'exemple de New Script de . gzmorgan0 présente une alternative intéressante à l’inclusion de graphiques avec des tables de données.
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Désolé de ne pas avoir rendu très clair ce que je demande, je vais essayer de suivre cela étape par étape ici.
1) J'ai un script planifié exécuté quotidiennement qui enregistre une table de données, pas de problèmes ici.
2) Dans le tableau de données, manuellement ou à l'aide d'un script, je crée un "graphique",
Ensuite, manuellement, je peux pour ce "graphique" - "Enregistrer le script dans la table de données" qui enregistre ensuite le graphique dans la table de données, puis lorsque la table de données est enregistrée puis rouverte, le script peut être facilement ouvert/exécuté.
La question est la suivante : cela peut-il être scripté avant d'enregistrer la table de données et l'option "Nouveau script" est-elle la manière de procéder ?
J'espère que cela t'aides.

Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.À partir de votre demande, il est difficile de déterminer si vous souhaitez (1) utiliser la fonctionnalité JMP 12 pour ajouter les graphiques sous forme de colonne d'expression ; ou (2) vous souhaitez intégrer un fichier journal de graphiques ; ou (3) ajoutez un script pour générer les graphiques.Jim Nelson a fourni un exemple pour le numéro 3.
L'exemple de code ci-dessous utilise les exemples de données JMP des scores SAT, crée un rapport récapitulatif des scores mathématiques et verbaux SAT par État et, pour chaque État, intègre un tracé de tendance superposé dans une colonne d'expression pour la ligne correspondante et fait de la colonne d'expression un étiquette.
Il inclut également l'utilisation de Graph Builder pour fournir un exemple d'utilisation de ce tableau.Passez la souris sur un État et consultez le tracé des tendances. Ceci est un exemple pour le n°1. Si vous recherchez un exemple pour le numéro 2 ou autre chose, veuillez fournir plus de détails.
dtraw = Open("$sample_data\SATByYear.jmp");
ovl = Overlay Plot(
X( :Year ),
Y( :SAT Verbal, :SAT Math ),
Y Scale( Left, Right ),
Connect Thru Missing( 1 ),
By( :State ),
SendToReport(
Dispatch( {}, "Overlay Plot Graph", FrameBox, {Frame Size( 288, 158 )} ),
Dispatch(
{},
"Overlay Plot Graph",
FrameBox( 2 ),
{Frame Size( 288, 158 )}
)
)
);
dtsumry = dtraw << Summary(
Group( :State ),
Mean( :SAT Verbal ),
Mean( :SAT Math ),
Freq( "None" ),
Weight( "None" )
);
dtsumry << new Column("ByYearPic", Expression);
for(i=1, i<=nitems(ovl), i++,
ttl = report(ovl[i])[OutlineBox(1)] << get title();
report(ovl[i])[OutlineBox(1)] << set title(word(2,ttl, "=") || " Scores by Year");
pic = ovl[i] <<GET picture=""></GET>
Re : Comment puis-je créer un script JSL pour enregistrer un graphique dans la table de données.Il vous suffit d'utiliser le message New Script.Voici l'exemple simple de :
Aide==>Index des scripts
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Script(
"New Script",
Distribution( Column( :Height, :Weight ), By( :sex ) )
);