Ho un elenco contenente le colonne selezionate dall'utente.
Questi sono già numerici, ma voglio trovare quelli che hanno il formato dell'ora o della data poiché richiedono un trattamento speciale.
Come posso filtrarli usando JSL?
Ecco un esempio di un modo per farlo. Lo script apre una tabella di dati, trova tutti i nomi di colonna numerica e continua, quindi elimina quelli in cui rileva che ha un formato che è uno dei formati Data e DateTime elencati.
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 );Posso anche cambiare la data in numero intero (somma di secondi dalla data di inizio).
Sarebbe meglio cambiare il formato di tutte le colonne in una tabella dati che ha già valori numerici considerando che posso avere 100.000 righe e centinaia di colonne?