<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Quelqu'un a-t-il vu cette fenêtre contextuelle apparaître en essayant de supprimer des lignes ?J'ai collé le code que j'utilise ci-dessous.
Sur plusieurs de mes scripts, j'ai vu cette boîte de dialogue apparaître - il n'y a pas d'autre option que "Ok", et une fois que vous avez cliqué dessus, le script continue normalement.Cela fait partie d'une boucle itérative et, étrangement, cela ne se produit pas à chaque itération.
Au début, je pensais que cela se produisait parce que la sélection de lignes dans le code était nulle, mais lorsque j'ai remplacé la ligne "checkweek<
if (nrows(checkweek<0, checkweek<
J'ai commencé à recevoir des erreurs de JMP indiquant qu'il ne pouvait pas résoudre la ligne suivante.
FBListWeek=:Cause<
J'ai même ajouté une fenêtre de table de données checkweek<
J'exécute JMP 9 sur une machine Windows 7 Enterprise dotée de 32 Go de RAM, et il n'y a rien de remarquable avec la table, à l'exception du fait qu'elle est très volumineuse (plus d'un million de lignes).
Merci d'avance,
Eugène.
Code:
pour(i=1,i<=nvecteur,i++,
table de données actuelle (semaine);
paretoweek = Pareto Plot( Cause( :FB ), Par Unit Rates( 1 ), Where( :PKG == eval(pkgnames ) & :Sort_Config == eval(sortconfignames ) ) );
rparetoweek=paretoweek<
rparetoweek[tablebox(1)]<
checkweek=table de données("checkweek");
checkweek<
checkweek<
checkweek<
checkweek<
FBListWeek=:Cause<Re : Une question de script JSL : Alerte JMP Veuillez sélectionner les lignes à supprimer
J'ai envoyé un e-mail au service d'assistance, et il s'avère que c'est la solution:
Il semble que le message contextuel puisse être généré car aucune ligne n'est sélectionnée.Si vous exécutiez le script à partir d'un fichier JSL, le message serait envoyé au journal et le script continuerait.Toutefois, si le script était appelé à partir d'un bouton, JMP n'est plus en mode batch et émettra des messages de manière interactive.Cela peut être géré de l'une des deux manières suivantes :
un. Ajoutez la fonction Batch Interactive au script du bouton pour définir l'environnement d'exécution sur batch au début du bouton
script et le désactive à la fin du script du bouton :
Lot Interactif( 1 ); //Temps différé
Lot Interactif( 0 ); // Revient au mode précédent
b (il s'avère que cette option n'a pas fonctionné pour moi, qui consiste à mettre la vérification de sélection de ligne nulle conditionnelle).
Eugé,
J'ai trouvé que dans JMP 9 et versions ultérieures, un moyen plus robuste de supprimer des lignes consiste à utiliser les "supprimer les lignes" avec un "obtenir les lignes où" intégré.
Cela évite d'essayer de transmettre une référence à une table avec un changement dans l'état de la ligne sélectionnée dans une commande suivante, qui peut ou non être à l'origine du problème.
Par exemple:
dt=currentdatatable();
dt<
Je ne sais pas si c'est le problème dans votre exemple, mais pensez à essayer.
pour(i=1,i<=nvecteur,i++,
table de données actuelle (semaine);
paretoweek = Pareto Plot( Cause( :FB ), Par Unit Rates( 1 ), Where( :PKG == eval(pkgnames ) & :Sort_Config == eval(sortconfignames ) ) );
rparetoweek=paretoweek<
rparetoweek[tablebox(1)]<
// envisagez ici d'ajouter également un wait (0), afin que la table soit créée avant qu'il n'y ait une tentative de suppression de lignes
attendre(0);
checkweek=table de données("checkweek");
checkweek<
checkweek<
FBListWeek=:Cause<
-Pierre