Probleme mit ZeittrennzeichenBeim Importieren von Daten haben wir einige Schwierigkeiten mit Zeitformaten.
In unserem Labor verfügen wir über einen Pool von Computern mit entweder Win7 oder Win10 mit unterschiedlichen Einstellungen hinsichtlich der Zeitformate. Dies scheint Probleme zu verursachen, wenn versucht wird, Daten mit Zeitstempel in JMP12 und 14 zu importieren. Unsere Zeitstempel haben das Format jjjj-mm-tt hh:mm:ss (z. B. 24.08.2018 13:39:27) und je nachdem, welchen Computer wir testen, funktioniert der Import entweder oder schlägt fehl, da das Zeitformat verwendet werden muss entweder ein Doppelpunkt oder ein Punkt.Wie könnten wir ein Importskript erstellen, das auf allen Maschinen funktioniert?
Wir fragen uns auch, warum es in JMP kein festes Zeitformat gibt, das trotz der Einstellungen in Windows gleich bleibt? Schließlich gibt es die Norm ISO 8601, die den Doppelpunkt als Trennzeichen definiert.
Betreff: Probleme mit ZeittrennzeichenEs stellte sich heraus, dass die von XanGregg vorgeschlagene Einstellung genau die war, nach der wir gesucht hatten. Falls jemand diese Konversation später findet, scheint es, dass diese Einstellung auch mit dem folgenden Skript geändert werden kann.
Set preferences( Use JMP Locale Settings( 1 ) );
Am Ende habe ich unsere Eingabe auch ein wenig mit Regex optimiert, wie Markbailey vorgeschlagen hat, daher bin ich auch für diesen Tipp sehr dankbar.
Betreff: Probleme mit ZeittrennzeichenVielen Dank für die Problemumgehung mit RegEx. Mit einem kurzen Test scheint es uns weiter zu helfen. Ich werde auch einige Tests mit der Einstellung „Windows-spezifisch“ durchführen, wenn ich Zugriff auf einen anderen Computer bekomme. Hoffentlich ist das die universelle Lösung für uns.
Vielen Dank für all die Hilfe!
Betreff: Probleme mit ZeittrennzeichenAls ich mein Win10-Zeittrennzeichen in „.“ geändert habe. und das folgende Skript unten ausgeführt habe, schien es einwandfrei zu funktionieren, daher fehlen mir einige Details.

Unabhängig davon sind hier ein paar Dinge, die für Ihren Fall nützlich sein können.
- Es gibt eine globale JMP-Einstellung unter „Windows-spezifisch“, um die Gebietsschemaeinstellungen des Systems zu berücksichtigen oder nicht
- Wenn Sie die Spalte als Text importieren und später analysieren, verfügt die Funktion „Datum analysieren“() über ein Argument „Gebietsschema verwenden“, das Sie deaktivieren können.
s = "time,
2018-08-24 13:39:27
2018-08-25 14:11:22
2018-08-26 16:33:44";
path = "$TEMP/times.csv";
Save Text File( path, s );
Open(path);
Betreff: Probleme mit ZeittrennzeichenEntschuldigung für die Verwirrung.
Nein, das funktioniert nicht, da die Argumente ein festgelegtes Format definieren und möglicherweise keine regulären Ausdrücke enthalten. Eine weitere Idee finden Sie in meinem letzten Beitrag.
Betreff: Probleme mit ZeittrennzeichenUnter der Annahme, dass Sie den Zeitstempel als Zeichenfolge in eine Datenspalte namens „Datum/Uhrzeit“ importieren, sollte eine neue numerische Datenspalte mit dieser Formel unabhängig vom verwendeten Format (von den beiden von Ihnen beschriebenen) zum richtigen Datum führen:
Parse Date(
Regex( :Date Time,
"(\d{4}-\d{2}-\d{2} \d{2})[:\.](\d{2})[:\.](\d{2})",
"\1:\2:\3"
)
);Betreff: Probleme mit ZeittrennzeichenIch frage mich, ob wir über dasselbe reden oder ob es eine Möglichkeit gibt, reguläre Ausdrücke zu verwenden, mit der ich nicht vertraut bin. Ich werde versuchen, unser Problem klarer zu erklären.
Unsere Daten haben ein einheitliches Format (hh:mm:ss). Da ist der Separator stets ein Doppelpunkt. Beispielsweise funktioniert JMP auf meinem Computer gut mit diesem Format und ich kann diese Daten einfach importieren, indem ich dieses Format aus dem Eingabeformatmenü auswähle. Wenn meine Kollegin versucht, dasselbe zu tun, erkennt der JMP auf ihrem Computer die Daten nicht als Zeit. Auf ihrem Computer muss das Zeitformat hh.mm.ss sein (Punkt als Trennzeichen). Um ein Skript für den Import zu schreiben, das auf beiden Computern funktioniert, müssten wir daher zunächst ermitteln, welches Zeitformat von JMP auf diesem bestimmten Computer erwartet wird.
Können im Skript reguläre Ausdrücke verwendet werden, um das Eingabeformat zu bestimmen? Derzeit müssten wir für verschiedene Maschinen unterschiedliche Skripte haben (eines mit Doppelpunkt und eines mit Punkt).
Format( "y.m.d h:m:s", 22, 0 ), Informat( "y-m-d h:m:s", 0 )<BR />
Format( "y.m.d h.m.s", 22, 0 ), Informat( "y-m-d h.m.s", 0 )<BR />
Können wir das stattdessen verwenden?
</CODE><CODE class=" language-jsl">Format( "y.m.d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 22, 0 ), Informat( "y-m-d h<SPAN>[\.:]</SPAN>m<SPAN>[\.:]</SPAN>s", 0 )
Betreff: Probleme mit ZeittrennzeichenDeshalb habe ich einen regulären Ausdruck vorgeschlagen. Sie können „[\.:]“ oder „\.|:“ als Teil des Ausdrucks für das Vorhandensein des Trennzeichens verwenden. Sie müssen nicht vorab festlegen, welches Format verwendet wurde.
Betreff: Probleme mit ZeittrennzeichenDanke für den Vorschlag! Wir haben versucht, die Trennzeichen zu ändern, und das geht ganz einfach, aber wir haben keine Möglichkeit gefunden, herauszufinden, welche Trennzeichen der JMP erwartet, da es sich je nach Maschine entweder um einen Punkt oder einen Doppelpunkt handeln kann .
Betreff: Probleme mit ZeittrennzeichenSie können einen regulären Ausdruck verwenden, um die Teile beider Formatierungsoptionen zusammen mit den Zeichenfunktionen abzugleichen und so einen konsistenten JMP-Datums-/Uhrzeitwert zu erzeugen.