<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein Problem, bei dem ich häufig Textdateien importiere, die ein langes numerisches Feld wie "datetime" in der Form "20141214115959" enthalten, und JMP zeigt es weiterhin als abgeschnittene Zahl in wissenschaftlicher Notation wie "2.0141e + 13" an ". Um die Anzahl der Zahlen richtig anzuzeigen, muss ich manuell in die Spalteneinstellung gehen und die Breite vergrößern. Die automatische Feldbreite beträgt beim Importieren der Textdatei immer 10. JMP hat jedoch eine Programmeinstellung für "Standardfeldbreite", die ich auch beim Einstellen versucht habe. JMP kann diese Einstellung jedoch nicht berücksichtigen, um Textdateien zu importieren. Die "Standardfeldbreite" wird nur berücksichtigt, wenn ich eine neue Spalte in einer JMP-Tabelle erstelle.
Das muss ein Fehler sein, oder? Warum in aller Welt wird die Software so geschrieben, dass die Standardfeldbreite beim Importieren einer Datei immer auf 10 hartcodiert ist und die Voreinstellung nicht verwendet wird? Gibt es eine andere Möglichkeit, die Feldbreite richtig einstellen zu können, ohne die Spalten nach dem Import immer manuell bearbeiten zu müssen?
MS Excel hat das gleiche Problem, und ich hätte erwartet, dass JMP besser abschneidet, aber ich denke, das ist nicht der Fall.
Ihr Beispiel ist eine benutzercodierte Ganzzahl, die JMP nicht als Zeitpunkt erkennt. Sie können diesen Wert als Zeichenfolge importieren und anschließend JSL-Funktionen in der Formel einer neuen numerischen Datenspalte verwenden, um ihn in einen JMP-Zeit- und Datumswert zu parsen. JMP repräsentiert jeden Zeitpunkt als die Anzahl von Sekunden seit dem 1. Januar 1904 um Mitternacht. Sie können das Spaltenformat verwenden, um diesen Wert auf eine freundlichere Weise anzuzeigen, z. B. "m / d / yh: m: s" oder ein beliebiges anderes Format, das zu Ihnen passt.
Dieses Prototyp-Skript könnte in eine Spaltenformel umgewandelt werden:
// Ihre Beispiel-Long-Nummer, die einen Zeitpunkt darstellt
Datum und Uhrzeit = "20141214115959";
// Konvertierung in JMP-Zeit durch Analysieren des Zeichenkettenwerts
Datum Uhrzeit = Datum MDY (
Num (Sub (Datum und Uhrzeit, 5, 2)),
Num (Sub (Datum und Uhrzeit, 7, 2)),
Num (Sub (Datum und Uhrzeit, 1, 4))
) +
// Stunden hinzufügen
In Stunden(
Num (Sub (Datum und Uhrzeit, 9, 2))
) +
// füge Minuten hinzu
In Minuten(
Num (Sub (Datum und Uhrzeit, 11, 2))
) +
// Sekunden hinzufügen
Num (Sub (Datum und Uhrzeit, 13, 2));
// formatieren Sie jetzt die Anzahl der Sekunden in benutzerfreundlicher Form
Format (Datum Uhrzeit, "m / d / yh: m: s");
Das sieht nach einem Versehen aus. Ich werde es merken und sehen, ob wir es in einer zukünftigen Version ansprechen können.
In der Zwischenzeit ändert das folgende Skript die Feldbreite aller ausgewählten Spalten in der aktuellen Datentabelle auf 20.
cols = current data table() << Get Selected Columns;
for (i=1, i<=nitems(cols), i++,
column(cols[i])<<set field width(20);
);
Sie können dazu ein benutzerdefiniertes Menü oder eine Symbolleistenschaltfläche erstellen.
-Jeff