<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho cercato ovunque, compresi i thread come questo: C'è un modo per inviare un colore del carattere a un singolo valore in un display? Quindi se X > 10 colori X viola (dato che so come disegnarli...
Ma non riesco a trovare la parola esatta per aggiungere nuove regole di formattazione condizionale per maggiore o uguale o semplicemente uguale. Qualcuno può elencare ogni combinazione? Ecco un esempio di quello che sto facendo. Devo usare la sostituzione per far funzionare le variabili.
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 chiave è Maggiore di. So che funziona, così come LessThan e le maiuscole sono importanti!! Semplicemente non so cosa fare per Uguale, Non uguale, Maggiore o uguale e Minore o uguale. Ho provato varie combinazioni di maiuscole e spaziature ma nulla ha funzionato. Continuo a ricevere una regola non riconosciuta.
Infine, qualcuno conosce il codice per eliminare un set di regole?
Nessuna di queste informazioni è reperibile da nessuna parte.
grazie in anticipo
H
Ciao Heather,
È un po' tardi per rispondere alla tua domanda originale, ma mi sono trovato in una situazione molto simile a quella che descrivi un paio di giorni fa - e questo è quello che ho fatto per ottenere l'effetto che volevo:
Innanzitutto, utilizzare la finestra di dialogo interattiva come descritto in https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643 per creare l'insieme di condizioni desiderate. Quello che volevo fare era ombreggiare le celle di tutti i NumberColBox in una TableBox con un colore di sfondo rosso se il contenuto era inferiore a 0,25, ambra se era maggiore o uguale a 0,25 ma inferiore a 0,75 e verde se era era maggiore o uguale a 0,75.
Volevo che il colore del testo cambiasse da nero a bianco quando il colore di sfondo era rosso o verde per renderlo più facile da leggere, e avrei anche potuto applicare le opzioni grassetto e/o corsivo al testo, se avessi voluto. La schermata di dialogo quando si osservava la condizione "ambra" appariva così:

Dopo averlo configurato, dovevo vedere come appariva quanto sopra in JSL in modo da poterlo incorporare nel mio script. Per fare ciò, digita "mostra preferenze()" in una finestra di script ed eseguilo. L'output mostra tutte le tue preferenze, inclusa quella appena impostata, che nel mio caso assomigliava a questa:
Insieme di regole(
NomeRegola( "DMR_Test_01" ),
Più grande di(
Valore( 0,75 ),
Inclusivo( 0 ),
Formato ( Colore del testo ( "Bianco" ), Colore di sfondo ( { 0 , 200 , 0 }))
),
Allineare(
ValoreMin( 0,25 ),
Valore massimo( 0,75 ),
Inizio Inclusivo( 0 ),
FineInclusiva( 0 ),
Formato ( Colore del testo ( "Nero" ), Colore di sfondo ( "Giallo medio chiaro" ) )
),
Meno di(
Valore( 0,25 ),
Inclusivo( 0 ),
Formato ( Colore del testo ( "Bianco" ), Colore di sfondo ( "Rosso" ) )
)
)
)
Ho quindi incorporato il set di regole di cui sopra in una mia istruzione Preferences(), quindi l'ho testato su un TableBox con un assortimento di colonne di numeri casuali compresi tra 0 e 1 come mostrato. Per darmi la possibilità di incorporarlo in una funzione che avrei potuto eseguire in seguito su qualsiasi TableBox la cui struttura potesse includere anche alcuni StringColBox o PlotColBox, ho testato ogni casella per vedere se era un NumberColBox prima di tentare di applicarvi il formato condizionale. Lo script finale è simile al seguente:
Preferenze (
Regole di formattazione condizionale(
Insieme di regole(
NomeRegola( "DMR_Test_01" ),
Più grande di(
Valore( 0,75 ),
Inclusivo( 0 ),
Formato ( Colore del testo ( "Bianco" ), Colore di sfondo ( { 0 , 200 , 0 }))
),
Allineare(
ValoreMin( 0,25 ),
Valore massimo( 0,75 ),
Inizio Inclusivo( 0 ),
FineInclusiva( 0 ),
Formato ( Colore del testo ( "Nero" ), Colore di sfondo ( "Giallo medio chiaro" ) )
),
Meno di(
Valore( 0,25 ),
Inclusivo( 0 ),
Formato ( Colore del testo ( "Bianco" ), Colore di sfondo ( "Rosso" ) )
)
)
)
);
fn_RanUni = funzione ({N}, {locale predefinito},
RanUniList = {}; per (io= 1 , i<=N, i++, inserire (RanUniList, Uniforme casuale ()));
RanUniList
);
Mia_TableBox = TabellaBox (
StringColBox ( "SCB" , { "AAA" , "BBB" , "CCC" , "DDD" , "EEE" , "F F F" , "GGG" , "HHH" , "III" , "JJJ" }),
NumeroColBox ( "NCB1" , fn_RanUni( 10 ), << impostare il formato ( "Dic fisso" , 10 , 3 )),
NumeroColBox ( "NCB2" , fn_RanUni( 10 ), << impostare il formato ( "Dic fisso" , 10 , 3 )),
PlotColBox ( "PCB1" , fn_RanUni( 10 )),
NumeroColBox ( "NCB3" , fn_RanUni( 10 ), << impostare il formato ( "Dic fisso" , 10 , 3 )),
NumeroColBox ( "NCB4" , fn_RanUni( 10 ), << impostare il formato ( "Dic fisso" , 10 , 3 )),
PlotColBox ( "PCB2" , fn_RanUni( 10 )),
NumeroColBox ( "NCB5" , fn_RanUni( 10 ), << impostare il formato ( "Dic fisso" , 10 , 3 )),
<< imposta le file alternate di ombra ( 0 ),
<< impostare le intestazioni dell'ombra ( 0 ),
<< impostare i bordi delle colonne ( 1 ),
<< impostare i bordi delle righe ( 0 ),
<< impostare i titoli sottolineati ( 1 ),
<< colore di sfondo ( "bianco" )
);
per (io= 1 , io<= nArticoli (My_TableBox), i++,
Se ((My_TableBox[i] << nome della classe ())== "NumeroColBox" ,
Mia_TableBox[i] << imposta il formato condizionale ( "DMR_Test_01" )
)
);
nuova finestra ( "NO" ,
My_TableBox
);
Ora posso vedere dalle Preferenze come ottenere la sintassi corretta per (a) specificare un intervallo, (b) modificare il colore di sfondo di una cella e (c) incorporare una condizione "maggiore o uguale a".L'esecuzione dello script precedente dovrebbe produrre qualcosa del genere:

Spero che questo possa essere di aiuto a chiunque cerchi di fare qualcosa di simile.