Actualización de tablas con comparaciones múltiples en JMPTengo una tabla grande con una columna de [0,1] números aleatorios uniformes. Tengo otra columna que clasifica cada fila como perteneciente a un período de tiempo LENTO o OCUPADO. Tengo una segunda tabla con 21 filas y tres columnas, cuya una columna corresponde a LENTA y la segunda columna a OCUPADA. Estas columnas contienen bordes de intervalos de 0-1 divididos en intervalos ascendentes consecutivos. La tercera columna contiene un valor.
Para el valor de ENTRADA en la Columna 1 de cada fila en la primera tabla y la entrada correspondiente (LENTA o OCUPADA) en la Columna 3, primero me gustaría elegir la columna (LENTA o OCUPADA) en la segunda tabla. Entonces necesito encontrar la entrada en la columna (elegida LENTO o OCUPADO) en la segunda tabla donde la entrada es la siguiente mayor que el valor de ENTRADA. Luego necesito formar una nueva columna en la Tabla 1 para incluir el valor del número de contenedor de la Columna 3 en la segunda tabla.
En los adjuntos, Table1 es la primera tabla "grande" con OCUPADA y LENTA que indica los períodos Ocupado y Lento. Traffic_CDF contiene las dos columnas de los bordes de la bandeja y la tercera contiene el valor que desea agregar a una nueva columna en la Tabla1.
Aquí hay un ejemplo.
La sexta entrada en la Tabla 1 es 0.405374 y está OCUPADA. Este valor se encuentra entre las entradas en las filas 2 y 3 de la columna OCUPADA de la Tabla 2. Por lo tanto, me gustaría ingresar el valor '2' de la Columna 3 de la Tabla 2 a la 6ª fila en la nueva columna de la Tabla 1.
Apreciaría mucho si alguien puede ayudar con esto.
Gracias
Gracias
Re: Actualización de la tabla con comparaciones múltiples en JMPPrueba esto:
dt_1 = Data Table("Table 1");
dt_cdf = Data Table("Traffic_CDF");
dt_1 << New Column("Bin");
for(i = 1, i<= N Row(dt_1), i++,
value = Column(dt_1,"Random No.")[i];
traffic_val = dt_1:Traffic[i];
If(traffic_val == "BUSY",
dt_1:Bin[i]=dt_cdf:Column 3[min(dt_cdf << Get Rows Where(:BUSY >= value))],
dt_1:Bin[i]=dt_cdf:Column 3[min(dt_cdf << Get Rows Where(:SLOW >= value))],
)
);Básicamente, funciona encontrando la primera fila en la tabla de CDF donde el borde del contenedor es mayor o igual al valor en la primera tabla y devuelve el valor en la "Columna 3" para esa fila.
Re: Actualización de la tabla con comparaciones múltiples en JMPSu observación sobre mis archivos de datos fue correcta. He editado la publicación para explicarlo mejor y también he cargado la tabla CDF correcta que delimita los bordes de los contenedores correctamente, en lugar del PDF que había cargado erróneamente.Re: Actualización de la tabla con comparaciones múltiples en JMPSubí por error la tabla PDF en lugar de la tabla correcta. He reemplazado la segunda tabla. Ahora es una tabla CDF que corresponde a los bordes del contenedor. También he tratado de aclarar la descripción del problema con un ejemplo de lo que quiero hacer. Apreciaría mucho su ayuda. No tengo experiencia con consultas o JSL, si eso es lo que requeriría. Esperemos que sea posible con JMP de alguna manera.
Gracias
Re: Actualización de la tabla con comparaciones múltiples en JMPHola @ranjan_mitre_or ,
Estoy confundido acerca de cómo desea hacer coincidir el número aleatorio de la Tabla 1 con un contenedor en Traffic_PDF. El mayor problema es que no puedo ver cómo Traffic_PDF representa los contenedores. Yo esperaría que los números tuvieran algún orden para que cualquier número menor o igual al número más pequeño estuviera en la casilla 1, cualquier número entre el número más pequeño y el segundo más pequeño en la bandeja 2, etc. Traffic_PDF incluso tiene un par de números en la Columna 2 que se repiten.
¿Puede proporcionar alguna aclaración?
Por ejemplo, la fila 1 en la tabla 1 tiene el valor 0.966434732312337 y Traffic = H. Eso me dice que debo buscar en la columna 2 de Traffic_PDF, pero no veo cómo asignar el valor de la tabla 1 a un "bin" en Traffic_PDF .