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é qui s'exécute quotidiennement et qui enregistre une table de données.
Cependant, je voudrais inclure des graphiques que je peux faire manuellement et enregistrer dans une table 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.Salut @txnelson , pouvez-vous m'aider à réécrire mon code ci-dessous ? Je veux créer un JSL qui peut faire 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, premièrement 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 que je puisse faire plusieurs analyses à la fois. Deuxièmement, je veux 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 's code ci-dessous, mais cela ne fonctionne pas. Pourrais-tu m'aider s'il te 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 New Script ?
Par exemple, j'ai tenté 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 qui est enregistré dans la table est rempli 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, diagrammes, graphiques, etc. dans l'Application Builder, qui a la capacité de mettre à jour automatiquement chaque tableau, graphique, diagrammes, etc. launch en supposant que ces tables sont scriptées dans une table 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 info, le script fonctionne maintenant parfaitement. Je crois que j'allais ce que nous appelons JMP aveugle.
Je suis nouveau sur ce site mais je voudrais ajouter cette information est tout simplement inestimable.
Je peux maintenant sauvegarder quotidiennement le tableau de données pour les autres et tout ce qu'ils ont à faire est de cliquer sur le triangle rouge qui produit le même graphique à chaque fois.
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 je cours 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 le faire 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/fonction Nouveau script est ce que vous voulez utiliser.
Si le graphique que vous souhaitez produire est toujours le même graphique, il vous suffit de prendre le script que vous enregistrez actuellement 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, il vous suffit 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 L'exemple de New Script accomplit exactement cela. 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 été très clair sur ce que je demande, je vais essayer de suivre cette é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 la table 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 / Ran.
La question est de savoir si cela peut être scripté avant d'enregistrer la table de données et est-ce que l'option "Nouveau script" est la façon de le faire?
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 en tant que colonne d'expression ; ou (2) vous souhaitez intégrer un fichier journal de graphiques ; ou (3) ajouter un script pour générer les graphiques.Jim Nelson a fourni un exemple pour #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 SAT Mathématiques et Verbaux par État et, pour chaque État, intègre un graphique de tendance de superposition dans une colonne d'expression pour la ligne correspondante, et fait de la colonne d'expression une étiquette.
Il inclut également l'utilisation de Graph Builder pour fournir un exemple d'utilisation de ce tableau.Survolez un État et affichez le tracé de la tendance. Ceci est un exemple pour #1. Si vous cherchez un exemple pour #2, ou quelque chose d'autre, 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.Vous avez juste besoin d'utiliser le message Nouveau 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 ) )
);