Asiatische Daten in kurze Daten formatierenViele Unternehmen in Asien geben ihre Daten anders ein als in den USA. Zum Beispiel geben asiatische Unternehmen den 3. Dezember 2021 als 12.03.2021 ein, aber in den USA geben wir ihn als 03.12.2021 ein. Ich habe eine Tabelle, in der ich die Daten zerlege und in kurze Daten umwandle. Aber die kreisförmigen sind falsch, siehe Bild unten. Ich habe den folgenden Code verwendet. Wie teile ich JMP mit, dass die aus der Textspalte extrahierten Datumsangaben das Format Tage_Monate_Jahr und nicht Monate_Tage_Jahr haben?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )

Anbei die Datentabelle.
DatentabelleSkripterstellungRe: Asiatische Daten in kurze Daten formatierenIn Ihrer ursprünglichen JSL wurde die Spalte automatisch konvertiert numerisch/kontinuierlich (das Sie angefordert haben) zu Charakter/Nominal (weil shortDate() Zeichendaten zurückgibt.) Die nominell wurde in meinem Beispiel abgeholt, nachdem ich das Skript der Spalte kopiert hatte.
Das ist eine nützliche Meldung, die Sie darüber informiert, dass die Daten in einer Zeichenspalte nicht formatiert werden. Es kann Ihnen nicht sagen, wie die Spalte zu Charakter wurde.
In Ihrem ursprünglichen Beispiel war dies im Protokollfenster (weil shortdate() Zeichen zurückgibt):
dtlog << New Column( "vStart",Numeric,Continuous, Formula(Short Date(Num(LEFT(:Text,8))) ) )
Spalte "vStart" geändert, um Character to match formula einzugeben.
In dem von Ihnen angehängten Bild war auch ein Hinweis: Die vStart-Daten waren linksbündig. JMP verwendet die rechtsbündige Ausrichtung für numerische Daten und die linksbündige Ausrichtung für Zeichendaten.
Re: Asiatische Daten in kurze Daten formatierenIch habe einen Fehler:

Re: Asiatische Daten in kurze Daten formatierenDanke, deine Lösung funktioniert bei mir!
Re: Asiatische Daten in kurze Daten formatierenVerwenden Sie für die Spaltenformel
Informat( Left( :Text, 8 ), "d/m/y" )
Sobald num(left(text,8)) fertig ist, ist es zu spät, es zu reparieren; num() hat bereits erraten, dass es sich bei der Zeichenfolge um ein Datum handelt, und manchmal das falsche Format erraten. Jede Zeile wird unabhängig ausgeführt, und num() kann nicht erkennen, dass es mitten im Stream die Pferde wechselt.
Wenn Sie inform das richtige Format mitteilen, sind Sie schon auf halbem Weg. Die zweite Hälfte weist die Spalte an, ein Anzeigeformat zu verwenden. Ein vernünftiges Format für die Überprüfung ist eines, das Monatsnamen buchstabiert. Hier ist eine komplett neue Spaltenanweisung:
New Column( "vStart",
Numeric, "Nominal",
Format( "Date Long", 35 ),
Input Format( "Locale Date" ),
Formula( Informat( Left( :Text, 8 ), "d/m/y" ) )
)
looks correct, Nov and Dec line up.looks correct, Nov and Dec line up.sieht richtig aus, Nov und Dez reihen sich aneinander.
edit: Die Eingabeformat (unter Verwendung des Gebietsschemadatums) ist albern, es sei denn, Sie entfernen später die Formel aus der Spalte. Das Eingabeformat wird verwendet, wenn Sie einen Wert eingeben, aber Sie können keine Werte in eine Formelspalte eingeben. Sie möchten wahrscheinlich das bevorzugte Format des Gebietsschemas, wenn Sie „Freitag, 3. Dezember 2021“ erneut eingeben. Das Format (mit Date Long) steuert, wie die Zahl für die Anzeige formatiert wird. Der tatsächlich unter der Decke gespeicherte Wert ist die Anzahl der Sekunden seit dem 1. Januar 1904. Das ist, was die informieren Funktion zurückgegeben.
Sie möchten wahrscheinlich kontinuierlich, nicht nominell. Vielleicht.
Re: Asiatische Daten in kurze Daten formatierendtlog << New Column( "vStart", Numeric, Continuous, Formula(Short Date(Num(LEFT(:Text,8)))));
dtlog:vStart << Format( "d/m/y", 12 );
Re: Asiatische Daten in kurze Daten formatierenhallo mzwald,
Wie füge ich es mit meinem Code zusammen?
dtlog << New Column( "vStart",Numeric,Continous, Formula(Short Date(Num(LEFT(:Text,8))) )
Re: Asiatische Daten in kurze Daten formatierenFühren Sie diese Schritte aus:
1. Klicken Sie mit der rechten Maustaste auf Ihre vStart-Spalte mit den numerischen Daten
2. Wählen Sie "Spalteninfo..."
3. Ändern Sie das Format von Best, indem Sie auf „Best > Date > d/m/y“ klicken.
4. Klicken Sie auf OK
dtlog:vStart << Format( "d/m/y", 12 );