Salut,
J'essaie de vérifier si une valeur dans une cellule d'une variable se situe dans une plage de valeurs, entre 0,50 et 2,0, et si elle se situe dans cette plage pour renvoyer vrai et si elle ne renvoie pas faux. je suis dans le tableau de données et les informations sur la colonne, et je tape ce qui suit dans la formule d'édition :
If (0.50 < ( :Name( "P1-R1-D1-L1" ) > 2.0), "True", "False") <BR /><BR />// and
<BR />If (0.50 < ( :Name( "P1-R1-D1-L1" ))|(2.0 > ( :Name( "P1-R1-D1-L1" ), "True", "False"))
mais cela ne fonctionne pas non plus pour moi, qu'est-ce que je fais de mal, toute aide serait grandement appréciée
Merci
Merci Jeff, excellente explication
@txnelson vous a donné un exemple fonctionnel mais je peux expliquer ce que vous avez mal dans vos tentatives.
If (0.50 < ( :Name( "P1-R1-D1-L1" ) > 2.0), "True", "False")
Dans cet article, vous essayez une comparaison complexe que JMP ne prend pas en charge, à savoir a < b > c, c'est-à-dire a moins que b plus grand que c.
En regardant dans l'éditeur de formules, vous pouvez voir les comparaisons complexes proposées par JMP, et celles-ci @txnelson utilisé:

Notez le texte d'aide qui donne une idée du fait que JMP est un langage fonctionnel et que ces opérateurs complexes sont en réalité un raccourci pour le fonctions Less LessEqual() et LessEqual Less() . JMP n'a pas de fonction pour la comparaison que vous souhaitez effectuer.
Pour la deuxième tentative :
If (0.50 < ( :Name( "P1-R1-D1-L1" ))|(2.0 > ( :Name( "P1-R1-D1-L1" ), "True", "False"))
Vous avez plus de parenthèses que nécessaire et elles ne sont pas au bon endroit. Voici une version corrigée :
If( 0.50 < :Name( "P1-R1-D1-L1" ) | 2.0 > :Name( "P1-R1-D1-L1" ),
"True",
"False"
)
Cependant, réfléchissons à ce que vous demandez dans cette comparaison logique. Vous demandez à JMP de vérifier si votre colonne est plus grand que .5 ou 2.0 est plus grand que votre chronique. Cela sera vrai pour toutes les valeurs de votre colonne. Si votre colonne est inférieure à 0,5, alors 2,0 sera supérieur à votre colonne. Si votre colonne est supérieure à 2,0, alors 0,5 sera inférieur à votre colonne.
Donc, vous voulez probablement la version qui @txnelson fourni, en vérifiant si votre colonne est comprise entre 0,5 et 2,0 en utilisant la construction a < b <= c.
Voici un morceau de JSL qui crée une colonne selon les spécifications que vous avez fournies
Names Default To Here( 1 );
dt = New Table( "Example",
add rows( 20 ),
New Column( "P1-R1-D1-L1", formula( Random Uniform( 0, 4 ) ) )
);
dt << New Column( "TorF",
character,
formula( If( 0.50 <= :Name( "P1-R1-D1-L1" ) <= 2.0, "True", "False" ) )
);