Automatiser la copie des scripts de table lors de la réexécution de « source »Salut,
Je crée une base de données dans Excel qui sera continuellement mise à jour. De nouvelles lignes et colonnes seront ajoutées périodiquement, et de nouvelles données seront ajoutées aux lignes existantes de temps à autre. J'ai donc commencé à utiliser le script « Source » pour mettre à jour la table JMP en aval correspondante.
Ma question est la suivante : existe-t-il un moyen de transférer les scripts de table existants vers la table mise à jour lors de l'exécution du script source ? J'ai un certain nombre de scripts de création de graphiques enregistrés dans la table JMP et je souhaite les copier automatiquement vers la nouvelle table à chaque exécution du script source. J'utilise la version 17 de JMP.
Merci!
FenêtresRe: Automatiser la copie des scripts de table lors de la réexécution de « source »Bienvenue dans la communauté.
Voici un exemple du code requis pour copier tous les scripts de table d'une table de données à une autre, moins le script de table source.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
names=dt<<GET table="" script="" names=""></GET>
<P>Vous devrez ajouter cette méthodologie à votre script source ou l'exécuter en tant que script séparé pour faire ce que vous essayez de faire.</P>
<P>Vous pouvez trouver des détails et des exemples des différents éléments de ce script dans l'index des scripts sous le menu déroulant Aide.</P>Re: Automatiser la copie des scripts de table lors de la réexécution de « source »Voici une autre option
Names Default To Here(1);
<BR />// Depending on your source script, there are different options of handling
// getting the reference to dt1 and dt2
dt1 = Open("$SAMPLE_DATA/Big Class.jmp");
dt2 = Open("$SAMPLE_DATA/Big Class Families.jmp");<BR />
dt2 << Delete Scripts(dt2 << Get Table Script Names); // for demo purposes
wait(1); // for demo purposes
<BR />t_scripts = dt1 << Get Table Script Names;
Remove From(t_scripts, Contains(t_scripts, "Source"), 1);<BR />
For Each({t_script}, t_scripts,
Eval(EvalExpr(
dt2 << New Script(t_script,
Expr(dt1 << Get Script(t_script));
);
));
);
wait(0);Re: Automatiser la copie des scripts de table lors de la réexécution de « source »Une autre approche :
Passez à JMP 18, c'est gratuit pour tous les utilisateurs sous licence.
Dans JMP 18, outre le script source, il existe un script de mise à jour :

qui mettra à jour la table elle-même - au lieu d'en créer une nouvelle. Les scripts ajoutés manuellement restent.
Avantages de « Update Table » par rapport aux « Source Scripts » :
Les scripts sources sont « fragiles » : JMP les écrase sans avertissement :
Mise à jour et concaténation : collision de script source
Inconvénients :
La mise à jour du tableau supprime toute colonne ajoutée manuellement
https://community.jmp.com/t5/JMP-Wish-List/Wizard-to-update-Excel-files-in-place-no-code-solution/idc-p/761983/highlight/true#M5540
Re: Automatiser la copie des scripts de table lors de la réexécution de « source »Je sais que je viens de laisser un autre commentaire disant que je vois votre aide JMP partout et c'est vraiment apprécié. Mais sérieusement. Je vois votre aide partout et c'est tellement utile. Merci pour tout ce que vous faites pour aider les gens.