Comparar los valores de cada fila con los valores de la primera fila (límites)Hola, tengo una fila de límites con la que me gustaría comparar el resto de mis filas y resaltar las celdas que están por encima de ese límite. ¿Cómo lo hago?
O si alguien pudiera mostrarme cómo seleccionar la primera fila, eso también ayudaría.
Esto es lo que estoy intentando:
dt = Current Data Table();
dt << select where( :"Value_in"n[Row()] > :"Value_in"n[Row()==0]) << Color Cells("Red");Gracias de antemano.
Análisis y modelado de datos básicosRe: Comparar los valores de cada fila con los valores de la primera fila (límites)Bienvenido a la Comunidad.
He aquí un ejemplo de cómo abordaría esto.

names default to here(1);
dt=New Table( "Example",
Add Rows( 100 ),
New Column( "values",
Formula( Random Integer( 50, 100 ) )
),
New Column( "limit",
Numeric,
Set Values(
[90]
)
)
);
dt:values << color cells(green,dt<<GET rows="" where=""> :limit[1]));</GET>
Re: Comparar los valores de cada fila con los valores de la primera fila (límites)Puede utilizar subíndices de tabla de datos para seleccionar un valor de cualquier fila. Tampoco es necesario seleccionar las filas.
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
over_limit = dt << Get Rows Where(:weight > :weight[1]);
:weight << Color Cells("Red", over_limit);Re: Comparar los valores de cada fila con los valores de la primera fila (límites)Gracias, intenté algo un poco diferente (ya que necesito que la celda :values[0] contenga el valor límite) y funcionó. ¡Gracias por responder!
Aquí está mi código, por cierto, aunque no es tan elegante, y tengo varias copias de este para cada una de las columnas que quiero comparar:
::dt = Current Data Table();
For( ::i = 2, ::i <= N Row( ::dt ), ::i++,
If(:"colname_(unit)"n[::i] > :"colname_(unit)"n[1],
:"colname_(unit)"n << Color Cells("Red", ::i);
);
); Re: Comparar los valores de cada fila con los valores de la primera fila (límites)2 comentarios sobre su respuesta y el diseño de la tabla de datos.
- El uso de un bucle For() es muy ineficiente en comparación con el uso de Get Rows Where()
- El uso de una tabla de datos JMP como si fuera una tabla de datos Excel es problemático. Una tabla de datos JMP está diseñada para el análisis. Por lo tanto, se basa en columnas, no en celdas como Excel . Un límite como el que ha colocado en la tabla obliga al usuario a tener que programar en torno a las filas únicas. La forma típica de manejar elementos como un límite es tenerlos en una tabla de datos separada o guardarlos como una propiedad de columna. JMP tiene una propiedad de columna Spec Limit que podría ser exactamente lo que podría usar y, si no, puede crear una nueva propiedad de columna y colocarla allí.