Quindi questa dimostrazione illustra come utilizzare la funzione For per l'iterazione. E finora, abbiamo utilizzato l'editor di script con il registro per testare i nostri script e osservare i risultati. Ma ora vogliamo esaminarlo usando il debugger. Quindi ho una finestra dell'editor di script aperta e inizierò digitando Nomi predefiniti su Qui. E metterò quel booleano che non sto aggiungendo spazi in questo momento. Digiterò effettivamente tutto su una riga e poi lascerò che la riformattazione automatica pulisca le cose per me. Quindi digiterò un punto e virgola e poi For, parentesi aperte, punto e virgola uguale, punto e virgola b uguale, virgola uguale, quindi sto inizializzando tre variabili. Quindi digiterò il test, che è i minore di virgola, e quindi aggiornerò sia b che i. Quindi b si aggiornerà-- b+ uguale Quindi questa è la funzione di assegnazione sul posto, la funzione aggiungi a, che sovrascriverà il valore corrente di b e lo aumenterà di un punto e virgola perché sto aggiornando due cose, e poi i++, quello ++ , ancora, essendo l'operatore post-incremento che si aggiunge a i in atto. E poi una virgola, e poi il corpo di questo semplice ciclo sarà la funzione Mostra. E mostrerò solo a, virgola, b, virgola-- e poi invocherò effettivamente la funzione di moltiplicazione usando l'operatore-- quindi a volte b. E poi chiuderò tutte le mie parentesi, aggiungo quel punto e virgola e farò clic con il pulsante destro del mouse e Riformattazione. Ora una cosa -- beh, due cose da notare qui -- una è che JMP ha aggiunto alcuni punti e virgola in più per me. Ha visto che stavo incollando le funzioni insieme in questo primo argomento. Ha visto che stavo incollando le funzioni insieme nel terzo argomento. E così ha aggiunto questi punti e virgola. Non fanno male. In pratica, probabilmente li rimuoverei dal mio script perché non sono necessari a meno che non stessi aggiungendo - incollando più funzioni insieme. E l'altra cosa che potrei fare è riorganizzare questo in modo che ogni argomento abbia la sua linea. Ma voglio che questo corrisponda a quello che ho nel PDF del corso quando entriamo nel debugger. Quindi lo lascerò come lo ha riformattato JMP, tranne per eliminare quei punti e virgola. Quindi ci sono diversi modi in cui possiamo avviare il debugger. Puoi andare al menu Modifica e c'è un'opzione Script di debug. Puoi vedere che la scorciatoia da tastiera è Ctrl + Maiusc + R. È possibile fare clic sul pulsante Debug della barra degli strumenti, qui nella finestra dell'editor di script. Oppure puoi fare clic con il pulsante destro del mouse e selezionare Debug Script. E poiché è l'ultimo che ti sto mostrando, andrò avanti e userò quel metodo. Quindi questo debugger è una seconda istanza di JMP. E l'istanza originale di JMP è temporaneamente sospesa. Quindi, se c'è un qualsiasi tipo di interazione, come una finestra di dialogo richiesta dal tuo script, la finestra del debugger verrà sospesa fino a quando non esegui quell'azione. E quindi il controllo viene restituito al debugger una volta completato. E poi una volta che hai finito con il debugger, lo chiudi semplicemente. Puoi semplicemente usare la X nell'angolo in alto a destra o il pulsante Stop qui nella barra degli strumenti. E questo ti riporterà all'istanza originale di JMP. Quindi, per iniziare, eseguirò questo ciclo, così com'è, senza inserire alcun punto di interruzione. E ci sono due pulsanti qui. Uno è Esegui e l'altro è Esegui senza punti di interruzione. E poiché al momento non ho punti di interruzione, quelli faranno la stessa cosa. Se ho punti di interruzione che voglio usarli ora, userò questo pulsante all'estrema sinistra. Quindi farò clic su quello. E mi fa sapere che l'esecuzione del programma è terminata a meno che non riavvio, cosa che farò a breve. L'unica opzione è chiudere il debugger. Ma prima di riavviare, voglio andare alla scheda Locali qui sotto nel pannello sottostante dove viene visualizzato lo script. E lo spazio dei nomi predefinito è Qui, che è quello che ho invocato in linea E puoi vedere che alla fine dell'esecuzione dello script, il valore di a è Il valore di b è E il valore di i è Quindi ora voglio usare il debugger per esaminare i valori di a, b e i ad ogni passaggio dell'iterazione. Quindi farò clic sul pulsante Riavvia. E voglio aggiungere un punto di interruzione alla riga E per farlo, faccio clic appena a destra del numero di riga. E puoi avere tutti i punti di interruzione che vuoi. In questo semplice script, abbiamo davvero solo bisogno di quello. Quindi ciò significa che valuteremo la linea e imposteremo lo spazio dei nomi Here. E quindi all'interno del ciclo for, valuteremo l'argomento di inizializzazione. Valuteremo il test. Valuteremo il corpo del ciclo for, che è solo la funzione Show. E poi ci fermeremo e vedremo i valori nella scheda Locali. Fammi tornare a quello. E poi, quando faccio di nuovo clic su Esegui, aggiorneremo, faremo il test, eseguiremo il body e metteremo in pausa e vedremo quei valori. E continueremo a farlo fino a quando il test non fallisce e non usciremo dal ciclo. Quindi voglio non avere nulla selezionato. E userò il pulsante Esegui a sinistra. Ancora una volta, non voglio eseguirlo senza punti di interruzione. Quindi eseguirò questo. E puoi vedere che ci siamo fermati in linea dopo averlo valutato. E i valori di, a, b e i sono e rispettivamente. Per eseguire il passaggio successivo dell'iterazione, faccio nuovamente clic sul pulsante Esegui. E ora vedo i valori di a, b e i sono e rispettivamente. E posso correre ancora una volta. E raggiungiamo i valori finali di a, b e i. E ricevo il messaggio che l'esecuzione del programma è terminata. E posso riavviare se voglio fare qualcos'altro. Posso fare clic sul pulsante Stop. Oppure potrei chiudere usando la X nell'angolo in alto a destra. E andrò avanti e farò clic sul pulsante Stop. In modo che restituisca il controllo alla mia sessione originale di JMP. Ora immaginiamo di aver misurato il tempo di indurimento di un composto in produzione. E ogni corsa viene campionata cinque volte durante la produzione e determiniamo questo tempo di polimerizzazione per ciascun campione. E vogliamo esaminare la distribuzione dei tempi di polimerizzazione per ciascun campione. Quindi, nel diario del corso, nella sezione farò clic su Cure Time Data. E una delle cose che consigliamo durante lo scripting è provare le cose in modo interattivo per iniziare ad assicurarti che ciò che stai cercando di fare sia fattibile. Quindi voglio gli istogrammi per Cure Time fino a E quindi farò solo un semplice esempio per iniziare. Vado al menu Analizza, seleziona Distribuzione. E metterò Cure Time nel ruolo di Y. E ancora, ricorda che il ruolo qui è Y. E farò clic su OK. E quindi guardando questo, penso, beh, questo è fantastico. Questo è esattamente ciò che voglio per tutte e cinque le mie distribuzioni del tempo di cura. Quindi questa è la piattaforma che voglio usare. E ho messo insieme un piccolo modello di uno script che avrebbe ricreato questo rapporto. Fammi tornare alla finestra Home e aprirla. Quindi questo script con l'avvio della piattaforma di distribuzione, quel ruolo Y e quindi la funzione della colonna con Cure Time come stringa di caratteri ricreerà quel rapporto. E quindi scriverò un ciclo basato su questo modello. Quindi andrò avanti e chiuderò questa finestra Cure Time e tornerò al mio Script Editor e cancellerò il contenuto, così posso semplicemente usare la stessa finestra. E ancora, inizierò il mio script con Nomi predefiniti su qui. E come prima, lascerò che JMP ripulisca lo script per me con la riformattazione automatica. Quindi il mio ciclo for inizierà con l'argomento c. E assegnerò un valore di a c. Questa è l'unica variabile che ho intenzione di inizializzare. Digito una virgola. Il test sarà c minore di uguale al numero di colonne. E solo un promemoria che una procedura consigliata, se stai lavorando con una tabella di dati di grandi dimensioni, potenzialmente, sarebbe quella di contare il numero di colonne al di fuori del ciclo, archiviare il risultato in una variabile e quindi fare in modo che quella variabile sia ciò che stai confrontando c con. In questo caso, sono cinque colonne perché stiamo iniziando con la seconda. Sono cinque colonne in totale. Quindi non mi preoccupo troppo di rifare questo conteggio ogni volta. Ma una buona pratica sarebbe quella di estrarlo. Digiterò una virgola dopo. L'argomento di aggiornamento sarà solo c e l'operatore post-incremento, i due segni più, un'altra virgola, quindi digiterò Distribution tra parentesi, y, apri nuovamente le parentesi, digito column, quindi metti semplicemente c-- il contatore-- tra quelle parentesi. E ora mi sposterò sopra solo per assicurarmi di avere tutte le mie parentesi abbinate. In realtà, se mi mancasse una parentesi di chiusura qui e provassi a riformattare, riceverei un messaggio che mancava qualcosa. Quindi la riformattazione in realtà è un modo semplice per eseguire il debug. Digito il punto e virgola. E poi andrò avanti e userò il pulsante Riformatta script. E poi andrò avanti ed eseguirò lo script. E quello che ottengo con lo script scritto così com'è è una finestra separata per ogni osservazione dei valori del tempo di cura perché sto avviando la distribuzione - se torniamo alla finestra dell'editor di script - sto avviando di nuovo la piattaforma di distribuzione in ogni fase dell'iterazione. Ma se hai familiarità con la distribuzione, tornerò al menu Analizza, seleziona Distribuzione e inserisco tutti e cinque i valori del tempo di cura in quel ruolo Y. Se hai familiarità con la distribuzione, sai che puoi ottenerli tutti nella stessa finestra. Quindi nel Journal, c'è uno script che è stato pre-scritto per scorrere per creare quel ruolo Y con tutti i nomi delle colonne e produrre lo stesso report con tutte e cinque le distribuzioni nella stessa finestra. Quindi, prima di iniziare, voglio andare avanti e chiudere tutte queste finestre di rapporto. Vado alla barra dei menu e in Finestra, seleziona Chiudi tutti i rapporti. E poi troverò il Diario. E voglio fare clic sulla sceneggiatura, Cure Time Distributions. E lo esamineremo nel Debugger. Quindi parlerò di ciò che sta accadendo in ogni passaggio in quell'ambiente Debugger piuttosto che nella finestra dell'editor di script qui. Quindi farò clic con il pulsante destro del mouse e selezionerò Debug Script. Ancora una volta, ricorda che ci sono diversi modi in cui possiamo avviare il debugger. E voglio aggiungere un punto di interruzione alla linea per guardare cosa succede ad ogni passaggio dell'iterazione come abbiamo fatto nel semplice esempio in precedenza. E voglio anche aggiungere un orologio sulla variabile c e sulla variabile yCol. Quindi andrò alla scheda Guarda. E farò clic sul segno più verde per aggiungere un orologio. Quindi questo è un modo in cui posso guardare variabili specifiche nel mio script. Ora qui, non ho molte variabili. Ma se avevi uno script grande con molte variabili e ce ne sono solo alcune che dovevi tenere d'occhio durante il debug, usare la scheda Guarda è un ottimo modo per farlo. Quindi farò clic sul segno più verde per aggiungere l'orologio. Digiterò la variabile c e farò clic su OK. E poi voglio anche aggiungere un orologio sulla variabile yCol e farò clic su OK. Ora, prima di iniziare a eseguire questo, voglio parlare un po' di ciò che sta accadendo durante lo script. E poi lo vedremo durante il processo di esecuzione del debugger. Quindi la prima riga sta creando una variabile chiamata yCol. E yCol memorizzerà il ruolo di analisi Y della piattaforma di distribuzione seguito da parentesi vuote perché il mio ciclo creerà questa espressione aggiungendo i nomi delle colonne tra parentesi dopo quel ruolo Y. E lo sto citando con Expr perché se provi a dire yCol e assegna il valore y con parentesi dopo, otterresti un errore perché JMP non lo riconosce come una variabile che è stata definita. Non lo riconosce come una funzione. Quindi voglio solo ottenere questo valore letterale memorizzato in yCol senza che JMP provi a valutarlo. Quindi è quello che farà la linea. Le righe sono il mio ciclo for, dove iniziamo con la colonna Iteriamo finché non esauriamo le colonne. E ancora, in uno script a livello di produzione, in particolare se potrebbero esserci tabelle di dati più grandi, vogliamo contare il numero di colonne al di fuori del ciclo, inserirlo in una variabile. E quindi il corpo del ciclo for sta semplicemente aggiungendo la colonna c, quindi colonna questo primo round nell'espressione memorizzata in yCol. E Inserisci in non proverà a valutare il suo primo argomento. Quindi non devo fare nulla di speciale con la variabile yCol. Semplicemente lo guarda e quindi esegue l'operazione, in questo caso, aggiungendo la colonna tra parentesi dopo la y. La funzione Mostra è solo a scopo illustrativo per farci vedere cosa sta succedendo ad ogni passaggio. Quel pezzo, se non stavo usando il debugger, sarebbe apparso nel registro. Quindi ho l'orologio sui valori, che è l'equivalente dell'uso della funzione Show. Aggiorniamo. Testiamo, e noi, supponendo che c sia ancora minore o uguale al numero di colonne, inseriamo la colonna successiva in yCol. Quindi una volta completato il ciclo, in altre parole, esauriamo le colonne, abbiamo un'ultima riga di codice, di cui parlerò dall'interno verso l'esterno. Vogliamo usare la funzione Inserisci per modificare l'espressione di distribuzione. Utilizziamo Inserisci anziché Inserisci in perché la distribuzione è un lancio di piattaforma integrato in JMP. Un utente non può effettivamente modificare la distribuzione stessa. Possiamo modificare un'espressione che usa la distribuzione. Quindi usiamo inserto. E poi avvolgiamo la distribuzione nella funzione Expr, in modo che JMP non tenti di valutare la distribuzione. Se avviassi-- Evidenzierò solo questo-- Se eseguissi solo questo pezzo di questa riga di codice, JMP direbbe, ehi, non mi hai fornito l'argomento richiesto nel ruolo Y. Quindi mi darebbe il lancio della piattaforma di distribuzione. E poi l'utente inserirebbe le sue colonne, ma in realtà non lo faremmo... vanificherebbe lo scopo del nostro script, giusto? Quindi questo è il primo argomento. Il secondo argomento: se inserissi yCol come secondo argomento, JMP proverebbe a valutarlo. E vedrebbe... Vedrai come sarà dopo che avremo fatto il giro. Ma vedrebbe solo quella Y maiuscola con parentesi e un mucchio di nomi di colonne. E non è qualcosa con cui JMP sa cosa fare. Non lo riconosce come nome di variabile o funzione. Quindi Name Expr mi consente di guardare ciò che è archiviato e yCol senza provare a valutarlo. E quell'espressione non valutata memorizzata in yCol è quella che verrà inserita tra parentesi dopo la distribuzione. Quindi, poiché, una volta eseguita questa operazione, la distribuzione con il ruolo Y in tutte le colonne è ancora tra virgolette, avvolgiamo il tutto in Eval. E possiamo procedere quando torniamo all'istanza normale di JMP e scomponiamola un po' di più. Quindi ho i miei orologi. E attualmente, le variabili sono indefinite. Quindi questo è ciò che si presenta come il valore. Corriamo al primo break point. E quindi dopo quel primo esame prima dell'aggiornamento, c sta memorizzando il valore di E ora yCol, invece di solo una Y con parentesi vuote, ha Column Cure Time E ricorda dal mio piccolo modello che puoi vedere sullo sfondo lì-- Non riesco a raggiungerlo perché il debugger è attivo, ma questo è ciò che produrrebbe quella distribuzione solo per una colonna. Quindi correrò di nuovo attraverso la prossima iterazione. Ora c è uguale a e il ruolo di analisi y sta avviando due colonne del tempo di cura. Correrò di nuovo. Ora ne abbiamo tre. E posso continuare a farlo. Puoi vedere nel registro in background che quei risultati vengono visualizzati a causa della funzione Mostra. Quindi continuerò a farlo finché non usciremo dal ciclo. E tutte e cinque le colonne del tempo di cura sono memorizzate, e questo è più facile da vedere nel registro nella normale sessione di JMP, ma ora sono tutte archiviate in yCol. Quindi l'esecuzione del programma è terminata. Vado avanti e faccio clic su Interrompi nel debugger. E così l'ultima riga ora è stata valutata. E ho le distribuzioni del tempo di cura con tutti e cinque gli istogrammi nella stessa finestra. Ora torniamo di nuovo brevemente alla finestra Script Editor per parlare di questa linea perché penso che sia importante pensare a come costruiamo le espressioni dall'interno verso l'esterno. Quindi eseguirò questo e creerò una serie di errori solo per assicurarmi che sia chiaro il motivo per cui l'abbiamo scritto nel modo in cui l'abbiamo fatto. Quindi commenterò la riga pre-scritta. Quindi, tornando a come lo stavo descrivendo quando siamo nell'istanza del debugger, digiterò la parola Inserisci. E quando sei nuovo allo scripting, potrebbe essere un piccolo tentativo ed errore di quando usare Inserisci, quando usi Inserisci in. Ma ancora una volta, in questo caso, sto cercando di: ho bisogno di avviare una piattaforma con ruoli di analisi specifici o colonne specifiche nel ruolo di analisi. Ma non posso modificare una piattaforma. Posso solo modificare le variabili create dall'utente. Questi sono chiamati valori L. Quindi proviamo questo. Digiterò Distribution per quell'avvio, aprirò le parentesi, chiuderò le parentesi, digiterò una virgola e proverò a inserire yCol. Ancora una volta, sto arrivando da una prospettiva ingenua che voglio ciò che è archiviato in yCol e le parentesi dopo la distribuzione. Quindi vediamo cosa succede quando eseguo questa riga. [ERRORE CHIME] Ricevo un errore, Nome non risolto. Y in accesso o valutazione di Y di tutte le colonne. Quindi, se lo respingo, significa solo che JMP ha cercato di valutarlo. Non poteva. Quindi abbiamo ricevuto un errore. Quindi questo non è stato completato. Quindi, ancora una volta, la funzione che utilizziamo quando dobbiamo recuperare un'espressione memorizzata o un'espressione tra virgolette senza valutarla è Nome Espr. Quindi ho intenzione di avvolgere-- oops-- aprire le parentesi. Sto per avvolgere yCol in Name Expr. E potresti testarlo. Allora cosa succede. Se ho appena eseguito yCol, hai visto l'errore che abbiamo appena ricevuto. Se eseguo Name Expr yCol, puoi vedere nel registro - oops, sto cercando di ridimensionarlo. Puoi vedere nel registro che JMP non mi dà un errore con quello. Restituisce solo l'espressione tra virgolette. Quindi ora, quando provo a eseguire la linea oh, beh, questa volta, il problema è che --- quindi JMP non ha avuto problemi con la variabile yCol questa volta. Ma ora ha visto la distribuzione senza quel valore richiesto. Quindi non voglio che JMP avvii questa piattaforma. Lo cancellerò. Voglio avvolgere la distribuzione in Expr, quindi JMP non proverà a valutarlo affatto. E ancora, puoi evidenziarlo ed eseguirlo solo per testarlo, OK, questo non causa problemi. E ora quando eseguo questo, se guardo nel registro, c'è la riga di codice che ho eseguito. Ecco il risultato, la distribuzione con un ruolo Y e tutte le colonne contenute al suo interno. Quindi l'ultimo pezzo, come hai visto in linea, è avvolgere l'intera cosa - e questo è solo un modo per farlo - ma avvolgere l'intera riga nella funzione Eval. E lo gestisco. E c'è un'altra finestra di distribuzione con tutti i rapporti di distribuzione. Quindi volevo solo commettere alcuni errori mentre lo sviluppavo solo perché penso che aiuti le persone a capire perché scriviamo queste cose nel modo in cui le facciamo. Ora, un'altra cosa che menzionerò è che generalmente raccomandiamo: quando ho eseguito la prima distribuzione del tempo di cura, se ricordi, sono andato su Analizza, distribuzione, ho semplicemente inserito il tempo di cura nel ruolo Y e ho fatto clic su OK. Consigliamo spesso di prendere lo script che JMP scriverebbe per te e di usarlo come base, in questo caso, per scrivere questo ciclo. E l'unico motivo per cui non l'ho fatto con le distribuzioni è che la sintassi in cui ho solo quel ruolo di analisi y è una sintassi precedente. Se dovessi andare al triangolo rosso accanto alle distribuzioni e selezionare Salva script nella finestra di script, la sintassi più recente specifica se si tratta di una distribuzione continua o nominale individualmente per ciascuna colonna. E quindi c'è solo un po' più di scripting in quel ciclo rispetto alla vecchia sintassi. La vecchia sintassi funziona bene. Ma probabilmente consiglierei di usare questa sintassi più recente. È solo un ciclo leggermente più complicato. Ma con la maggior parte delle piattaforme, andrà bene prendere lo script che JMP scrive per noi. Chiuderò questa finestra di script. E vedremo un altro esempio di fare qualcosa in modo interattivo. Questa volta, catturerò quel copione. Anche se il mio ciclo è pre-scritto. Supponiamo di voler guardare le carte di controllo di tutti e cinque i valori del tempo di cura. E quindi inizierò in modo interattivo andando al mio menu Analizza. In Qualità e processo, selezionerò Control Chart Builder. Voglio inserire Day nel ruolo del sottogruppo e Cure Time nel ruolo Y. E questo automaticamente, il builder Control Chart mi fornisce la misurazione individuale e il grafico dell'intervallo mobile di Cure Time. Quindi questo è il mio punto di partenza. Farò clic su Fine per nascondere il Pannello di controllo. E poi andrò al triangolo rosso accanto a Generatore di grafici di controllo e Salva script in una finestra di script. Quindi questa finestra dell'editor di script -- questa finestra dell'editor di script. ora contiene il Generatore di grafici di controllo che ricreerà quel risultato. Ora, solo per farlo corrispondere al mio script pre-scritto, eliminerò la riga che imposta la dimensione. Non devi farlo, ovviamente. Sto solo semplificando questo a scopo dimostrativo. Quindi quello che vediamo è che c'è il generatore di grafici di controllo è il lancio della piattaforma. E poi abbiamo alcune opzioni. Stiamo nascondendo il pannello di controllo utilizzando quella funzionalità booleana che non stiamo mostrando. E poi c'è questo ruolo delle variabili. E il ruolo delle variabili ha un sottogruppo. Sarà lo stesso per tutti i valori del tempo di cura. E poi ha un ruolo Y con il tempo di cura, in questo caso, il tempo di cura Quindi quello che dobbiamo fare in realtà è costruire tre cose. Abbiamo bisogno di costruire quel ruolo di analisi y con le colonne del tempo di cura, costruire la parte delle variabili aggiungendo-- una volta che abbiamo tutte le colonne del tempo di cura nel ruolo Y-- aggiungendolo qui. E poi inserisci quel pezzo di variabili nel lancio di Control Chart Builder. Quindi torniamo al diario e facciamo clic su Grafici di controllo del tempo di cura. Quindi, ancora una volta, sono tre pezzi che costruiscono il ruolo di analisi y. Ed è proprio come abbiamo fatto noi: queste righe sono esattamente come quello che abbiamo fatto, quello che abbiamo visto nella distribuzione. E sto solo usando una convenzione di denominazione diversa sulle variabili. Quindi vogliamo costruire il pezzo delle variabili. E quindi sto solo usando la funzione di inserimento. Ho delle variabili con il sottogruppo Day, che sarà lo stesso per tutti i valori del tempo di cura. Ma non voglio che JMP tenti di valutare le variabili di parole. Riceverò un errore. Quindi userò Espr. E poi, proprio come nella distribuzione in quello script, sto recuperando l'elenco delle colonne memorizzato in yExpr e aggiungendolo nel pezzo delle variabili. Quindi, in questo script, sto effettivamente costruendo il modello di base per il Generatore di grafici di controllo senza il pezzo delle variabili e memorizzandolo nella variabile ccExpr. E infine, aggiungerò la riga delle variabili. Quindi, di nuovo, se osserviamo quel codice in background, quella riga delle variabili verrà aggiunta al lancio di Control Chart Builder. E in questo caso, ho appena usato Name Expr per entrambi perché sono espressioni tra virgolette che ho già definito. Memorizzo quel risultato nella sua stessa variabile piuttosto che avvolgere questa funzione di inserimento in eval. E poi uso cc nel mio script e questo valuterà l'espressione costruita. Andiamo avanti, però, e inseriamo questo nel Debugger. Quindi farò clic con il pulsante destro del mouse e selezionerò Debug. Passerò alla scheda Guarda. E voglio eliminare le variabili dell'orologio correnti dagli altri miei script, quindi farò semplicemente clic sul pulsante per eliminare tutti gli orologi. E poi aggiungerò quattro orologi per le quattro variabili in questo script. Quindi farò clic sul più verde. E prima, digiterò yExpr e farò clic su OK. E farò di nuovo clic sul più verde e aggiungerò varExpr. E non importa se l'ho scritto in maiuscolo, ma voglio solo essere coerente con ciò che c'è nel testo qui nella sceneggiatura. Quindi farò clic su OK. Voglio aggiungere ccExpr. Fare clic su OK. E infine, voglio aggiungere cc e fare clic su OK. Metterò tre punti di interruzione perché voglio fermarmi in tre luoghi diversi qui. Quindi il primo punto di interruzione sarà online e questo mi permetterà di vedere cosa sta succedendo in ogni fase dell'iterazione. Il prossimo punto di interruzione sarà in linea Quindi ci fermeremo per poter vedere cosa è memorizzato in varExpr. E infine, metteremo in linea un punto di interruzione per vedere cosa è memorizzato in cc. E poi una volta respinto questo, sarà valutato. Userò il pulsante Step Over per eseguire il debugger. Quindi faccio clic su quello. E la linea viene valutata e arriviamo al ciclo. E se guardiamo nella scheda Guarda in basso, puoi vedere cosa è memorizzato e yExpr in questo momento. E poi, quando faccio di nuovo clic su Step Over, andiamo al primo punto di interruzione. Quando faccio clic su Step Over una terza volta, ora puoi vedere che yExpr contiene Column Cure Time. Farò di nuovo clic su Passaggio per passare a quel punto di interruzione. Fare clic ancora una volta. E ora abbiamo inserito Cure Time in quel ruolo Y. Quindi continuerò a farlo fino a quando non avremo finito con il ciclo for. E se vedessi questo, vedresti che tutte e cinque le colonne del tempo di cura sono in quel ruolo Y. Ora la linea definirà varExpr. Quindi ora sono le variabili con il sottogruppo Day e quindi il ruolo Y con tutte quelle colonne. Farò di nuovo clic su Step Over e questo ci porterà dove abbiamo definito ccExpr. E puoi vederlo anche nella scheda Guarda, che sta solo memorizzando il lancio di Control Chart Builder ma ne manca un pezzo vitale. E poi la linea è dove mettiamo tutto insieme. Quindi passerò un'altra volta. E ora, se si desidera esaminare questo, il Generatore di grafici di controllo, Mostra il pannello di controllo, eccetera, ha aggiunto i valori memorizzati in varExpr. Farò clic su Step Over ancora una volta. L'esecuzione del programma termina. Farò clic su Interrompi. E ora, tornando alla mia normale sessione di JMP, puoi vedere che ho le misurazioni individuali e i grafici della gamma mobile per il tuo tempo di cura e così via. Quindi, in questi esempi, stiamo esaminando l'uso della funzione For, utilizzando le funzioni Espr, Nome Espr utilizzando Inserisci e anche solo guardando come possiamo utilizzare il debugger in questi semplici contesti. Tornerò al Journal e farò clic su Elimina tutto Salva nessuno senza salvare le modifiche in nessuna delle mie finestre di script. E questo concluderà questa dimostrazione.