You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?You've created a script. Now how can you share what you’ve created?Hai creato uno script. Ora come puoi condividere ciò che hai creato?
Bentornato! Se sei arrivato fin qui, probabilmente hai una sorta di script funzionante. Congratulazioni! Se l'hai appena scoperto questa serie , potresti voler mettere un segnaposto in questo articolo e iniziare dall'inizio.
Ecco i link a quelli che potresti aver perso:
Quindi, hai un bel nuovo pezzo di codice. Quali sono i tuoi piani a riguardo? Se ti sei preso la briga di creare uno script, probabilmente dovresti considerare come comprimerlo affinché altri (o te stesso) possano usarlo facilmente. In quest'ultimo articolo, voglio darti alcune idee su come condividere ciò che hai creato. JMP ha diverse opzioni a seconda di come desideri condividerlo.
Condividere il tuo lavoro
Esistono quattro o cinque metodi (a seconda della persona con cui parli) per creare pacchetti di script utilizzabili da altri: file JSL, file Query Builder, componenti aggiuntivi JMP, applicazioni JMP e report JMP Live e/o JMP Public. Per il livello di scripting che stiamo facendo qui, alcuni di questi metodi sono un po' fuori ambito (in particolare le applicazioni; li salveremo per un'altra serie). Quello che vorrei fare qui è darti alcune opzioni e buone risorse per ciascun metodo e lavorare attraverso alcuni esempi per quelli che ti daranno il massimo rapporto qualità-prezzo nella fase attuale del tuo viaggio nello scripting.
File JSL
Questo è ciò a cui pensano le persone quando parlano di lavorare in JSL. Se hai seguito la serie, è qui che risiede attualmente la tua sceneggiatura. Il fatto è che i file JSL non sono il modo migliore per archiviare o condividere file. Possono essere modificati accidentalmente. Richiedono che qualcuno sappia come eseguire uno script. E, a dire il vero, per alcune persone, vedere il codice è un po' intimidatorio.
I file JSL dovrebbero probabilmente essere utilizzati solo per le attività più banali o per metodi di prototipazione per un progetto più ampio. Ci sono delle eccezioni, ovviamente. Se stai creando una libreria di funzioni o qualcosa del genere, esisterà come file JSL. Esistono anche parti di JMP che consentono di fornire direttamente JSL (ad esempio, il file delle parole chiave di piegatura del codice ), ma queste tendono ad essere l'eccezione piuttosto che la regola. Il mio pregiudizio personale è quello di fermarmi a un file JSL solo come ultima risorsa, se sto collaborando con un altro programmatore su qualcosa o se il codice è interamente per mio uso personale (ad esempio, uno snippet per testare qualcosa).
File del generatore di query
JMP dispone del supporto del generatore di query per la maggior parte dei tipi di file tramite driver ODBC o tabelle di dati JMP. Se il tuo script prevede una fase di manipolazione dei dati, è probabile che potresti probabilmente scaricare un sacco di lavoro pesante sul file Query Builder e utilizzare lo script post-query (ne parleremo più avanti tra un secondo) per eseguire le operazioni che Query Builder può eseguire non gestire. L'utilizzo di questi file come metodo di creazione di pacchetti semplifica il flusso di lavoro e rende lo script più robusto. Inoltre rendono lo script portatile. Inoltre, hai la possibilità di utilizzare i prompt di filtro integrati per rendere il tuo codice ancora più flessibile.
Diamo un'occhiata a un semplice esempio. Utilizzerò il Query Builder della tabella dati JMP di seguito Tabelle > Generatore di query piuttosto che quello per le connessioni ODBC o SAS solo per semplificare le cose, ma il flusso di lavoro sarebbe simile per questi casi e ci sono risorse per mostrare come funzionano .
Innanzitutto, impostiamo una query di tabella. Non lo scriverò. Il team della documentazione di JMP ha fatto un ottimo lavoro con un esempio per i dati di esempio SATbyYear. Basta seguire le istruzioni in questo esempio e fermati dopo aver eseguito la query, ma mantieni aperto il Generatore di query. Una volta ottenuta la tabella dati, crea una mappa del Generatore di grafici:
- Apri il Costruttore di grafici ( Grafico > Costruttore di grafici ).
- Trascina Stato nella zona di rilascio Forma mappa sotto l'asse Y.
- Trascina % Taking (2004) nella zona di rilascio Colore.
- Vai al triangolo rosso accanto a Costruttore di grafici e seleziona Ripeti > Commutatore di colonna .
- Selezionare % di assunzione (2004) come ciò che desideri cambiare e fai clic OK .
- Seleziona tutte le variabili continue come ciò che desideri alternare e fai clic OK .
Selezionare Fatto per chiudere il pannello di controllo.
Ora, è necessario fare molti clic per ottenere un grafico e una visualizzazione molto comune per questo tipo di dati. Utilizzando le nostre nuove capacità di scripting, possiamo fare in modo che Query Builder riproduca questo grafico (e eventuali altri che potremmo scegliere di aggiungere in seguito). Ecco come farlo:
- Selezionare Salva script > Negli appunti d dal Costruttore di grafici.
- Nel generatore di query seleziona il file Script post-interrogazione scheda nella metà inferiore della finestra.
- Impasto ( CTRL+P per PC o CMD+P per MacOS) lo script nella scheda Script post-query.

