J'ai des problèmes importants en essayant d'exécuter une série de scripts JSL dans JMP 14 sur un terminal de collègues fonctionnant dans JMP 13. Les problèmes suivants sont survenus:
- dt = Current Data Table () ne semble fonctionner qu'une seule fois. Je dois continuer à identifier ce qu'est dt ou changer dt << en Current Data Table () <<.
- Ma balise BatchID échoue toujours, avec l'erreur suivante:
Formule BatchID de colonne interrompue
Nom non résolu: Groupe 1 fois Aux lignes: 2 Opération: Groupe, Groupe / * ### * /
Les erreurs d'évaluation de la formule ont été ignorées - L'erreur ci-dessus se produit avec chacune des balises groupe / année / semaine, si je supprime la variable de balise précédente.
Clear Symbols();
//Before running this script, be sure to Recode any problems in the AliasName column.
//Enter the abbreviation for your Group, the year "YY", and the Week # "WW" for the experiment.
New Window("Experiment Details",
<<MODAL></MODAL>Je peux publier un extrait de tableau de données si nécessaire.
Voir le code ci-dessous
Jeff, merci pour les conseils concernant la syntaxe, je vais intégrer cela dans les futurs scripts. Je ne suis toujours pas sûr de ce qui se passe précédemment dans le script qui provoque l'échec de la balise BatchId. J'attends toujours mon accès à JMP 14 pour pouvoir tester le code sur ma propre machine.
Je suis désolé que vous rencontriez des difficultés ici.
En général, ce n'est pas une bonne pratique de s'appuyer sur la table de données actuelle (), et c'est généralement assez facile à éviter.
Dans votre cas spécifique, vous comptez sur le résultat de votre fractionnement devenant la table de données actuelle. Comme vous l'avez découvert, ce n'est pas garanti.
dt << Split( Split By( :Loops ), Split( :PV ), Group( :Datetime, :BatchID ), Remaining Columns( Keep( :EFT ) ) );
Au lieu de cela, vous devez capturer le résultat du fractionnement dans votre variable, dt.
dt = dt << Split(
Split By( :Loops ),
Split( :PV ),
Group( :Datetime, :BatchID ),
Remaining Columns( Keep( :EFT ) )
);
//This sorts the data according to BatchID and then time.
//No longer need to set dt because it's already set above
//dt = Current Data Table();
dt = dt << sort( Replace table, By( BatchID ), Order( Ascending ) );