In questa dimostrazione, utilizzeremo uno script pre-scritto per vedere come creare un rapporto personalizzato. Quindi nel diario del corso, nella sezione c'è uno script chiamato NOx data per i dati sugli ossidi di azoto. E abbiamo sei diverse preparazioni. E poi abbiamo registrato il registro della concentrazione dell'ossido di azoto per ciascuno dei replicati delle sei diverse preparazioni. Quindi la sceneggiatura è già scritta. E nel diario del corso, si chiama Custom NOx Report Script. E ho intenzione di eseguire questo pezzo per pezzo. Ma in realtà voglio eseguire l'intera cosa in modo da poter vedere il risultato finale prima di passare attraverso e guardare cosa fa ogni parte della sceneggiatura. Quindi gestirò l'intera cosa. Questo script crea una tabella di riepilogo utilizzata nel Generatore di grafici. Lo esamineremo in modo da non utilizzare solo i dati grezzi. Ma il rapporto personalizzato è un rapporto a schede. Nella prima scheda, chiamata %CV, abbiamo la piattaforma Live Graph Builder. Quindi questo triangolo rosso è il tipico menu del triangolo rosso che vedrei nel Generatore di grafici. E poi, abbiamo i coefficienti di variazione calcolati o %CV per ogni livello. E qui abbiamo un menu a triangolo rosso personalizzato creato dal nostro script che mi consente di specificare il numero di cifre decimali che voglio per le colonne dei numeri all'interno del mio rapporto. E nella seconda scheda, chiamata Informazioni di base, ho i dati grezzi per ogni livello, la media e la deviazione standard che vengono utilizzate per calcolare il coefficiente di variazione e il valore calcolato. E se facessi una selezione in quel menu a triangolo rosso, cosa che in realtà farò. In %CV, la scheda anteriore, andrò al triangolo rosso e selezionerò due decimali. Lo script esamina tutte le caselle delle colonne dei numeri in questo rapporto. Andiamo quindi a vedere come è stato costruito. Quindi la prima cosa che fa lo script è inviare il messaggio unidirezionale alla tabella dei dati originale con il log dell'ossido di azoto: log della concentrazione dell'ossido di azoto nel ruolo Y e della preparazione nel ruolo X. E ciò di cui ho bisogno per calcolare il coefficiente di variazione è la tabella del rapporto delle medie e della deviazione standard. Quindi chiedo che venga attivato. Dirò che ci sono molti modi in cui potrei ottenere il coefficiente di variazione da JMP senza calcolarlo a mano. Ma stiamo, ancora, illustrando alcune delle idee per ottenere valori come matrice e utilizzare quei calcoli di matrice. Quindi eseguirò le righe ed ecco l'output unidirezionale con la tabella che ho richiesto. Ora, in linea vediamo quell'altra sintassi per ottenere il livello del rapporto. E un vantaggio dell'utilizzo di questa sintassi è che se non ho bisogno di tutto ciò che c'è in quel rapporto, posso semplicemente richiedere, in questo caso, l'elemento di struttura per la tabella che voglio: le medie e le deviazioni standard. In modo da poter semplificare un po' il mio codice quando accedo alle caselle di visualizzazione. E lo memorizzerò nella variabile ob. Qui, la nostra convenzione utilizza semplicemente l'abbreviazione di outline box. E hai visto quando sono passato con il mouse, sta già memorizzando un valore, perché ho già eseguito l'intero script. Ma ho intenzione di riassegnarlo. Ora le righe e stanno recuperando la colonna dei livelli, quindi le colonne delle medie e delle deviazioni standard. Per i livelli, non ho affatto bisogno di manipolare i valori in questa colonna. Lo voglio solo nel mio rapporto personalizzato per la tabella Stime e nelle informazioni di base: la tabella Tutti i risultati. Quindi una cosa carina che posso fare con un display box di cui ho solo bisogno di una copia è inviare il messaggio "clone box". E questo memorizzerà solo un clone di questa finestra di visualizzazione in Livelli, anche dopo aver chiuso la finestra unidirezionale. Quindi sottoscriviamo la variabile ob con String Col Box. Ora, di nuovo, potremmo usare le intestazioni di colonna e non sarebbe male farlo, certamente. Ma poiché abbiamo solo questa finestra di visualizzazione memorizzata in-- o il riferimento ad essa memorizzato in ob, è abbastanza facile usare la semplice sintassi con i valori dell'indice. Quindi eseguirò la riga E così Levels ora memorizza una casella di visualizzazione, e in particolare una casella di colonna di stringhe che puoi vedere qui nel registro. Riga Ho bisogno di usare le medie e le deviazioni standard nel calcolo. Quindi non posso semplicemente averne una copia. Ho bisogno di ottenere i valori come matrice e memorizzarli nella variabile mMeans, o matrice di mezzi. E puoi vedere nel registro o se passi il mouse su mMeans quali sono questi valori. E la stessa cosa in linea per le deviazioni standard. Quindi lo eseguo, e ancora, puoi-- Lo rimpicciolirò un po'-- puoi vedere nel registro quei valori. Line crea una variabile chiamata mCVs, e questo è solo il calcolo per quel coefficiente di variazione di nuovo. Questa è una misura relativa della variabilità in cui dividiamo le deviazioni standard per i mezzi e poi lo moltiplichiamo per Quindi eseguirò la linea Quindi ora ho i coefficienti di variazione. E a questo punto, non ho bisogno di nient'altro dalla piattaforma. Quindi invierò il messaggio a ow-- questo viene inviato al riferimento all'oggetto del livello di analisi-- per chiudere quella finestra. E consiglio sempre, quando il tuo script può chiudere le finestre, che si tratti di analisi o tabelle di dati che non sono più necessarie, vai avanti e fai in modo che il tuo script chiuda quelle finestre. Perché se non abbiamo bisogno che siano più aperti, non abbiamo bisogno che occupino memoria. Ora, per il passaggio successivo, volevo utilizzare il Generatore di grafici nel mio report personalizzato. E il Generatore di grafici attualmente non calcola il coefficiente di variazione come una delle sue statistiche di riepilogo. Quindi la soluzione era creare questa tabella di riepilogo con il coefficiente di variazione, che è integrato nel comando Tabelle di riepilogo, e quindi utilizzarla come base per il Generatore di grafici. Quindi, prima di ottenere la tabella Riepilogo, voglio chiudere quella visualizzata quando ho eseguito l'intero script. E quando lo chiudo, ricevo l'avviso che c'è un'altra finestra aperta, quindi dirò, vai avanti e chiudi tutto. E ciò ha immediatamente rimosso il Generatore di grafici dal mio rapporto personalizzato. Quindi, a questo punto, non c'è davvero alcun motivo per mantenere aperto questo report personalizzato di esempio. Lo ricreeremo mentre continuiamo con la sceneggiatura. Quindi chiuderò anche quello. Quindi la riga invia "Riepilogo" come messaggio alla tabella di dati originale, dove raggruppiamo per preparazione. E la statistica sarà quel coefficiente di variazione. Quindi eseguirò la linea E ora ho tutto ciò di cui ho bisogno per costruire il mio report personalizzato. Quindi usiamo Nuova finestra. E memorizzerò la finestra di visualizzazione creata da questo nella variabile nw in modo da poter comunicare con essa. Assegno il titolo alla mia nuova finestra Report personalizzato, quindi voglio creare uno script per quelle schede. Quindi specifichiamo Tab Box. E quindi il numero di schede è determinato solo dal numero di argomenti della casella di pagina delle schede che fornisci a quello. Quindi avremo in questo caso. Il primo argomento di Tab Page Box è il titolo. E quindi il primo si chiama %CV. E poi, Casella di riepilogo H mi fornisce una casella di riepilogo orizzontale che conterrà il Generatore di grafici. E quindi lo sto effettivamente lanciando dal vivo. È così che ottengo questa piattaforma live in questa finestra facendo in modo che il lancio avvenga solo nella casella di visualizzazione. Questa è la sintassi che potrei aver afferrato dalla creazione interattiva del Generatore di grafici e dall'invio alla tabella Riepiloga. E poi, l'altra cosa che sto allineando nella casella di riepilogo H è la casella di contorno, chiamata Stime, che avrà la casella della tabella contenente la casella della colonna della stringa memorizzata in Livelli. E il mio script crea una casella di colonna numerica con i valori %CV. La seconda casella della scheda è le informazioni di base, utilizzando una casella di struttura per etichettarla come Tutti i risultati. E all'interno della casella di struttura, una casella tabella allinea orizzontalmente quattro caselle di colonne di numeri. Quindi lo renderò più alto solo così posso assicurarmi di afferrare le linee che voglio, che sono passate e gestirò quella parte. Quindi questo non è completo. Questo è il punto di partenza per il mio report personalizzato. E penso di poter restringere un po' la finestra dello script ora in modo da poter vedere entrambi fianco a fianco. Quindi Graph Builder non ha, per impostazione predefinita, una riga, quindi questa è una delle cose che voglio aggiungere. Voglio ridimensionarlo, perché non ho bisogno che il grafico sia così grande. E voglio aggiungere quel menu del triangolo rosso all'elemento della struttura delle stime. Si noti che nello script, quando ho creato la casella di contorno dei preventivi nella prima scheda del report personalizzato, ho memorizzato quel risultato in ob. E quello era un nome di variabile che avevo usato in precedenza quando stavo ottenendo i mezzi e le deviazioni standard dalla piattaforma unidirezionale. Quindi anche qui, ho semplicemente usato l'abbreviazione e ho sovrascritto quel valore perché non avevo bisogno del valore precedente. Quindi, se ora scorro verso il basso per vedere il resto dello script, sto inviando un messaggio "Imposta script menu" alla casella di visualizzazione memorizzata in ob, che è quella casella di contorno delle stime. E Set Menu Script prende come argomento un elenco di voci di menu alternate all'espressione che viene eseguita quando quella voce di menu viene selezionata. Quindi l'espressione scorre semplicemente le caselle della colonna dei numeri nel report e imposta il formato. Abbiamo una larghezza del campo del numero massimo di caratteri che possono essere visualizzati e quindi il numero di cifre decimali. Quindi, a seconda di quale di queste opzioni di menu del triangolo rosso selezioniamo, ciò determina quale di queste espressioni verrà eseguita. Quindi esaminerò le righe E nel rapporto personalizzato, ora vedi che abbiamo il menu del triangolo rosso. La linea cambierà la dimensione del riquadro della cornice dal Generatore di grafici. E questo è qualcosa che, se andassi a-- Farò clic con il pulsante destro del mouse sul pulsante Divulgazione e, in Modifica, selezionerò Mostra struttura ad albero-- potrei scorrere verso il basso. Quando guardi un intero report, ci sono molti costruttori qui che non usiamo quando scriviamo i nostri script. Ma scorro verso il basso. OK, c'è PictureBox, scorri ancora un po' in basso, c'è quel titolo, scorri ancora un po' in basso. Puoi passare il mouse per vedere le caselle degli assi. E infine, vedo FrameBox, e quindi posso vedere che questa è la cosa che voglio ridimensionare. Man mano che acquisisci familiarità con le piattaforme, potresti non aver bisogno di guardare la struttura ad albero. Quindi la riga scrivo la nuova finestra con e invio il messaggio "Frame Size", che è in pixel, e andrò avanti ed eseguirò la riga In modo che abbia ridimensionato la casella del frame di Graph Builder. Ora di nuovo, puoi utilizzare l'indice di scripting per vedere quali tipi di messaggi possono ricevere diverse finestre di visualizzazione. Quindi, se vado al menu Guida e seleziono Scripting Index, potrei passare da Tutte le categorie a Visualizza caselle e scorrere verso il basso per trovare FrameBox e vedere i messaggi che possono essere inviati a quello. Chiuderò l'indice di scripting. L'altra cosa che volevamo fare è, su AxisBox, vogliamo aggiungere una linea di riferimento. E ancora, userei-- se non avessi familiarità con il-- se non avessi familiarità con la struttura ad albero di visualizzazione per Graph Builder, guarderei quella finestra della struttura ad albero. in alcune piattaforme è l'asse verticale. In alcune piattaforme, è l'orizzontale. In questo caso, è l'asse orizzontale. Mando il messaggio per aggiungere la linea di riferimento. E gli argomenti qui sono a quale valore vuoi che sia la linea di riferimento? Lo voglio a Che stile di linea? Voglio solido. Il colore? diventerò nero. Il quarto argomento è un'etichetta sull'asse. E quindi semplicemente avendo una stringa di caratteri vuota, stiamo dicendo che non vogliamo un'etichetta. In effetti, potrei eliminarlo fintanto che ho questa virgola per dire a JMP che questo è il quinto argomento e non il quarto argomento. Se non avessi questa virgola, JMP etichetterebbe l'asse con un Ma poiché ho inserito la virgola lì, JMP capisce che questa è la larghezza della linea, non l'etichetta. Quindi seguirò la linea e questo disegnerò la mia linea di riferimento. E poi, l'ultimo pezzo di questo script è inviare "Save Journal" alla casella di visualizzazione memorizzata in nw e chiamarlo Custom CV Report.jrn. Ora, il tuo script potrebbe terminare qui producendo questo rapporto con la finestra del Generatore di grafici live e il menu del triangolo rosso con cui l'utente può interagire. E infatti, andrò avanti e selezionerò una cifra decimale questa volta. In alcuni casi, potresti anche voler salvare quel rapporto come giornale di registrazione. E perderai quel menu del triangolo rosso quando lo fai. E il tuo Generatore di grafici non sarà più un rapporto in tempo reale. Ma l'ultima opzione qui mostra come salvare un report personalizzato come diario con il messaggio "Salva diario". Quindi, in questo script, abbiamo lanciato il livello di analisi. Abbiamo recuperato l'oggetto del livello del report e quindi abbiamo ottenuto gli elementi di quel livello del report di cui avevamo bisogno come copie o come matrici per le manipolazioni. Abbiamo creato una tabella di dati separata per la piattaforma che volevamo utilizzare, quindi abbiamo creato il report personalizzato utilizzando Nuova finestra, in questo caso con schede e caselle di riepilogo orizzontali e caselle di contorno come caselle di visualizzazione, oltre alla colonna della stringa casella memorizzata in Livelli e le varie caselle di colonna numerica. E poi, abbiamo visto come inviare messaggi ai componenti di quel rapporto personalizzato.