Datumsformat ändernHallo,
Ich habe ein .xlsx-Datenblatt mit dem folgenden Datum „tt.mm.jj“ in einer Spalte erhalten, also „03.10.14“.
Nachdem ich die Daten in JMP kopiert hatte, erstellte ich eine neue Spalte, um die numerische Zahl für das Datum zu erhalten, und konvertierte das Datum in 1. einen numerischen Datumstyp mit
2. ein ordinaler Modellierungstyp und
3. Formatieren Sie es auf „JJJJ-MM-TT“.
Allerdings erscheinen einige Termine „20.10.15“ nicht in meiner neuen Kolumne. Gibt es einen Definitionskonflikt?
Bitte geben Sie an, wie ich dieses Problem lösen kann.
Betreff: Datumsformat ändernIch sehe den Schritt, der nötig war, um die Konvertierung abzuschließen.
Problem gelöst. Danke schön!Betreff: Datumsformat ändernIhr Problem besteht darin, dass Sie das Feld für das Anfangsdatum falsch lesen.Das anfängliche Datumsfeld hat das Format „TT.MM.JJ“ und schon sind Sie dabei Ich lese es so, als wäre es „mm.tt.jj“.Ich habe Ihre Datentabelle angehängt, aus der ersichtlich ist, dass der Numdate-Wert nicht mit Ihrem Newdate-Wert übereinstimmt.In der Datentabelle habe ich eine Spalte „Zeichendatum“ erstellt, die eine format()-Funktion in der Formel verwendet, um den Zeichenwert zu ermitteln.
Betreff: Datumsformat ändernVielen Dank für Ihre ausführliche Antwort.
Ich habe am Datenblatt gearbeitet und das „Zeichendatum“ in ein numerisches Datum umgewandelt, Spalte „numdate“. Anschließend habe ich das numerische Datum in das gewünschte Format umgewandelt, Spalte „newdate“. Aus irgendeinem Grund wird das neue Datum jedoch für einige in der Spalte „Datum“ angegebene Daten nicht angezeigt. Warum werden bestimmte Daten, z. B. 12.11.14, nicht verwendet und der Numdate-Wert in das neue Format konvertiert?
Ich habe eine JMP-Tabelle mit den Daten angehängt, damit Sie die Daten tatsächlich sehen können. Ich hoffe, dass dies zur Lösung des Problems beitragen kann.
Vielen Dank im Voraus, Marc
<SPAN class="token function">Date DMY</SPAN><SPAN class="token punctuation">(</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Left</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Substr</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">4</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Num</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"20"</SPAN> <SPAN class="token operator">||</SPAN> <SPAN class="token function">Right</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token function">Char</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">:</SPAN>Date <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">2</SPAN> <SPAN class="token punctuation">)</SPAN> <SPAN class="token punctuation">)</SPAN>
<SPAN class="token punctuation">)</SPAN>
Betreff: Datumsformat ändernIhre Antworten und Fragen scheinen mir, dass Sie nicht verstehen, wie JMP mit Datumswerten umgeht.JMP verarbeitet Datums- und Uhrzeitangaben mit einem numerischen Wert, der der Anzahl der Sekunden seit Mitternacht, dem 1. Januar 1904, entspricht.Die Art und Weise, wie JMP dies in eine der Anzeigen vom 09.02.2015 oder 02.09.2015 usw. umwandelt, besteht darin, ein JMP-Format für die Spalte festzulegen, die die numerischen Werte enthält.
Wenn Sie also eine Zeichenspalte namens „Datum“ mit Werten wie „25.04.15“ haben und diese in einen JMP-Datumswert umwandeln möchten, können Sie eine neue Spalte erstellen und die folgende Formel anwenden:
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
es wird den Zeichenwert von annehmen „25.04.15“ und konvertieren Sie es in 3512764800 . Dies ist die Anzahl der Sekunden vom 1. Januar 1904 um Mitternacht bis zum 25. April 2015 um Mitternacht. Was nun fehlt, ist, dass die Daten nicht in Sekunden angezeigt werden sollen.Sie möchten, dass der Wert in der Datentabelle und in Ihren Berichten am 25.04.2015 angezeigt wird. Dazu stellen Sie einfach das Format für die Spalte auf „JJJJ-MM-TT“ ein.Der Vorteil der Speicherung von Daten in dieser numerischen Form besteht darin, dass man die Daten dann nach Datum ordnen und die Werte addieren und subtrahieren oder sogar das mittlere Datum usw. berechnen kann.
Unten sehen Sie ein kleines Skript, das bei der Ausführung eine Datentabelle mit einer einzelnen Zeichenspalte erstellt, die die Struktur dd.mm.yy hat.Das Skript erstellt dann eine numerische JMP-Datumsspalte und ändert die Anzeigestruktur in jjjj-mm-tt. Der Stript geht dann weiter und erstellt eine Zeichenspalte, die den Wert der Zeichen-Datumsspalte in eine neue Zeichenfolge der Struktur „JJJJ-MM-TT“ umwandelt.
Names Default To Here( 1 );
// Create a beginning data table
dt = New Table( "Dates",
New Column( "Date",
Character,
ordinal,
Values( {"25.04.15", "22.09.15", "03.11.15"} )
)
);
// Create a new numeric column that contains a JMP date value
// and tell JMP to format the numeric value using a
// yyy-mm-dd structure
dt << New Column( "Numeric Date",
formula(
Date DMY(
Num( Left( Char( :Date ), 2 ) ),
Num( Substr( Char( :Date ), 4, 2 ) ),
Num( "20" || Right( Char( :Date ), 2 ) )
)
),
format("yyyy-mm-dd")
);
// Create a new character column that rearanges the data from
// from the character column "Date"
dt << New Column( "Character Date",
character,
formula(
"20" || Right( Char( :Date ), 2 ) || "-" ||
Substr( Char( :Date ), 4, 2 ) || "-" || Left( Char( :Date ), 2 )
)
);Betreff: Datumsformat ändern

