<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />He buscado por todas partes, incluidos hilos como este: ¿Existe alguna forma de enviar un color de fuente a un único valor en una pantalla? Entonces, si X > 10 colores X morado (dado que sé cómo diseñar...
Pero no puedo encontrar la palabra exacta para agregar nuevas reglas de formato condicional para mayor o igual o simplemente igual. ¿Alguien puede enumerar todas las combinaciones? Aquí hay un ejemplo de lo que estoy haciendo. Necesito usar sustitución para que las variables funcionen.
Eval(Substitute(Expr(Preferences(
Conditional Formatting Rules( RuleSet( RuleName( aaa ),
GreaterThan( value(nnn), Format( Text Color( "White" ), FontStyle( Bold ), Back Color( 17 ) ) ), )))),
Expr( aaa ), mystring,
Expr( nnn ), myparam
)
);
La clave es Mayor que. ¡Sé que funciona y también LessThan y las mayúsculas son importantes! Simplemente no sé qué hacer con Igual, No igual, Mayor que o Igual y Menor que o Igual. Probé varias combinaciones de mayúsculas y espacios, pero nada funcionó. Sigo recibiendo regla no reconocida.
Por último, ¿alguien conoce el código para eliminar un conjunto de reglas?
Ninguna de esta información se encuentra por ningún lado.
gracias de antemano
h
Hola brezo,
Es un poco tarde para responder a tu consulta original, pero me encontré en una situación muy similar a la que usted describe hace un par de días, y esto es lo que hice para obtener el efecto que quería:
Primero, utilice el diálogo interactivo como se describe en https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643 para crear el conjunto de condiciones que desee. Lo que quería hacer era sombrear las celdas de todos los NumberColBoxes en un TableBox con un color de fondo rojo si el contenido era menor que 0,25, ámbar si era mayor o igual a 0,25 pero menor que 0,75, y verde si fue mayor o igual a 0,75.
Quería que el color del texto cambiara de negro a blanco cuando el color de fondo fuera rojo o verde para que fuera más fácil de leer, y también podría haber aplicado opciones de negrita y/o cursiva al texto si hubiera querido. La pantalla de diálogo al observar la condición "ámbar" se veía así:

Una vez configurado, necesitaba ver cómo se veía lo anterior en JSL para poder incorporarlo a mi script. Para hacerlo, escriba "mostrar preferencias()" en una ventana de script y ejecútelo. El resultado muestra todas sus preferencias, incluida la que acaba de configurar, que en mi caso se veía así:
Conjunto de reglas(
Nombre de la regla( "DMR_Prueba_01" ),
Mas grande que(
Valor( 0,75 ),
Inclusivo( 0 ),
Formato ( Color de texto ( "Blanco" ), Color de espalda ( { 0 , 200 , 0 } ) )
),
Rango(
Valor mínimo( 0,25 ),
Valor máximo( 0,75 ),
InclusivoInicio( 0 ),
Fin inclusivo ( 0 ),
Formato ( Color de texto ( "Negro" ), Color de espalda ( "Amarillo claro medio" ) )
),
Menos que(
Valor( 0,25 ),
Inclusivo( 0 ),
Formato ( Color de texto ( "Blanco" ), Color de espalda ( "Rojo" ) )
)
)
)
Por lo tanto, incorporé el conjunto de reglas anterior en mi propia declaración Preferences() y luego lo probé en un TableBox con una variedad de columnas de números aleatorios entre 0 y 1, como se muestra. Para tener la opción de integrarlo en alguna función que pudiera ejecutar más adelante en cualquier TableBox cuya estructura también pudiera incluir algunos StringColBoxes o PlotColBoxes, probé cada cuadro para ver si era un NumberColBox antes de intentar aplicarle el formato condicional. El guión final se ve así:
Preferencias (
Reglas de formato condicional(
Conjunto de reglas(
Nombre de la regla( "DMR_Prueba_01" ),
Mas grande que(
Valor( 0,75 ),
Inclusivo( 0 ),
Formato ( Color de texto ( "Blanco" ), Color de espalda ( { 0 , 200 , 0 } ) )
),
Rango(
Valor mínimo( 0,25 ),
Valor máximo( 0,75 ),
InclusivoInicio( 0 ),
Fin inclusivo ( 0 ),
Formato ( Color de texto ( "Negro" ), Color de espalda ( "Amarillo claro medio" ) )
),
Menos que(
Valor( 0,25 ),
Inclusivo( 0 ),
Formato ( Color de texto ( "Blanco" ), Color de espalda ( "Rojo" ) )
)
)
)
);
fn_RanUni = función ({N}, {local predeterminado},
RanUniList = {}; para (yo= 1 , yo<=N, yo++, insertar en (RanUniList, Uniforme aleatorio ()));
RanUniLista
);
Mi_TableBox = Cuadro de mesa (
CadenaColBox ( "SCB" , { "AAA" , "BBB" , "CCC" , "DDD" , "EEE" , "FFF" , "GGG" , "HHHH" , "III" , "JJJ" }),
NúmeroColBox ( "NCB1" , fn_RanUni( 10 ), << establecer formato ( "Dic fijo" , 10 , 3 )),
NúmeroColBox ( "NCB2" , fn_RanUni( 10 ), << establecer formato ( "Dic fijo" , 10 , 3 )),
TrazarColBox ( "PCB1" , fn_RanUni( 10 )),
NúmeroColBox ( "NCB3" , fn_RanUni( 10 ), << establecer formato ( "Dic fijo" , 10 , 3 )),
NúmeroColBox ( "NCB4" , fn_RanUni( 10 ), << establecer formato ( "Dic fijo" , 10 , 3 )),
TrazarColBox ( "PCB2" , fn_RanUni( 10 )),
NúmeroColBox ( "NCB5" , fn_RanUni( 10 ), << establecer formato ( "Dic fijo" , 10 , 3 )),
<< establecer filas alternas de sombra ( 0 ),
<< establecer títulos de sombra ( 0 ),
<< establecer bordes de columna ( 1 ),
<< establecer bordes de fila ( 0 ),
<< establecer encabezados subrayados ( 1 ),
<< color de fondo ( "blanco" )
);
para (yo= 1 , yo<= nArtículos (Mi_TableBox), i++,
si ((Mi_TableBox[i] << nombre de la clase ())== "NúmeroColBox" ,
Mi_TableBox[i] << establecer formato condicional ( "DMR_Prueba_01" )
)
);
nueva ventana ( "NOROESTE" ,
Mi_TableBox
);
Ahora puedo ver en Preferencias cómo obtener la sintaxis correcta para (a) especificar un rango, (b) cambiar el color de fondo de una celda y (c) incorporar una condición "mayor o igual a".La ejecución del script anterior debería producir algo como esto:

Espero que esto pueda ser de ayuda para cualquiera que intente hacer algo similar.