JSL: Wochentag aus Datum/Uhrzeit-Feld extrahieren (Scripting)Hallo
Ich habe ein Feld START_TIME (Datum/Uhrzeit-Format), z
15.06.2019 6:05
16.06.2019 8:12
17.06.2019 7:01 usw.
Ich möchte alle Tage behalten, die Samstage und Sonntage sind.
Ich stelle mir vor, dass ich durch das Extrahieren einen Wert wie erhalten würde
START_TIME SA_SUN
15.06.2019 6:05 7
16.06.2019 8:12 1
17.06.2019 7:01 2
Dann verwende ich einfach Keep 1s und 7s, richtig.
Wie würde ich das mit einem JSL-Skript machen?
Ich habe Ansätze wie ausprobiert
dt << Neue Spalte ("SAT_SUN",numeric,format(day of Week(:START_TIME),"datetime")) ;
das scheint nicht zu funktionieren.
Irgendeine Idee?
Beifall!
Neuling
Betreff: JSL: Wochentag aus Datum/Uhrzeit-Feld extrahieren (Scripting)Verwenden Sie bei Bedarf „Hilfe > Skriptindex“, um weitere Einzelheiten zur Funktionsweise der Befehle zu finden.
NamesDefaultToHere(1);
// Make a table of random dates
n = 50;
startDate = Date DMY( 01, 1, 2016 );
endDate = Date DMY( 12, 10, 2016 );
dates = Sort Ascending( J( n, 1, Random Integer(startDate, endDate) ) );
dt = New Table( "Dates",
New Column( "Random dates", Numeric, "Continuous", Format( "ddMonyyyy h:m", 35 ), Set Values( dates )),
);
// Add a formula for the day of the week
nc = dt << New Column( "Day of the week",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Day Of Week( :Random dates ) ),
Value Labels(
{1 = "Sunday", 2 = "Monday", 3 = "Tuesday", 4 = "Wednesday", 5 = "Thursday",
6 = "Friday", 7 = "Saturday"}
),
Use Value Labels( 1 ),
);
// Make a subset table
r = dt << getRowsWhere(:Day of the week == 7 | :Day of the week == 1);
dt2 = dt << Subset(rows(r), LinkToOriginalDataTable(1));
dt2 << setName("Weekend Dates");
Betreff: JSL: Wochentag aus Datum/Uhrzeit-Feld extrahieren (Scripting)Es ist nicht erforderlich, eine neue Spalte zu erstellen, um das zu tun, was Sie möchten.Hier ist ein einfaches Skript, das genau das tut, wonach Sie gefragt haben:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
dt << select where( Day Of Week( :Event Date ) == 1 | Day Of Week( :Event Date ) == 7 );
dtsub = dt << subset( selected rows( 1 ), selected columns( 0 ) );
Betreff: JSL: Wochentag aus Datum/Uhrzeit-Feld extrahieren (Scripting)Nur eine kurze Idee (da ich gleich gehen muss): Wenn Sie alle Werte behalten möchten, können Sie einfach den Filterbefehl verwenden und alle anderen ausschließen, die nicht mit SAT/SUN übereinstimmen.
Wenn Sie wirklich die Zeilen entfernen möchten, die nicht SAT/SUN entsprechen, verwenden Sie SELECT WHERE und löschen Sie dann die Zeilen. Vielleicht kann jemand ein Demo-Skript schreiben