Dans cette démonstration, nous allons jeter un œil aux fonctions booléennes, ainsi qu'à la fonction Si je vais obtenir une fenêtre d'éditeur de script. Et encore une fois, le raccourci clavier est Ctrl + T ou vous pouvez aller dans le menu Fichier, utilisez la barre d'outils. De nombreuses façons différentes d'obtenir cette nouvelle fenêtre de l'éditeur de script. Et permettez-moi d'apporter le journal devant le journal. De retour dans la fenêtre de l'éditeur de script, je vais taper le code dans lequel j'attribue la valeur de à la variable x. Et je vais continuer et initialiser cela. Et puis sur une nouvelle ligne, je vais faire une comparaison et l'une des choses dans JSL est que nous pouvons joindre des arguments par des opérateurs de comparaison et que JMP les traite comme une seule clause. Donc, si j'ai tapé moins de x moins que égal, cela sera évalué en une seule fois plutôt que séquentiellement parce que ces opérateurs de comparaison lorsque JMP les voit liés comme ceci sont ce qu'on appelle des opérateurs d'élidation. Donc, je peux exécuter cette ligne, et bien sûr, c'est une vraie comparaison qui est supérieure à tout en étant inférieure ou égale à Donc, j'obtiens le booléen comme résultat. Maintenant, notre utilisation la plus courante des fonctions de comparaison est probablement lorsque nous testons des conditions particulières, par exemple, dans une fonction If. Je vais donc changer la première ligne et remplacer le par un Donc, j'attribue la valeur de à x. Et puis je vais remplacer entièrement la deuxième ligne par mon instruction If. Donc, si puis entre parenthèses, x inférieur à la virgule, les résultats renvoyés seront la chaîne de caractères sous la limite. Il s'agit donc d'une simple instruction if/then. Si la condition est évaluée comme vraie, je renvoie ce résultat. Si la condition évalue est fausse, je n'évalue pas le deuxième argument et je renvoie une valeur manquante. Je vais donc exécuter tout ce script. Encore une fois, raccourci clavier pour cela, Ctrl + R. Donc, si x stocke la valeur, elle est inférieure à et nous obtenons ce résultat. Mais si je change la valeur que j'ai assignée à x et que j'exécute tout le script, j'obtiens cette valeur manquante car cette condition n'était pas vraie. Et encore une fois, nous pouvons avoir un autre résultat. Donc, si la condition n'est pas vraie, au lieu d'une valeur manquante, je renverrai cet autre résultat. Et ici, je vais ouvrir mes guillemets doubles et taper Over the limit. Et si j'exécute tout ce script, j'obtiens cet autre résultat. Ainsi, la fonction If peut prendre autant de conditions et de résultats que nécessaire, et vous pouvez toujours avoir ce résultat else si toutes les conditions s'avèrent fausses. Ainsi, dans l'exemple suivant, nous allons prendre un tableau de l'âge des personnes en années et le classer dans l'un des stades de développement psychologique d'Erik Erikson. Je vais donc revenir au journal dans Section et cliquer sur Données d'âge. Nous avons donc des individus, et nous voulons les placer dans ces stades de développement psychologique. Encore une fois, de retour dans le journal, je clique sur Age to Stage Script. Donc, ce script pré-écrit du journal envoie le message Nouvelle colonne à la table de données Age avec - la colonne aura le titre de Stage, et nous spécifions que le type de données sera caractère. Ensuite, une fois la colonne créée, nous utilisons la fonction pour chaque ligne pour la remplir à l'aide d'une instruction If. Et rappelez-vous qu'une fois que JMP rencontre une condition vraie sur l'instruction If, le seul autre argument qui sera évalué est le résultat correspondant. Aucune des autres conditions ne sera évaluée. Donc, une personne âgée, toutes ces comparaisons d'âge sont vraies, mais dès que nous évaluons, Oui, est supérieur à ce que nous renvoyons le résultat Adulte tardif et passons à la ligne suivante puisque nous le faisons dans le contexte de l'itération . Ainsi, de cette façon, nous n'avons pas à mettre entre parenthèses chaque niveau. Nous pouvons simplement dire si c'est plus grand que si c'est plus grand que et ainsi de suite. Et une chose à laquelle il faut penser, si vous regardez les données - dans ce cas, elles sont assez uniformément réparties. Mais si vous avez regardé les données et remarqué qu'elles avaient tendance à avoir beaucoup d'observations à l'extrémité supérieure ou beaucoup d'observations à l'extrémité inférieure, alors c'est la fin de votre distribution à partir de laquelle vous voulez commencer à regrouper parce que s'il y a beaucoup et beaucoup de personnes dont l'âge est supérieur à celui de votre table de données, puis dans de nombreuses lignes, la table de données évaluera cette seule condition, renverra ce résultat et passera à l'étape suivante de l'itération plutôt que d'évaluer tout le reste. Donc, toutes les lignes - et encore une fois, si c'est la majorité où les gens sont terminés, vous accélérerez simplement un peu le traitement de votre script en passant à l'itération suivante dès que le vrai résultat sera trouvé. Alors allons-y et exécutons le script. Et vous pouvez voir que la colonne a été créée et remplie à l'aide de l'instruction If. Deux autres types de fonctions dont nous voulons parler ici sont les fonctions logiques et les fonctions d'enquête. Ainsi, dans de nombreux cas, vous devez tester plusieurs conditions à la fois. Et vous pouvez y parvenir en combinant vos conditions de manière logique. Et quelques exemples de fonctions logiques seraient les fonctions AND et OR. Ainsi, la fonction ET, qui a l'opérateur esperluette, garantira que toutes les conditions sont vraies. La fonction OU a l'opérateur de tuyau vertical. Cela garantit qu'au moins une condition est vraie. Je vais donc simplement utiliser la fenêtre de script où j'ai le script Age to Stage et l'effacer. Je vais définir x comme étant assigné la valeur de point-virgule, y sera assigné la valeur d'un autre point-virgule, et je vais tout taper sur une seule ligne et laisser le reformatage nettoyer les choses. Donc, si entre parenthèses, x inférieur à Et alors l'opérateur ici pour OU est cette barre verticale, tuyau vertical, si x inférieur à OU y supérieur à Donc, c'est ma condition. Tapez une virgule ici. Si l'un ou l'autre ou les deux sont vrais, alors je vais renvoyer la condition de résultat remplie. Et si ni l'un ni l'autre n'est vrai, je renverrai le résultat sous la forme d'une condition de chaîne de caractères non remplie. Et je vais retaper mon point-virgule de fin, pour rappel, nous considérons cela comme une bonne pratique mais il n'est pas obligatoire de terminer votre script par un point-virgule. Je vais continuer et faire un clic droit pour reformater. Et donc ça nettoie un peu après avoir tout tapé sur une seule ligne. Donc, si j'exécute le script, au moins une de ces deux conditions est vraie, je m'attends à ce que la première condition de résultat soit remplie. Et c'est, en fait, ce que j'obtiens dans le journal. Si j'avais besoin que les deux conditions soient vraies, je vais remplacer l'opérateur de tuyau vertical par l'esperluette. Dans ce cas, une seule condition est vraie mais pas les deux. Je m'attends donc à obtenir le résultat else. Et quand je l'exécute, c'est ce que je vois dans le journal. L'autre type de fonction que j'ai mentionné sont les fonctions d'enquête. Parfois, vous souhaitez pouvoir vérifier la nature d'une valeur. Par exemple, vous avez peut-être besoin de savoir si la valeur est un nombre ou une liste. Il existe de nombreux types de valeurs possibles. Dans certains cas, vous pouvez obtenir une erreur si vous essayez d'exécuter un script avec le mauvais type de valeur stockée dans une variable. Vous voulez donc vous assurer que vous vous renseignez à ce sujet, et peut-être que votre script va dans un sens ou dans l'autre, selon la nature de la valeur de cette variable. Je vais donc à nouveau effacer le contenu de l'éditeur de script. Dans la première ligne, je vais attribuer à x une matrice. Je vais donc taper x, la fonction d'assignation, puis crochet, virgule d'espace. C'est donc ma première rangée. espace c'est ma deuxième ligne. Fermez ce crochet, tapez mon point-virgule, puis je le ferai dans le contexte d'une instruction if et je veux aussi vous montrer qu'il existe cette capacité de complétion automatique pour les fonctions dans JSL. Et si je tape les premières lettres d'une fonction. Dans ce cas, les fonctions d'interrogation commencent toutes par les lettres IS pour is. Et puis appuyez sur la touche Contrôle et la barre d'espace. Je peux parcourir cette liste pour trouver la fonction de recherche que je veux dans ce cas, j'utiliserai Is Matrix, puis j'appuierai sur Entrée pour la sélectionner et JMP complète la fonction pour moi. Bien sûr, je dois encore ouvrir les parenthèses, et je vais y mettre x, fermer les parenthèses, puis avant la parenthèse fermante de l'instruction If, je vais taper une virgule, et j'utiliserai le même résultats dont la condition est remplie, guillemets doubles fermés, virgule, guillemets doubles ouverts condition non remplie. Laissez-moi flèche pour m'assurer que tout le monde est aligné, et je ferai un clic droit pour reformater. Donc dans ce cas, x stocke une matrice. Je m'attends donc à obtenir ce premier résultat, et lorsque j'exécute le script, je l'obtiens. Supposons, cependant, que mon script va faire quelque chose de différent si ce que x stocke est une chaîne. Il s'agit peut-être d'une entrée utilisateur, peut-être est-elle récupérée à partir d'une table de données ou ailleurs. Je vais donc changer le mot matrice ici en chaîne, et je vais exécuter le script. Et donc, bien sûr, j'obtiens le résultat else car la condition est évaluée comme fausse. Donc, ici, vous avez vu quelques exemples de fonctions booléennes utilisant la fonction If pour regrouper les données ainsi que l'utilisation de la fonction If en conjonction avec des fonctions logiques et des fonctions d'enquête.