Comment obtenir un script à partir d'un tracé et l'enregistrer dans la table de données dans le script JSL ?J'essaie d'extraire le script d'un tracé et de l'enregistrer dans la table de données pour une utilisation future.
Vous trouverez ci-dessous mon script pour le tableau "Analgesics" de la "Sample Data Library", qui ne fonctionne pas comme je l'espérais.
La ligne "print(dtp_script)" affiche le bon script.
Cependant, le script "plot_dt1" réel enregistré dans la table de données contient uniquement le nom de la variable "dtp_script", au lieu du script réel. Comment enregistrer le script réel dans la table de données ? Merci!
dt = current data table ();
dtplot = dt << Fit Group( Oneway( Y( :pain ), X( :gender ) ),
Oneway( Y( :pain ), X( :drug ) ),
<<{Arrange in Rows( 2 )} );
dtp_script = dtplot << get script;
print (dtp_script);
dt << new script("plot_dt1", dtp_script );ScriptRe : Comment obtenir un script à partir d'un tracé et l'enregistrer dans la table de données dans le script JSL ?Merci! C'est très utile!
Re : Comment obtenir un script à partir d'un tracé et l'enregistrer dans la table de données dans le script JSL ?Si vous utilisez NameExpr(dtp_script), il renverra l'expression référencée par dtp_script.Vous pouvez ensuite mettre cela à la place de "dtp_script" dans votre dernière instruction.Cependant, pour ce faire, vous devrez demander à JMP d'évaluer NameExpr(dtp_script) avant d'envoyer le nouveau message de script à la table de données.Votre dernière déclaration devrait ressembler à ceci :
Eval(
EvalExpr(
dt << New Script("plot_dt1", Expr(Name Expr(dtp_script)))
)
)
Pour l'argument de EvalExpr(), tout ce qui se trouve à l'intérieur d'un Expr() est évalué sur place.EvalExpr() renvoie une expression dont la valeur évaluée remplace Expr(...).Dans ce cas, l'expression référencée par dtp_script.J'espère que ceci est clair.Vous pouvez en savoir plus sur la manipulation des expressions dans l'index des scripts (Aide -> Index des scripts) ou le Guide des scripts (Aide -> Bibliothèque de documentation JMP).