- Salvare il file del generatore di query facendo clic su Salva .
- Ora chiudi la tabella dati creata dal Costruttore di query e dal Costruttore di grafici.
- Clic Esegui interrogazione .
Vedi come funziona? Utilizzando Query Builder, hai ottenuto gratuitamente un po' di interattività sotto forma di finestra di dialogo di filtraggio e sei stato in grado di aumentare significativamente l'efficienza di questo flusso di lavoro. Se qualcuno avesse i due file di dati, potresti inviargli il file Query Builder e produrrebbe lo stesso risultato.
Componenti aggiuntivi JMP
Se vuoi che il tuo codice venga visualizzato in JMP, un componente aggiuntivo è la strada da percorrere. I componenti aggiuntivi vengono visualizzati nel menu dei componenti aggiuntivi in JMP, che verrà visualizzato solo dopo aver installato il primo componente aggiuntivo. Sono memorizzati nel file system JMP, quindi l'utente non deve ricordare dove si trova un file di script. E forniscono un certo elemento di rifinitura a un progetto completato. Certo, all'inizio possono essere un po' intimidatori, ma è davvero facile lavorarci utilizzando la procedura guidata dei componenti aggiuntivi.
Creerò un componente aggiuntivo davvero semplice che utilizza questo codice:
// Set up the namespace
Names Default to here(1);
// open the log window and clear it
Open Log();
Clear Log();
// write my message
Write(“Hello World!”);
Il codice aprirà il registro e stamperà un messaggio. Chiameremo questo componente aggiuntivo "Il mio primo componente aggiuntivo". Il primo passaggio consiste nell'aprire un generatore di componenti aggiuntivi ( File > Nuovo > Nuovo componente aggiuntivo ). Dopodiché è solo questione di compilare il modulo. Sono presenti cinque schede nella parte superiore dell'interfaccia. Avremo bisogno solo dei primi due per il nostro componente aggiuntivo. La prima scheda (Informazioni generali) riguarda più la contabilità e il modo in cui JMP sa dove si trovano le cose. La seconda scheda imposta effettivamente i bit presenti nella GUI di JMP.
In Informazioni generali, i campi Nome componente aggiuntivo e Versione sono piuttosto autoesplicativi. Puoi limitare l'esecuzione del codice da parte delle versioni legacy di JMP con la versione minima di JMP. Puoi anche limitare l'esecuzione del componente aggiuntivo su MacOS o Windows utilizzando l'Host. Ti consiglio di impostare la versione minima e l'host in modo che corrispondano alla configurazione del sistema su cui è stato scritto il codice (a meno che tu non abbia la possibilità di testare su altre configurazioni). È più semplice che cercare di garantire che il tuo codice sia a prova di proiettile per tutte le situazioni, in particolare quando hai appena iniziato. L'ID del componente aggiuntivo è un nome di cartella univoco creato nel file system JMP quando viene installato il componente aggiuntivo. JMP consiglia di utilizzare la convenzione di denominazione "DNS inverso" (non ho idea del perché). Fondamentalmente significa creare qualcosa che assomigli a un indirizzo web e invertirlo. Per il componente aggiuntivo utilizzeremo com.myAddin.MyFirstAddin. Ecco come dovrebbe apparire la prima scheda:
Sotto il Voci del menu scheda, è sufficiente fare clic su Aggiungi comando pulsante. Quindi, in Dettagli, assegna un nome alla voce di menu. Se vuoi essere fantasioso, puoi dargli un suggerimento per spiegare cosa fa il tuo componente aggiuntivo quando ci passi sopra con il mouse. Quindi copia e incolla il tuo JSL nell'area Azione. Se stai utilizzando lo snippet di codice riportato sopra, your Voci del menu la scheda dovrebbe assomigliare a questa:

