Hallo,
Das Problem ist sehr einfach und ich kann es lösen, aber irgendwie scheint es einen Fehler in der Ausgabe zu geben. Sie fragen sich also, ob meine Formel einen Fehler enthält?
Ich habe eine JMP-Tabelle mit einer Uhrzeit Col im Format (mm/dd/yyyy h:m:s AM/PM)
dt << New Column( "DATE_FLAG",
Character,
Nominal,
Formula( If( Abbrev Date( :Name( "TIME_COL@ABC" ) ) <= Abbrev Date( 22Jul2020 ), "before", "after" ) )
);
Jetzt erhalte ich endlich in meiner aktualisierten Tabelle die DATE_FLAG-Spalte und die Vorher/Nachher-Werte. Aber einige der Werte/Zeilen), die vor dem 22. Juli 2020 liegen sollten, sind immer noch als nach gekennzeichnet? Die restlichen Zeilen sind wie erwartet beschriftet.
Was ist also falsch? Muss ich das Datumszeitformat angeben? Wenn ja, wie kann ich?
Ich glaube, ich habe das Problem herausgefunden, brauche aber etwas Hilfe dabei:
Der Abbrev Date-Vergleich vergleicht die beiden Character Date-Strings, und deshalb wird bei der Konvertierung von 04.07.2020 10:12:34 Uhr in 04.07.2020 verglichen mit 22.07.2020 nach statt vorher angegeben.
Wie kann ich das beheben?
Danke
Wow! Danke. Das ist einfacher!!!
Es ist keine Konvertierung in etwas anderes erforderlich, um Datumswerte zu vergleichen.
Verwenden Sie einfach eine Datumskonstante in Ihrem Vergleich, indem Sie das Datum im Format ddMonYYYY angeben:
dt << New Column( "DATE_FLAG",
Character,
Nominal,
Formula( If( :Name( "TIME_COL@ABC" ) <= 22Jul2020, "before", "after" ) )
);
Lesen Sie mehr über Datumswerte:
Verwenden von Datumsangaben, Uhrzeiten, Datumszeiten und Dauer in JMP