In questa dimostrazione, daremo un'occhiata alle funzioni booleane, così come alla funzione If, otterrò una finestra dell'editor di script. E ancora, la scorciatoia da tastiera è Ctrl+T oppure puoi andare al menu File, usare la barra degli strumenti. Molti modi diversi per ottenere quella nuova finestra dell'editor di script. E fammi portare il registro davanti al diario. Di nuovo nella finestra dell'editor di script, digiterò il codice in cui assegno il valore di alla variabile x. E andrò avanti e lo inizializzerò. E poi su una nuova riga, farò un confronto e una delle cose in JSL è che possiamo unire argomenti tramite operatori di confronto e fare in modo che JMP li tratti come una singola clausola. Quindi, se ho digitato meno di x minore di uguale, questo verrà valutato tutto in una volta anziché in sequenza perché questi operatori di confronto quando JMP li vede messi insieme in questo modo sono quelli che vengono chiamati operatori eliding. Quindi posso eseguire quella linea e, naturalmente, questo è un vero confronto che è maggiore di pur essendo inferiore o uguale a Quindi ottengo il booleano come risultato. Ora, probabilmente il nostro uso più comune delle funzioni di confronto è quando stiamo testando condizioni particolari, ad esempio in una funzione If. Quindi cambierò la prima riga e sostituirò la con a Quindi assegnerò il valore di a x. E poi sostituirò interamente la seconda riga con la mia istruzione If. Quindi, se e poi tra parentesi, x minore di virgola, i risultati che verranno restituiti saranno la stringa di caratteri sotto il limite. Quindi questa è una semplice istruzione if/then. Se la condizione viene valutata come true, restituisco questo risultato. Se la condizione valuta è falsa, non valuto il secondo argomento e restituisco un valore mancante. Quindi eseguirò l'intero script. Ancora una volta, scorciatoia da tastiera per quello, Ctrl+R. Quindi se x sta memorizzando il valore, allora è minore di e otteniamo questo risultato. Ma se cambio il valore che ho assegnato a x ed eseguo l'intero script, ottengo quel valore mancante perché quella condizione non era vera. E ancora, possiamo avere un altro risultato. Quindi, se la condizione non è vera, invece di un valore mancante, restituirò questo altro risultato. E qui, apro le mie virgolette e digito Oltre il limite. E se eseguo l'intero script, ottengo quell'altro risultato. Quindi la funzione If può accettare tutte le condizioni e i risultati necessari, quindi puoi sempre avere quell'altro risultato se tutte le condizioni risultano false. Quindi, nel prossimo esempio, prenderemo una tabella dell'età delle persone in anni e la classificheremo in una delle fasi dello sviluppo psicologico di Erik Erikson. Quindi tornerò al diario nella sezione e farò clic sui dati dell'età. Quindi abbiamo individui e vogliamo confinarli in queste fasi dello sviluppo psicologico. Quindi, di nuovo, nel diario, farò clic su Age to Stage Script. Quindi questo script pre-scritto dal diario sta inviando il messaggio Nuova colonna alla tabella di dati Age con-- la colonna avrà il titolo di Stage e stiamo specificando che il tipo di dati sarà carattere. Quindi, una volta creata la colonna, utilizziamo la funzione for each row per popolarla utilizzando un'istruzione If. E ricorda che una volta che JMP incontra una condizione vera sull'istruzione If, l'unico altro argomento che verrà valutato è il risultato corrispondente. Nessuna delle altre condizioni sarà valutata. Quindi una persona che ha l'età, tutti questi confronti di età sono vere, ma non appena valutiamo, Sì, è maggiore di quanto restituiamo il risultato Late Adult e andiamo alla riga successiva poiché lo stiamo facendo nel contesto dell'iterazione . Quindi, in questo modo, non dobbiamo mettere tra parentesi ogni livello. Possiamo solo dire se è maggiore di se è maggiore di e così via. E una cosa a cui pensare, se guardi i dati: in questo caso, sono distribuiti in modo abbastanza uniforme. Ma se hai guardato i dati e hai notato che tendevano ad avere molte osservazioni nella fascia alta o molte osservazioni nella fascia bassa, allora questa è la fine della tua distribuzione da cui vuoi iniziare a binning perché se c'è un sacco di persone la cui età è maggiore rispetto alla tabella dei dati, quindi in molte righe la tabella dei dati valuterà questa condizione, restituirà questo risultato e passerà al passaggio successivo dell'iterazione anziché valutare tutto il resto. Quindi qualsiasi riga - e ancora, se questa è la maggior parte in cui le persone sono finite, accelererai un po' l'elaborazione dello script passando all'iterazione successiva non appena verrà trovato il vero risultato. Quindi andiamo avanti ed eseguiamo lo script. E puoi vedere che la colonna è stata creata e popolata usando l'istruzione If. Altri due tipi di funzioni di cui vogliamo parlare qui sono le funzioni logiche e le funzioni di indagine. Quindi, in molti casi, è necessario testare più di una condizione alla volta. E puoi ottenerlo combinando le tue condizioni in modo logico. E alcuni esempi di funzioni logiche sarebbero le funzioni AND e OR. Quindi la funzione AND, che ha l'operatore e commerciale, assicurerà che tutte le condizioni siano vere. La funzione OR ha l'operatore tubo verticale. Ciò garantisce che almeno una condizione sia vera. Quindi userò semplicemente la finestra dello script in cui ho lo script Age to Stage e lo cancellerò. Definirò x come assegnato il valore di punto e virgola, a y verrà assegnato il valore di un altro punto e virgola e digiterò tutto su una riga e lascerò che la riformattazione ripulisca le cose. Quindi, se tra parentesi, x minore di E quindi l'operatore qui per OR è quella barra verticale, tubo verticale, se x minore di OR y maggiore di Quindi questa è la mia condizione. Digita una virgola lì. Se uno di questi o entrambi sono veri, restituirò la condizione del risultato soddisfatta. E se nessuno dei due è vero, restituirò il risultato come una condizione della stringa di caratteri non soddisfatta. E digiterò di nuovo il punto e virgola finale, come promemoria, lo consideriamo una best practice ma non è necessario terminare lo script con un punto e virgola. Andrò avanti e farò clic con il pulsante destro del mouse per riformattare. E quindi ripuliscilo un po' dopo aver scritto tutto su una riga. Quindi, se eseguo lo script, almeno una di queste due condizioni è vera, mi aspetto che venga soddisfatta la prima condizione del risultato. E questo è, in effetti, ciò che ottengo nel registro. Se avessi bisogno che entrambe le condizioni fossero vere, sostituirò l'operatore del tubo verticale con la e commerciale. In questo caso, solo una condizione è vera ma non entrambe. Quindi mi aspetto di ottenere l'altro risultato. E quando lo eseguo, è quello che vedo nel registro. L'altro tipo di funzione che ho menzionato sono le funzioni di richiesta. A volte vuoi essere in grado di controllare la natura di un valore. Ad esempio, forse devi sapere se il valore è un numero o una lista. Ci sono molti diversi tipi di valori che sono possibili. In alcuni casi, potresti ricevere un errore se tenti di eseguire uno script con il tipo sbagliato di valore memorizzato in una variabile. Quindi vuoi assicurarti di informarti su questo, e forse il tuo script va in un modo o nell'altro, a seconda della natura del valore in quella variabile. Quindi cancellerò di nuovo il contenuto dell'editor di script. Nella prima riga, assegnerò a xa matrice. Quindi digiterò x, la funzione di assegnazione, quindi parentesi quadre, spazio virgola. Quindi questa è la mia prima fila. spazio che è la mia seconda fila. Chiudi quella parentesi quadra, digita il mio punto e virgola, quindi lo farò nel contesto di un'istruzione if e voglio anche mostrarti che esiste questa capacità di completamento automatico per le funzioni in JSL. E se scrivo le prime lettere di una funzione. In questo caso, le funzioni di richiesta iniziano tutte con le lettere IS per is. E quindi premere il tasto Ctrl e la barra spaziatrice. Posso scorrere verso il basso questo elenco per trovare la funzione di richiesta che desidero in questo caso, userò Is Matrix, quindi premerò Invio per selezionarla e JMP completa la funzione per me. Io, ovviamente, devo ancora aprire le parentesi, e ci inserirò x, chiuderò le parentesi e poi prima della parentesi di chiusura dell'istruzione If, digiterò una virgola e userò lo stesso risultati con condizione soddisfatta, virgolette chiuse, virgola, virgolette aperte condizione non soddisfatta. Fammi fare una freccia per assicurarmi di avere tutti in fila e farò clic con il pulsante destro del mouse per riformattare. Quindi, in questo caso, x sta memorizzando una matrice. Quindi mi aspetto di ottenere questo primo risultato e quando eseguo lo script, lo ottengo. Supponiamo, tuttavia, che il mio script farà qualcosa di diverso se ciò che x sta memorizzando è una stringa. Forse questo è l'input dell'utente, forse è stato recuperato da una tabella di dati o da qualche altra parte. Quindi cambierò la parola matrice qui in stringa ed eseguirò lo script. E quindi, ovviamente, ottengo il risultato else perché la condizione è valutata come falsa. Quindi, qui, hai visto alcuni esempi di funzioni booleane che utilizzano la funzione If per raggruppare i dati e la funzione If insieme a funzioni logiche e funzioni di richiesta.