E questo è tutto. Basta salvare il file e il gioco è fatto! Poiché l'azione predefinita (sul file Informazioni generali tab) consiste nell'installare il componente aggiuntivo quando lo salvi, facendo clic su Salva creerà un file da inviare ad altri e lo installerà sulla tua istanza di JMP. Una volta salvato il componente aggiuntivo, dovresti vedere una voce come questa nel menu del componente aggiuntivo:
Applicazioni JMP
Quindi, vuoi creare qualcosa che sembri una parte nativa di JMP? Application Builder è, a mio avviso, il metodo più flessibile ed efficiente per generare soluzioni JSL personalizzate di alta qualità. Offre la possibilità di controllare ogni aspetto del software, sfruttare le parti esistenti di JMP e utilizzare routine progettate su misura. Quella flessibilità e quella potenza hanno un costo sotto forma di curva di apprendimento.
Detto questo, non dovresti lasciarti intimidire. Sono disponibili tantissime risorse per iniziare con Application Builder e le cose che puoi fare con esso sono incredibili. Ci vorrà solo un po' di lavoro per essere operativo. Esiste anche una versione "lite" di Application Builder integrata in JMP. Lo riconoscerai come lo strumento di trascinamento della selezione chiamato Dashboard Builder. Una volta che hai un po' di esperienza con JSL, prendi il corso Application Builder di SAS Education non sarebbe un brutto modo per conoscere questo potentissimo strumento. Sto anche pensando di realizzare un'altra serie di "Cinque cose" su questo argomento prima o poi, quindi tieni gli occhi aperti!
JMP Live e JMP Public
Sebbene JMP Live e JMP Public siano più impegnativi dal punto di vista del "consumo", puoi creare e pubblicare dashboard e report affinché altri possano utilizzarli utilizzando questo metodo. Per la maggior parte, stai utilizzando solo le parti di JSL che ti ho mostrato in questa serie. Dan Valente ha fatto a ottimo post sul blog sullo scripting di JMP Live (e JMP Public), quindi non mi soffermerò su questo punto.
Compiti a casa
Bene, ce l'hai fatta! L'ultimo compito a casa è davvero facile. Prepara il tuo codice, consegnalo a un collega e chiedigli di provarlo e vedere se funziona. In caso contrario, guarda i messaggi di errore e scopri il motivo. Se è così, hai creato il tuo primo componente aggiuntivo JMP! Bel lavoro.
Dove andare da qui
Come ho detto prima, questa serie non aveva lo scopo di farti saltare i capelli all'indietro e abbagliarti con la mia abilità nella sceneggiatura. Aveva lo scopo di puntare il naso nella giusta direzione, darti una buona mappa, una pacca sulla spalla e qualche aiuto a cui rivolgerti nel caso rimani bloccato. È un punto di partenza; c'è ancora molta più strada davanti a te che dietro di te.
Quindi, da qui, il trucco è continuare a provare e sperimentare. Continua a smontare i componenti aggiuntivi e le applicazioni degli utenti per vedere come funzionano. Continua a provare cose nuove e a cercare opportunità per rendere il tuo flusso di lavoro più efficiente con piccoli script. Più lo fai, meglio diventerai e più accessibili sembreranno i progetti più grandi a cui stai pensando. Continua a farlo.