Betreff: Datumsformat ändern1. Originaldatumsspalte: Zeichen, Ordinalzahl
2. TT.MM.JJJJ
Ohne näher auf die Änderung der Zeichenspalte einzugehen, glaube ich, dass die Formel sie automatisch in Zeichen formatiert hat, da ich nicht in einen anderen Datentyp/Modellierungstyp wechseln kann, ohne wieder eine leere, neue Spalte zu haben.
Betreff: Datumsformat ändernIch bin überzeugt, dass eine solche Zeichen-Datumsstruktur ausgegeben werden kann.Ich habe ein paar Fragen.
- Welches Format hat die Originalspalte?
- Numerisch/Zeichen
- Wenn Charakter, wie ist seine Struktur, 20. Juli 2019 oder 20.07.2019, oder was?
- Warum muss die neue Spalte eine Zeichenspalte sein?
Betreff: Datumsformat ändernJim,
Noch ein kleiner, aber wichtiger Punkt: Ist es möglich, dass ich bei Verwendung des Datentyps „char“ kein numerisches Ausgabedatum wie jjjj-mm-tt erhalten kann? Ich habe versucht, eine weitere Spalte einzurichten, um von der neuen Spalte mit einem Zeichendatum zu einer Ausgabe wie oben erwähnt zu wechseln, konnte sie jedoch nicht erstellen.
Bitte lassen Sie mich wissen, wenn Sie eine zusätzliche Lösung haben!
Danke schön,
Marc
Betreff: Datumsformat ändernHallo Jim,
Es funktionierte! Danke schön! Das Einzige, was ich tun musste, war, DMY aus der Formel zu entfernen!
Eindrucksvoll.
Danke nochmal,
Marc
Betreff: Datumsformat ändernHier finden Sie eine einfache Möglichkeit, das zu tun, was Sie benötigen, um sicherzustellen, dass die richtigen Teile Ihrer eingegebenen Spalte für Tag, Monat und Jahr ausgewählt werden.
Geben Sie Ihre Daten ein
Erstellen Sie eine neue numerische Spalte und geben Sie in den Spalteninformationen an, dass das gewünschte Datumsformat verwendet werden soll
Verwenden Sie die folgende Formel in der Spalte, um die Daten aus Ihrer ursprünglichen Spalte in eine numerische JMP-Datumsspalte umzuwandeln.
Date DMY(
Num( Left( Char( :yourcolname ), 2 ) ),
Num( Substr( Char( :yourcolname ), 4, 2 ) ),
Num( "20" || Right( Char( :yourcolname ), 2 ) )
)
Betreff: Datumsformat ändernHallo Jim,
Ich hätte nie gedacht, dass ich eine XLSX-Datei direkt in JMP öffnen könnte. Ich habe es versucht, konnte sie aber nicht öffnen.
Die Spalte „Datum“ ist ein Zeichen/eine Ordnungszahl. In der neuen Spalte habe ich sie in numerisch/ordinal geändert und in jjjj-mm-tt formatiert. Die Änderung in „numerisch“ ergab den numerischen Wert, den ich dann in „JJJJ-MM-TT“ formatierte.
Was muss ich tun, um JMP so zu ändern, dass es sich um einen String = Monatswert handelt?
Danke für deine Unterstützung,
Marc
Betreff: Datumsformat ändernIch habe ein paar Fragen:
- Wie übertragen Sie Ihre XLSX-Daten in JMP?Sie sagen „Nach dem Kopieren“.Ist dies ein Kopieren und Einfügen in eine neue JMP-Datentabelle?Haben Sie versucht, einfach „File==>Open“ zu wählen und dann auf die XLSX-Datei zu zeigen und sie auf diese Weise zu öffnen?
- Welchen Datentyp hat die Spalte, die die Daten „03.10.14“ enthält, nachdem Sie die Daten in JMP „kopiert“ haben?
- Angenommen, die Daten vom Typ „03.10.14“ haben den Datentyp „Zeichen“. Welche Schritte verwenden Sie in der neuen Spalte, um sie in einen numerischen Datentyp zu konvertieren?
Ich vermute, Ihr Problem mit den „20.10.15“-Werten besteht darin, dass JMP irgendwie denkt, dass der erste Wert in der Zeichenfolge der Monatswert und nicht der Tageswert ist.