Tengo una lista que contiene columnas que el usuario ha seleccionado.
Estos ya son numéricos, pero quiero encontrar aquellos que tengan formato de hora o fecha ya que necesitan un tratamiento especial.
¿Cómo puedo filtrarlos usando JSL?
A continuación, se muestra un ejemplo de una forma de hacerlo. La secuencia de comandos abre una tabla de datos, busca todos los nombres de columna continuos numéricos y luego borra aquellos en los que encuentra que tiene un formato que es uno de los formatos de fecha y fecha y hora enumerados.
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 );También puedo cambiar la fecha a un número entero (suma de segundos desde la fecha de inicio).
¿Sería mejor cambiar el formato de todas las columnas en una tabla de datos que ya tiene valores numéricos considerando que puedo tener 100.000 filas y cientos de columnas?