¿Cómo selecciono filas entre rangos de fechas?Hola a todos,
Estoy tratando de averiguar cómo seleccionar filas específicas para un rango de fechas usando datos de una columna por última fecha.
¿Hay alguna manera de hacer esto en un bucle for?

Re: ¿Cómo selecciono filas entre rangos de fechas?Gracias Jim,
Solución muy simple. Dado que la forma en que se toman las medidas, tengo varios parámetros que han repetido la fecha máxima. Funcionó de todos modos. A continuación se muestra el script que se me ocurrió, sin embargo, creé otra pesadilla lógica al elegir qué tabla de subconjunto tiene la ID de pieza más reciente. Su solución fue mucho más simple.
dt = data table ("XYZ");
// Get unique values
uVals = AssociativeArray(:Part ID << getValues) << getKeys;
// Make Subset Tables
for(g = 1, g <= NItems(uVals), g++,
r2get = dt << getRowsWhere(:Part ID == uVals[g]);
dt2 = dt << subset(Rows(r2get));
dt2 << setName("subset ");
Re: ¿Cómo selecciono filas entre rangos de fechas?Puede utilizar expresiones booleanas como argumento para el << Seleccione Dónde mensaje. Es decir, puede utilizar la lógica y , o , y no funciones u operadores para obtener tanto la fecha como el producto que cumple ambos criterios. Si se trata de una búsqueda en serie, es posible que primero deba encontrar la última fecha y usarla para encontrar la identificación del producto.
Puedes usar el << Obtener filas donde (...) mensaje para devolver los números de fila que coinciden con su criterio de fecha. Puede usar este vector para suscribir esas filas de la columna de datos para obtener todos los ID de parte como una lista. Luego examine la lista para encontrar el que desea.
Re: ¿Cómo selecciono filas entre rangos de fechas?Espero estar interpretando bien tu pregunta.El siguiente script encontrará la fila que contiene el Part_ID de la fecha máxima y luego seleccionará todas las filas que tengan ese valor de Part_ID.
Names Default To Here( 1 );
dt = Current Data Table();
// Find the Row(s) that have the current Max Date
MaxRows = dt << get rows where( dt:Date == Col Max( dt:Date ) );
// MaxRows is a matrix that contains all of the rows that have the
// max date. Since your "Date" column is actually a date time
// value that contains minutes and seconds, it is doubtful that
// more than one row will have the Max value. However, we will
// now just get the last row from that matrix
TheRow = MaxRows[N Rows( MaxRows )];
// Now we can get the Part_ID for the row in question
TargetPartID = dt:Part_ID[TheRow];
// Now select all rows that have that Part_ID
dt << seleect where( dt:Part_ID == TargetPartID );
Re: ¿Cómo selecciono filas entre rangos de fechas?Supongo que no me expliqué demasiado bien.
Primero quiero seleccionar todas las filas con la última fecha;
dt << select where(nombre ("Fecha") == col Max(:Fecha));
A continuación, quiero seleccionar solo las filas con la ID DE PARTE que corresponde a la ID de PARTE más reciente (id est the max date)
Re: ¿Cómo selecciono filas entre rangos de fechas?Supongo que no me expliqué demasiado bien.
Primero quiero seleccionar todas las filas con la última fecha;
dt << select where(nombre ("Fecha") == col Max(:Fecha));
A continuación, quiero seleccionar solo las filas con la ID DE PARTE que corresponde a la ID de PARTE más reciente (id est the max date)
Re: ¿Cómo selecciono filas entre rangos de fechas?En este caso, si las fechas son fijas, puede usar un valor literal o constante. Se parece a la cadena anterior, pero no está encerrada entre comillas dobles. JMP interpretará (y mostrará) este valor como la fecha y hora apropiadas. Es decir, solo necesitas ingresar
Date > 20Dec2015:00:00:00
en este caso. De esta manera es más conciso y elimina la necesidad de lidiar con formatos y preocupaciones. Tampoco es necesario utilizar la especificación completa. Esto es suficiente:
Date > 20Dec2015
Re: ¿Cómo selecciono filas entre rangos de fechas?Aquí hay una solución simple usando Seleccionar dónde:
Names Default To Here( 1 );
dt = Current Data Table();
dt << select where(
:Date > Informat( "20Dec2015:00:00:00", "MDYHMS" ) &
:Date <= Informat( "20Dec2016:00:00:00", "MDYHMS" )
);
También puede lograr esto de forma interactiva utilizando el menú desplegable de la tabla de datos:
Filas==>Selección de Fila==>Seleccionar Dónde
Re: ¿Cómo selecciono filas entre rangos de fechas?La intención específica es separar la nueva identificación de la parte de la antigua identificación de la parte