Zeitwerte in XLS oder XLSX, CSV und JMPHallo zusammen, ich habe ein seltsames Problem mit den Zeitwerten in meinem Excel. Ich habe einige Daten (Beispiel ist hier als Excel-Datei angehängt), die Zeitspalte ist für mich von Interesse und ich würde die Datums- und Zeitspalte zusammenfügen, um eine Datum-Uhrzeit-Spalte zu erstellen. Um die Daten zu analysieren, verwende ich JMP, also importiere ich die Excel-Datei.
Allerdings bin ich auf eine Reihe von Kuriositäten gestoßen:
1. Wenn ich mehrere Dateien importiere (von Kunden, um ihre Daten für sie zu analysieren), sind die Zeitwerte (in Sekunden) negativ und beginnen bei 1899, als ich das Format in mm:tt:jjjj hh:mm geändert habe :ss. Wenn ich die Datei erneut als CSV speichere und sie dann erneut mit JMP öffne, sind die Zeitwerte korrekt (wie in der ursprünglichen Excel-Datei aufgeführt).
2. Wenn ich das Format der Excel-Dateien in CSV ändere, sind die Zeitwerte nach dem Import in JMP korrekt. Für die Dateien, die xls oder xlsx sind, muss ich sie in CSV umwandeln. Warum das?
Nachfolgend finden Sie Notizen zu meinen Gedanken darüber, was vor sich geht und wie ich zu den beiden Lösungen gekommen bin, die zu einem gewünschten Datum-Uhrzeit-Format führen.
Wie Sie in der Spalte „Schreckliche Formel“ sehen werden, musste ich ein paar Dinge tun, um das Problem zu umgehen:
- Wandeln Sie Datum und Uhrzeit in Zeichenfolgen um und verketten Sie dann beide Spalten. Kopieren Sie die Eigenschaften, fügen Sie sie in eine neue Spalte ein und ändern Sie dann das Format wieder in numerisch. Aber das klappt nicht immer!
- Die Funktion Second() extrahierte negative Werte … und nur Second(), was interessant war.Die Formel ist unten
- Informieren(
Char( Format( :Datum, „MM/TT/JJJJ“ ) ) || " " ||
Char( Hour( :Time, 24 ) ) || ":" || Char( Minute( :Time ) ) ||
":" || Char( 60 + Second( :Time ) ),
„MM/TT/JJJJ HH:mm:ss“
)
Allerdings scheinen beide Lösungen etwas mühsam zu sein (abgesehen davon, dass die in JMP importierten Excel-Dateien als CSV gespeichert und dann erneut mit JMP geöffnet werden müssen). Gibt es eine andere Möglichkeit, die Zeitwerte schneller zu korrigieren? Automatisiert? beim Importieren der Excel-Dateien in JMP?
DatenzugriffBetreff: Zeitwerte in XLS oder XLSX, CSV und JMPWenn Sie negative Werte für eine Dauer oder einen Datumswert sehen, der als Double in JMP importiert und erneut in eine Zeit umgewandelt wurde, kann dies daran liegen, dass Excel und JMP unterschiedliche Referenzdaten für den Status ihrer Datums-/Uhrzeitwerte verwenden.Excel verwendet den 1.1.1900 und JMP den 1.1.1904.Hier gibt es einige Informationen zu einem Community-Beitrag:
https://community.jmp.com/t5/JMPer-Cable/Using-dates-times-datetimes-and-durations-in-JMP/ba-p/68689
Brian Corcoran
JMP-Entwicklung
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPIch habe Ihre Erkenntnisse wiederholt.JMP 13-16 hat alle die Excel-Werte mit den gleichen negativen Werten eingelesen.Ich habe in der Excel-Tabelle nachgeschaut und konnte keinen Grund für die negativen Werte finden, aber andererseits bin ich kein Excel-Experte.
Vielleicht hat ein anderes Mitglied eine Idee?
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPWas den Import mehrerer Excel-Dateien betrifft, verwende ich ein Skript, das vor einiger Zeit von jemandem geteilt wurde. Hier beigefügt.
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPDas ist sehr interessiert. Ich habe mit dem Assistenten geöffnet, aber das Skript der Quelle unterscheidet sich von Ihrem.
Open(
"C:\Users\liew-6\OneDrive - Mettler Toledo LLC\Desktop\JMP\Time_issue_7Sep.xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
)
Und wenn ich das Format meiner Zeit auf „Beste“ ändere, werden negative Werte angezeigt. Ich habe es hier angehängt.
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPIch habe die Excel-Datei direkt in JMP geöffnet und mithilfe des Assistenten angegeben, dass sich die Datenüberschrift in Zeile 6 befand und die Daten in Zeile 7 begannen.Es wurde die folgende JSL generiert
Open(
"$DOCUMENTS/Discussion Group/Time_issue_7Sep (2).xlsx",
Worksheets( "W-A20122_Halexistar_20210820-12" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 6 ),
Data Starts on Row( 7 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" ),
Column Numeric Format(
Index( 2 ),
Column Name( Variable 1 ),
Format( "Best", 9 )
),
Column Numeric Format(
Index( 3 ),
Column Name( Variable 2 ),
Format( "Best", 9 )
)
)
)
Sowohl die Felder „Datum“ als auch „Uhrzeit“ werden als korrekte Datums- und Uhrzeit-JMP-Werte eingelesen.Dann musste ich nur noch rennen
Names Default To Here( 1 );
dt = Current Data Table();
For Each Row( :Date = :Date + :time );
Der Import mehrerer Dateien scheint nicht in der Lage zu sein, die Zeilenversätze zu verarbeiten, um die Kopfzeilen ab Zeile 6 und die Daten ab Zeile 7 ordnungsgemäß einzulesen.
Ich schlage vor, dass Sie Ihre eigene JSL-Schleife erstellen, um jede der Dateien mithilfe des obigen Eingabecodes einzulesen.
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPBitte ignorieren Sie den im Originalbeitrag angehängten Beitrag und verwenden Sie diesen als Beispiel. Vielen Dank, dass Sie das verstanden haben.
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPSind Sie sicher, dass die von Ihnen angehängte Excel-Datei die richtige ist?Die Arbeitsmappe enthält Dateien mit Informationen zu internen Besprechungen.
Betreff: Zeitwerte in XLS oder XLSX, CSV und JMPKorrektur:
Nachfolgend finden Sie Notizen zu meinen Gedanken darüber, was vor sich geht und wie ich zu den beiden Lösungen gekommen bin, die zu einem gewünschten Datum-Uhrzeit-Format führen.
1. Wandeln Sie Datum und Uhrzeit in Zeichenfolgen um und verketten Sie dann beide Spalten. Kopieren Sie die Eigenschaften, fügen Sie sie in eine neue Spalte ein und ändern Sie dann das Format wieder in numerisch. Aber das klappt nicht immer!
2. Die Funktion Second() extrahierte negative Werte … und nur Second(), was interessant war.Die Formel ist unten
Informieren(
Char( Format( :Datum, „MM/TT/JJJJ“ ) ) || " " ||
Char( Hour( :Time, 24 ) ) || ":" || Char( Minute( :Time ) ) ||
":" || Char( 60 + Second( :Time ) ),
„MM/TT/JJJJ HH:mm:ss“
)