<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola
Me gustaría saber la forma más eficiente de obtener el mínimo y el máximo de un subconjunto de una columna.Me doy cuenta de que podría hacer una selección donde () y, de hecho, usar la función de subconjunto de tablas y resumir, pero necesito que la secuencia de comandos recorra miles de columnas (criterios únicos por columna) y creo que abrir/cerrar tablas a través de subconjunto es demasiado lento .
Tenía la esperanza de hacer un select where () para seleccionar las filas, y luego de alguna manera obtener los datos seleccionados en una lista y devolver el mínimo y el máximo de la lista. He probado varias cosas pero no he tenido ningún éxito. ¿Algunas ideas?
Aquí hay un script de prueba simple. En este caso me gustaría devolver el min = 66 y el max = 70.
borrar registro();
borrar globales();
los nombres predeterminados aquí (1);
Abrir( "$SAMPLE_DATA/Gran Clase.jmp" );
dtData = tabla de datos actual ();
dtData << borrar seleccionar;
dtData << seleccione donde ( :altura > 65);
columna ("altura") << establecer seleccionado (1);
Gracias,
Miguel
¡Gracias!Esa es exactamente la función que estaba buscando. No me di cuenta de que existía "obtener filas donde ()" ... o que podría aplicar una lista a la columna y tomar un resumen de eso. Muy agradable.
Intente <
dtData = Abierto ( "$SAMPLE_DATA/Clase grande.jmp" ) ;
filas = dtData << obtener filas donde ( : altura > sesenta y cinco ) ;
min65 = mínimo ( : altura [ filas ] ) ;
max65 = máx. ( : altura [ filas ] ) ;
Espectáculo ( min65 , max65 ) ;
/*
min65 = 66;
máx65 = 70;
*/