Sofern es keinen wirklichen Grund gibt, die Zieldatumswerte als Zeichenspalte beizubehalten, empfehle ich Ihnen, sie in eine JMP-Datumsspalte umzuwandeln.
Names Default To Here( 1 );
dt = Current Data Table();
dt << new column( "Target Date", format( "ddmonyyyy") );
for each row(
if( :"Time (Months)"n <= 3,
:Target Date =
Informat( :Available Date, "ddmonyyyy" ) + In Days( 4 ),
:Target Date =
Informat( :Available Date, "ddmonyyyy" ) + In Days( 7 )
)
);

Mit der folgenden Modifikation ist es sehr einfach, die obige Ausgabe in Zeichen umzuwandeln
Names Default To Here( 1 );
dt = Current Data Table();
dt << new column( "Target Date", character );
for each row(
if( :"Time (Months)"n <= 3,
:Target Date = format(
Informat( :Available Date, "ddmonyyyy" ) + In Days( 4 ),
"ddmonyyyy"
),
:Target Date = format(
Informat( :Available Date, "ddmonyyyy" ) + In Days( 7 ),
"ddmonyyyy"
)
)
);

Wenn das Ausgabeformat genau dem Eingabedatenformat entsprechen muss, wird dies mit den folgenden Schritten erreicht
Names Default To Here( 1 );
dt = Current Data Table();
dt << new column( "Target Date", character );
monthList = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP",
"OCT", "NOV", "DEC"};
for each row(
if( :"Time (Months)"n <= 3,
temp = Informat( :Available Date, "ddmonyyyy" ) + In Days( 4 ),
temp = Informat( :Available Date, "ddmonyyyy" ) + In Days( 7 )
);
:Target Date = Substr( "0", Length( Char( Day( temp ) ) ) ) ||
Char( Day( temp ) ) || "-" || monthList[Month( temp )] || "-" ||
Char( Year( temp ) );
);

Wenn Sie anstelle von „Für jede Zeile“ eine Formel verwenden möchten, wäre dies die Formel für die obige Ausgabe
monthList = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
If( :"Time (Months)"n <= 3,
temp = Informat( :Available Date, "ddmonyyyy" ) + In Days( 4 ),
temp = Informat( :Available Date, "ddmonyyyy" ) + In Days( 7 )
);
Substr( "0", Length( Char( Day( temp ) ) ) ) || Char( Day( temp ) ) || "-" || monthList[Month( temp )] || "-" ||
Char( Year( temp ) );Die beigefügte Tabelle fügt Ihrer Spalte „Verfügbares Datum“ 4 Tage hinzu, um das Zieldatum zu erhalten.Schritte: Ändern Sie den Datentyp für das verfügbare Datum in „Numerisch/kontinuierlich“ mit entsprechender Datumsformatierung. Verwenden Sie dann die Funktion „Datum erhöhen“, um 4 Tage zum verfügbaren Datum hinzuzufügen. Ändern Sie schließlich die Formatierung für die resultierende Zieldatumsspalte so, dass sie mit der Formatierung übereinstimmt, die Sie in der Spalte „Verfügbares Datum“ verwendet haben.
Eine zusätzliche Anmerkung: In Ihrem Beispiel sieht es so aus, als hätten Sie eine Woche hinzugefügt (7 Tage statt 4).
Ich habe ein JSL-Skript, das regelmäßig Daten aus einer Access-Datenbank abruft.
Die Zugangsdatenbank enthält eine Datumsspalte „Verfügbares Datum“ mit einem TT-Mo-JJJJ (z. B. 12-APR-2018)-Format. Ich versuche, in JMP eine neue Spalte „Zieldatum“ zu erstellen, die dem Datum in „Verfügbares Datum“ für jede Zeile x Tage hinzufügt.
Zum Beispiel: Im Bild unten entspricht das Zieldatum dem verfügbaren Datum + 4 Tagen. Ich versuche, das Zieldatum automatisch basierend auf dem verfügbaren Datum zu berechnen. Die Anzahl der Tage basiert auf der Spalte „Zeit (Monate)“.

Das habe ich bisher versucht, was offensichtlich nicht funktioniert. Ich denke, ich muss die Spalte „Verfügbarkeitsdatum“ in einen numerischen Datentyp konvertieren, dann die Anzahl der Tage hinzufügen und zurück in „Zeichen“ konvertieren?
dt << New Column("Target Date", "Character", "Nominal");
dt << For Each Row(
IF (:"Time (Months)" <= 3, :"Target Date" = :"Available Date" + 4 ),
IF (:"Time (Months)" > 3, :"Target Date" = :"Available Date" + 7 )
);