Spaltendaten werden erst dann über das Skript aktualisiert, wenn sie separat ausgewählt werdenHallo,
Ich habe sehr merkwürdige Probleme, die ich in der JMP-Community noch nicht gefunden habe. Bei Verwendung von JSL geschieht Folgendes:
- Datensatz importieren (dt)
- Korrekte Werte in :Col1
- Da ich die korrigierten Werte in derselben Zelle ersetze, aus der sie gelesen werden, verwende ich eine for-Schleife
- Ich habe dieselbe Schleife in anderen Skripten eingerichtet. Ich habe einige überprüft und sie funktionieren immer noch ordnungsgemäß
- Verwenden Sie :Col1 in der Formel für :Col2
- :Col2 stimmt überein, um Tabellen mit dt zu verknüpfen.
- Die verknüpfte Tabelle enthält nicht :Col1
(nach Abschluss des Skripts)
- Mir fällt auf den ersten Blick auf, dass :Col1 nicht aktualisiert wurde
- Ich markiere den Code in dem von mir erstellten Skript und führe den Block separat aus & :Col1-Updates, wie es in Schritt 2 vorgesehen war
- Es wurde nichts anders gemacht, außer den Code herauszusuchen und separat auszuführen.
- Die in Schritt 3 erstellten Werte weisen immer noch die nicht aktualisierten Werte von :Col1 auf, sodass die Verknüpfung nicht wie beabsichtigt funktionierte
Da dieses Problem offenbar auf das aktuelle Skript, an dem ich arbeite, beschränkt zu sein scheint, ist dies ein echter Kopfzerbrechen, vor allem weil es sich um einen der allerersten Codeblöcke im Skript handelt. Zuvor werden Spalten erstellt und umbenannt. Davon gibt es auch nicht viele. Ungefähr 20 Codezeilen zwischen dem Datensatzimport und diesem Codeblock.
Technisch gesehen tritt dieses Problem in meinem gesamten Code auf unterschiedliche Weise auf, aber der früheste Fall ist oben aufgeführt. Dieses „neue“ Skript ist eine Kopie eines bekanntermaßen funktionierenden Skripts, wurde jedoch geändert, um Daten aus einer anderen Quelle abzurufen. Es gibt Unterschiede zwischen den Datenquellen, die bereits berücksichtigt sind. Ich habe dieses Problem beim Löschen von Spalten und anderen For-Schleifen. Ich habe sogar einen Teil dieses Skripts neu erstellt, SOWOHL von Grund auf, als auch einen weiteren Versuch durch Zeigen und Klicken sowie Kopieren und Einfügen aus dem erweiterten Protokoll. Alles hat dieses Problem. Ich denke, es muss etwas mit der Quelle (SQL-Server) zu tun haben, aber sonst hat niemand dieses Problem. Ich bin jedoch der Einzige, der vom SQL-Server abruft und JMP verwendet.
Irgendwelche Gedanken?
Automatisierung und SkripterstellungDatenzugriffDatenmischung und -bereinigungWindowsBetreff: Spaltendaten werden nicht über das Skript aktualisiert, bis sie separat ausgewählt werdenEine Vermutung: Versuchen Sie Wait(0) dort, wo Sie ein Update erwarten.

Betreff: Spaltendaten werden nicht über das Skript aktualisiert, bis sie separat ausgewählt werdenWenn Ihre Tabelle Formeln enthält, versuchen Sie es nicht nur mit Wait(0), sondern auch mit << Formeln ausführen. Dies sollte JMP zwingen, alle ausstehenden Formeln auszuwerten, bevor die Skriptausführung fortgesetzt wird
dt << Run Formulas();

oder sogar << Formeln erneut ausführen (obwohl dies unnötig sein sollte, da es alle Formeln auswertet, auch diejenigen, die nicht anstehen)
dt << Rerun Formulas;

Betreff: Spaltendaten werden nicht über das Skript aktualisiert, bis sie separat ausgewählt werden@peng_liu @jthi Vielen Dank! warte() hat funktioniert! Direkt über der Schleife, die ich oben beschrieben habe, gibt es eine Formel, die ausgeführt wird, um eine Spalte zu füllen, die für die Schleife erforderlich ist. Danke euch beiden!