Ich habe eine Liste mit Spalten, die der Benutzer ausgewählt hat.
Diese sind bereits numerisch, aber ich möchte diejenigen finden, die im Zeit- oder Datumsformat vorliegen, da sie einer besonderen Behandlung bedürfen.
Wie kann ich diese mit JSL filtern?
Hier ist ein Beispiel für eine Möglichkeit, dies zu tun. Das Skript öffnet eine Datentabelle, findet alle numerischen, fortlaufenden Spaltennamen und löscht dann diejenigen, bei denen es feststellt, dass es ein Format hat, das eines der aufgelisteten Datums- und DateTime-Formate ist.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Aircraft Incidents.jmp" );
colList = dt << get column names( string, numeric, continuous );
// Create a list of the date and datetime formats to check for
dateList = {"m/d/y", "mmddyyyy", "m/d/y h:m", "m/d/y h:m"};
show("All Numeric List", colList );
For( i = N Items( colList ), i >= 1, i--,
If(
Contains(
dateList,
Word( 2, Char( Column( dt, colList[i] ) << get format ), "(,\!"" )
),
show(Word( 2, Char( Column( dt, colList ) << get format ), "(,\!"" ));
Remove From( colList, i, 1 )
)
);
show("\!nList with Date columns removed", colList );Ich kann das Datum auch in eine Ganzzahl ändern (Summe der Sekunden seit dem Startdatum).
Wäre es besser, das Format aller Spalten in einer Datentabelle zu ändern, die bereits numerische Werte enthält, wenn man bedenkt, dass ich 100.000 Zeilen und Hunderte von Spalten haben kann?