Les données de colonne ne sont pas mises à jour via un script jusqu'à ce qu'elles soient sélectionnées séparémentBonjour,
Je rencontre des problèmes très curieux que je n'ai pas encore trouvés au sein de la communauté JMP. En utilisant JSL, voici ce qui se passe :
- Importer un ensemble de données (dt)
- Corriger les valeurs dans :Col1
- Puisque je remplace les valeurs corrigées dans la même cellule à partir de laquelle elles sont lues, j'utilise une boucle for
- J'ai cette même boucle configurée dans d'autres scripts. J'en ai vérifié quelques-uns et ils fonctionnent toujours correctement
- Utilisez :Col1 dans la formule pour :Col2
- :Col2 correspond à la jointure des tables avec dt.
- La table jointe n'a pas :Col1
(une fois le script terminé)
- Je remarque d'un coup d'oeil que :Col1 n'a pas été mis à jour
- Je mets en surbrillance le code dans le script que j'ai créé et j'exécute le bloc séparément et les mises à jour :Col1, comme c'était censé le faire à l'étape 2.
- Rien n'a été fait différemment, sauf choisir le code à exécuter séparément.
- Les valeurs créées à l'étape 3 ont toujours les valeurs non mises à jour de :Col1, donc la jointure n'a pas fonctionné comme prévu
Étant donné que ce problème semble être isolé du script actuel sur lequel je travaille, il s'agit d'un véritable casse-tête, principalement parce qu'il s'agit de l'un des tout premiers blocs de code du script. Avant cela, des créations de colonnes et des renommages de colonnes sont effectués. Il n'y en a pas beaucoup non plus. Environ 20 lignes de code entre l'importation de l'ensemble de données et ce bloc de code.
Techniquement, j'ai ce problème partout dans mon code de différentes manières, mais la première instance est ci-dessus. Ce « nouveau » script est une copie d'un script de travail connu, mais modifié pour extraire des données d'une source différente. Il existe des différences entre les sources de données, et celles-ci sont déjà prises en compte. J'ai ce problème pour la suppression de colonnes et d'autres boucles for. J'ai même recréé une partie de ce script à la fois à partir de zéro et un autre essai en pointant et cliquant et en copiant et collant à partir du journal amélioré. Tout a ce problème. Je pense que cela doit être lié à la source (serveur SQL), mais personne d'autre n'a ce problème. Cependant, je suis le seul à tirer du serveur SQL et à utiliser JMP.
Des pensées?
Automatisation et scriptsAccès aux donnéesMélange et nettoyage des donnéesles fenêtresRe : Les données de colonne ne sont pas mises à jour via le script tant qu'elles ne sont pas sélectionnées séparémentUne intuition : essayez Wait(0) où vous vous attendez à voir une mise à jour.

Re : Les données de colonne ne sont pas mises à jour via le script tant qu'elles ne sont pas sélectionnées séparémentEn plus d'essayer Wait (0), si votre table contient des formules, essayez d'utiliser << Run formulas. Cela devrait forcer JMP à évaluer toutes les formules en attente avant que l'exécution du script ne se poursuive
dt << Run Formulas();

ou même << Réexécuter les formules (bien que cela ne devrait pas être nécessaire car il évalue toutes les formules, même celles qui ne sont pas en attente)
dt << Rerun Formulas;

Re : Les données de colonne ne sont pas mises à jour via le script tant qu'elles ne sont pas sélectionnées séparément@peng_liu @jthi Merci! attendre() a fonctionné ! Juste au-dessus de la boucle que je décris ci-dessus, il y a une formule qui est exécutée pour remplir une colonne requise pour la boucle. Merci à vous deux!