<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'ai cherché partout, y compris dans des discussions comme celle-ci : Existe-t-il un moyen d'envoyer une couleur de police à une seule valeur dans un affichage ? Donc si X > 10 couleur X violet (étant donné que je sais comment faire…
Mais je n'arrive pas à trouver le mot exact pour ajouter de nouvelles règles de formatage conditionnel pour supérieur ou égal ou juste égal. Quelqu'un peut-il énumérer toutes les combinaisons ? Voici un exemple de ce que je fais. Je dois utiliser la substitution pour faire fonctionner les variables.
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 clé est GreaterThan. Je sais que cela fonctionne, tout comme LessThan et la capitalisation. Je ne sais tout simplement pas quoi faire pour Égal, Pas égal, Supérieur ou égal et Inférieur ou égal. J'ai essayé différentes combinaisons de majuscules et d'espacement mais rien n'a fonctionné. Je reçois toujours une règle non reconnue.
Enfin, est-ce que quelqu'un connaît le code pour supprimer un ensemble de règles ?
Aucune de ces informations ne peut être trouvée nulle part.
Merci d'avance
H
Salut Heather,
Il est un peu tard pour répondre à votre requête initiale, mais je me suis retrouvé dans une situation très similaire à celle que vous décrivez il y a quelques jours - et voici ce que j'ai fait pour obtenir l'effet souhaité :
Tout d'abord, utilisez la boîte de dialogue interactive comme décrit dans https://community.jmp.com/t5/Discussions/Is-there-a-way-to-send-a-font-color-to-a-single-value-in-a/td-p/8643 pour créer l’ensemble des conditions souhaitées. Ce que je voulais faire, c'était ombrer les cellules de toutes les NumberColBoxes dans une TableBox avec une couleur de fond rouge si le contenu était inférieur à 0,25, orange s'il était supérieur ou égal à 0,25 mais inférieur à 0,75, et vert s'il était supérieur ou égal à 0,25 mais inférieur à 0,75, et vert s'il était supérieur ou égal à 0,25 mais inférieur à 0,75, et vert s'il était supérieur ou égal à 0,25 mais inférieur à 0,75. était supérieur ou égal à 0,75.
Je voulais que la couleur du texte passe du noir au blanc lorsque la couleur d'arrière-plan était rouge ou verte pour le rendre plus facile à lire, et j'aurais également pu appliquer des options grasses et/ou italiques au texte si je l'avais souhaité. L'écran de dialogue en regardant la condition « orange » ressemblait à ceci :

Après l'avoir configuré, j'avais ensuite besoin de voir à quoi ressemblait ce qui précède dans JSL afin de pouvoir l'incorporer dans mon script. Pour ce faire, tapez "show préférences()" dans une fenêtre de script et exécutez-le. Le résultat affiche toutes vos préférences, y compris celle qui vient d'être configurée, qui dans mon cas ressemblait à ceci :
Ensemble de règles (
Nom de la règle( "DMR_Test_01" ),
Plus grand que(
Valeur( 0,75 ),
Compris( 0 ),
Format ( Couleur du texte ( "Blanc" ), Couleur de fond ( { 0 , 200 , 0 } ) )
),
Gamme(
Valeur Min( 0,25 ),
Valeur max( 0,75 ),
Début inclusif ( 0 ),
InclusFin( 0 ),
Format ( Couleur du texte ( "Noir" ), Couleur de fond ( "Jaune clair moyen" ) )
),
Moins que(
Valeur( 0,25 ),
Compris( 0 ),
Format ( Couleur du texte ( "Blanc" ), Couleur de fond ( "Rouge" ) )
)
)
)
J'ai donc incorporé l'ensemble de règles ci-dessus dans ma propre instruction Preferences(), puis je l'ai testé sur une TableBox avec un assortiment de colonnes de nombres aléatoires entre 0 et 1, comme indiqué. Pour me donner la possibilité de l'intégrer dans une fonction que je pourrais exécuter plus tard sur n'importe quelle TableBox dont la structure pourrait également inclure des StringColBox ou des PlotColBox, j'ai testé chaque boîte pour voir s'il s'agissait d'une NumberColBox avant d'essayer de lui appliquer le format conditionnel. Le script final ressemble à ceci :
Préférences (
Règles de formatage conditionnel (
Ensemble de règles (
Nom de la règle( "DMR_Test_01" ),
Plus grand que(
Valeur( 0,75 ),
Compris( 0 ),
Format ( Couleur du texte ( "Blanc" ), Couleur de fond ( { 0 , 200 , 0 } ) )
),
Gamme(
Valeur Min( 0,25 ),
Valeur max( 0,75 ),
Début inclusif ( 0 ),
InclusFin( 0 ),
Format ( Couleur du texte ( "Noir" ), Couleur de fond ( "Jaune clair moyen" ) )
),
Moins que(
Valeur( 0,25 ),
Compris( 0 ),
Format ( Couleur du texte ( "Blanc" ), Couleur de fond ( "Rouge" ) )
)
)
)
);
fn_RanUni = fonction ({N}, {local par défaut},
RanUniList = {}; pour (je= 1 , je<=N, je++, insérer dans (RanUniList, Uniforme aléatoire ()));
RanUniListe
);
Ma_TableBox = TableBox (
ChaîneColBox ( "SCB" , { "AAA" , "BBB" , "CCC" , "DDD" , "EEE" , "FFF" , "GGG" , "HHHH" , "III" , "JJJ" }),
NuméroColBox ( "BCN1" , fn_RanUni( dix ), << définir le format ( "Décembre fixe" , dix , 3 )),
NuméroColBox ( "BCN2" , fn_RanUni( dix ), << définir le format ( "Décembre fixe" , dix , 3 )),
PlotColBox ( "PCB1" , fn_RanUni( dix )),
NuméroColBox ( "BCN3" , fn_RanUni( dix ), << définir le format ( "Décembre fixe" , dix , 3 )),
NuméroColBox ( "BCN4" , fn_RanUni( dix ), << définir le format ( "Décembre fixe" , dix , 3 )),
PlotColBox ( "PCB2" , fn_RanUni( dix )),
NuméroColBox ( "BCN5" , fn_RanUni( dix ), << définir le format ( "Décembre fixe" , dix , 3 )),
<< définir des rangées alternées d'ombre ( 0 ),
<< définir les titres d'ombre ( 0 ),
<< définir les bordures des colonnes ( 1 ),
<< définir les bordures des lignes ( 0 ),
<< définir des titres soulignés ( 1 ),
<< Couleur de l'arrière plan ( "blanc" )
);
pour (je= 1 , je<= nArticles (Ma_TableBox), i++,
si ((Ma_TableBox[i] << nom du cours ())== "NuméroColBox" ,
Ma_TableBox[i] << définir le format conditionnel ( "DMR_Test_01" )
)
);
nouvelle fenetre ( "NO" ,
Ma_TableBox
);
Je peux maintenant voir dans les Préférences comment obtenir la syntaxe correcte pour (a) spécifier une plage, (b) changer la couleur d'arrière-plan d'une cellule et (c) incorporer une condition "supérieur ou égal à".L'exécution du script ci-dessus devrait produire quelque chose comme ceci :

J'espère que cela pourra être utile à quiconque essaie de faire quelque chose de similaire.