Salut tout le monde,
Je mets à jour un script sur lequel j'ai travaillé et une fois l'analyse terminée, je souhaite enregistrer une image de la fenêtre du rapport, puis enregistrer un script dans la table de données qui ouvrira l'image si l'utilisateur le souhaite. que. Chaque analyse générera une nouvelle image de rapport et j'ai besoin que le script soit enregistré dans la référence de table de données qui a mis à jour le nom de fichier (tous sont dans le même répertoire).
Remarque : je dois enregistrer le rapport sous forme d'image car j'ai des tables de données temporaires qui sont référencées lors de la création du rapport, et je ne souhaite pas enregistrer ces tables de données, même si je les enregistre dans le script de table de données. ce serait aussi cool si quelqu'un a une solution à ce problème.
Quoi qu'il en soit, ce avec quoi j'ai du mal, c'est que lorsque le nouveau script est enregistré dans la table de données, il écrit les variables dans mon script principal, pas les caractères que je veux. J'ai essayé Eval Insert() et Eval(Substitute(Expr())) pour essayer d'obtenir cela, mais rien ne fonctionne.
Vous trouverez ci-dessous un exemple d’un tel résultat de l’analyse :

L'analyse crée en fait une autre table de données afin de construire l'image GB en bas à droite, cette table de données :

Mais, lorsque l'analyse est terminée ou que l'utilisateur effectue une analyse sur une autre colonne, cette table de données est supprimée et je n'y ai plus de référence - j'ai essayé d'utiliser le << Script d'enregistrement de tous les objets dans les données. Commande Table, mais cela nécessite une référence à la table de données ci-dessus pour ensuite générer le générateur de graphiques, mais la table de données a maintenant disparu.
Au lieu de cela, je dois enregistrer la fenêtre au format png, ce qui est OK, et devrait ressembler à la première image ci-dessus, mais au format PNG. Une itération du code dans le script dans lequel je fais cela se trouve ici :
Button Box( "Save Results to DT",
path = dt << Get Path; //gets the dt's path
l = Length( path ) - Length( dt << GetName ) - 4; // takes off dt name and .jmp extension
dir = Left( path, l ); //actual path where the PNG file is supposed to be saved
If( N Items( Icols ) == 0 & N Items( Xcols ) == 0,
pic_name = "Self_Corr_" || ycols[1] || ".png"; //name of the picture
nwin[Outline Box( 1 )] << Save Picture( dir || pic_name, "png" ); //saves the report window as a PNG to the directory<BR /> full_name=dir||pic_name;
dt << New Script( "Self Corr of " || ycols[1], Open( full_name ) ); // the new script is supposed to substitute the actual dir name and pic_name, not the variables.
);
)
Il crée un script pour la table de données qui ressemble à ceci :

Mais le script devrait plutôt être celui-ci :

Où j'ai copié/collé ce qui devrait être dans le script pour montrer ce que j'essaie de faire faire au script principal. Cela devrait être faisable, mais toutes les tentatives que j'ai faites ne fonctionnent pas.
Comme mentionné précédemment, je suis d'accord pour enregistrer les rapports au format PNG et l'utilisateur ouvre simplement le rapport au format PNG dans JMP, mais si possible, je préfère que les tables de données temporaires soient enregistrées dans le New Script() afin que lorsque le L'utilisateur clique sur le script, il générera la table de données temporaires nécessaire pour une capacité interactive complète, mais je pense que ce sera plus difficile.
Merci pour toute contribution ou suggestion !,
DS