Aggiungere l'esportazione in PowerPoint a Workflow Builder
ILRubrica di domande e risposte sull'ingegneria
Episodio 8: L'ultimo miglio
Di tanto in tanto, come ingegneri di sistemi, ci imbattiamo in domande interessanti che ricadrebbero in qualche modo al di fuori della gamma tipica diJMPutilizzo. Altre volte la domanda è semplicemente interessante e mi offre l'opportunità di esplorare le ragioni più profonde per cui facciamo le cose in un certo modo in JMP.
Questa domanda è stata posta più volte di quanto io possa contare. Non ho un indirizzo email da cui partire per questa, ma supponiamo che ne siano arrivate alcune. Ci sono state anche domande a riguardo suForum della comunità JMP.E non posso tenere un seminario su questo argomento senza che venga fuori.
Bene, bando alle ciance. Qual è la domanda epocale che affronteremo oggi? Come dice il titolo, integreremo l'esportazione in PowerPoint in Workflow Builder.
La domanda
PerDi solito, questa domanda mi viene posta dopo aver mostrato tutte le fantastiche funzionalità di Workflow Builder. Ho mostrato come può catturare l'esecuzione di Query Builder, come si possono ridurre processi di pulizia dei dati lunghi e complessi a un semplice clic e come si può generare automaticamente un report importante da presentare a chi deve prendere decisioni. E poi, invariabilmente, sento chiedere: "Come posso esportarlo in un file PowerPoint?" (o qualcosa di simile).
La risposta
AA dire il vero, non sono mai stato del tutto soddisfatto della mia risposta a questa domanda. Questo è uno dei motivi che mi ha spinto a includere questo piccolo allegato al blog. Se, caro lettore, non ti interessano i dettagli su come funziona la mia nuova risposta e vuoi semplicemente metterla in pratica, puoi saltare direttamente alla sezione in cui ti mostro come utilizzare il file scaricabile incluso nel blog.
La risposta che avevo fornito in precedenza a questa domanda era: "Nell'indice degli script è presente un esempio per la funzione Save Presentation() che può essere aggiunto come passaggio personalizzato."

Ma quella risposta mi ha proprio infastidito. Vi risparmierò la predica sul perché, ma basti dire che non mi è sembrata molto... beh... da JMP. Comunque, l'altro giorno ho deciso di dirlo per l'ultima volta! ¡NO MAS!
Ecco cosa ho fatto.
Creazione dell'esportazione in PowerPoint
InJMP 18, Workflow Builder ha aggiunto il supporto per istruzioni if/else e messaggi, tra le altre cose. Queste due funzionalità, insieme ad alcuni JSL poco conosciuti, sono il modo in cui sono riuscito a farlo funzionare. (Riquadro: IlIndice di scripting JMP è vostro amico, gente!)
Nella mia mente, volevo che questo passaggio includesse l'esportazione di un nuovo file di presentazione o l'utilizzo dell'opzione Aggiungi della funzione Salva presentazione() per aggiungere una diapositiva a una presentazione esistente. Ciò implicava due cose: in primo luogo, avrei avuto bisogno di una finestra di dialogo per passare da una versione all'altra del passaggio Salva presentazione() e, in secondo luogo, avrei avuto bisogno di un modo per passare da una all'altra.
La logica per ogni passaggio è semplice. Aggiungi i passaggi if ed else dal menu avanzato quando fai clic sul triangolo rosso in un Workflow Builder e inserisci i messaggi in ogni passaggio nello slot "All'avvio" della sequenza temporale delle azioni del passaggio. Successivamente, modifica lo script della condizione in modo che corrisponda alle variabili impostate nei messaggi. Ho inserito un breve video qui sotto che mostra i passaggi per ogni passaggio.
Dopo aver impostato le istruzioni if ed else, possiamo tornare al sottomenu avanzato con il triangolo rosso, aggiungere passaggi personalizzati e spostarli all'interno delle istruzioni if ed else. Ho modificato il nome nello screenshot per chiarire la funzione di ciascuno.

Ecco gli screenshot del processo personalizzato necessario nella fase di aggiunta:

Ecco i passaggi per una nuova presentazione:


Il segreto per far funzionare questa soluzione in generale risiede nel JSL per i passaggi personalizzati, in particolare nella funzione Current Report(). Grazie alla mia formazione iniziale in JSL (un ringraziamento speciale a Di Michelson del team JMP Education!), so che JMP eseguirà automaticamente le azioni sulla finestra o sull'oggetto corrente a meno che non specifichi diversamente. So anche che l'ultimo oggetto creato sarà sempre quello corrente, a meno che il mio codice non modifichi questa impostazione. Quindi, se inserisco il passaggio che sto creando (ovvero il gruppo if/else) dopo la creazione di un report, Current Report sarà il report appena creato. La funzione Current Report() restituirà un riferimento a quel report. Posso quindi passare tale riferimento a Save Presentation semplicemente utilizzando la variabile che contiene il riferimento al report.
Le funzioni Pick File() e Pick Directory() generano automaticamente finestre di dialogo e restituiscono i percorsi. Utilizzando queste due idee insieme nell'argomento Save Presentation(), posso sapere su quale report intervenire in base alla posizione del passaggio nel flusso di lavoro. Posso anche chiedere all'utente quale presentazione desidera che io aggiorni o dove desidera che io ne crei una.
Utilizzo dell'esportazione in PowerPoint
PerPer chi ha saltato la sezione di programmazione, bentornati! Diamo un'occhiata al contenuto del file zip scaricabile dalla sezione download di questo articolo. Al suo interno troverete tre file:

Il file PowerPointExport è un passaggio autonomo di Workflow Builder che può sia aggiungere file di presentazione esistenti e crearne di nuovi. Gli altri due passaggi, invece, funzionano insieme e sono pensati per un caso specifico che illustrerò tra poco. Per iniziare, esaminiamo un caso semplice. Ho creato un breve video per mostrare i passaggi:
Ora, per quanto riguarda gli altri due file. Ci sono casi in cui un flusso di lavoro può produrre più report. Invece di dover eseguire le istruzioni per ogni report, gli altri due file lavorano in tandem. Il passaggio PowerPointCreate contiene le istruzioni per la creazione del file di presentazione; inoltre, fornisce il percorso di tale file a ogni istanza del passaggio PowerPointAppend nello stesso flusso di lavoro. Questo consente di automatizzare la creazione di una presentazione completa con un intervento minimo da parte dell'utente. Ecco un video che mostra come configurare un flusso di lavoro per questa situazione e quale sarà il risultato:
COSÌEcco fatto! Supporto PowerPoint per Workflow Builder senza bisogno di programmazione. Bastano pochi clic per rimanere concentrati sui dati e sulle informazioni, proprio come si addice a JMP. 