Questo post del blog descrive in dettaglio una procedura per creare figure in JMP che possono essere utilizzate in PowerPoint in modo tale che, ogni volta che si apre il file PowerPoint, venga inserita nella diapositiva la versione corrente della figura creata in JMP. Potrebbe sembrare una funzionalità nuova e interessante, ma l'opzione di inserire e collegare un'immagine è stata introdotta per la prima volta nel 1990 con il rilascio di Object Linking and Embedding (OLE) nelle applicazioni Windows. Quindi, per chi non lo sapesse, vediamo come utilizzare JMP per sfruttare OLE.
L'idea generale è piuttosto semplice (e automatizzabile tramite script). Il primo passo consiste nel creare una figura in JMP e salvarla con un nome file creativo, ad esempio "Figura1.png". Il passaggio successivo avviene in PowerPoint, dove si utilizza la scheda Inserisci per inserire un'immagine da un file. Nella parte inferiore della finestra di dialogo di selezione file che si apre in PowerPoint, è presente un pulsante per visualizzare le opzioni. Selezionando entrambe le opzioni, si accede sia all'immagine inserita che al collegamento, e si salva il file insieme al documento.
Per testare il concetto, cambia il colore di alcune righe e salva la figura JMP con lo stesso nome file, quindi riapri il file PowerPoint. Dovresti notare che anche il file inserito è cambiato.
Un piccolo consiglio per semplificare le cose. Create una nuova cartella. Salvateci lo script per la creazione delle figure e anche il file PowerPoint. In questo modo non dovrete preoccuparvi dei percorsi dei file, perché tutto presuppone che il file si trovi in locale.
PowerPoint permette di inserire e collegare molti file contemporaneamente. Il primo file viene inserito correttamente, ma tutti gli altri vengono ridimensionati in modo inadeguato, scomodo e imprevisto. Questo è un problema di Microsoft, non di JMP.
Se inserisci più immagini nella stessa diapositiva e le ridimensioni o formatti, la formattazione viene mantenuta in PowerPoint, quindi formatta una sola volta e il gioco è fatto.
Lo script di base per far funzionare questa operazione si basa sulle funzioni "Ottieni immagine" e "Salva immagine". Consulta l'indice degli script per maggiori dettagli sul loro funzionamento, oltre a questa semplice applicazione. Un report JMP contiene figure e tabelle. La parte più complessa è capire come accedere a una parte specifica del report. Ogni report presenta dei piccoli triangoli grigi per mostrare o nascondere gli elementi. Facendo clic con il pulsante destro del mouse su un triangolo grigio, si apre un menu che include "Mostra proprietà". Cliccando su questa opzione, si apre un pannello sul lato destro. Nella parte superiore di questa barra laterale, è presente una barra di contorno chiusa chiamata "Tracciato riquadro": aprila e poi clicca sull'icona con le due pagine per copiare il percorso negli appunti. Questo percorso fa riferimento all'elemento evidenziato nel report ed è l'oggetto del report da cui è necessario "ottenere l'immagine". Nello script seguente è possibile vedere come implementare questa funzionalità.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Design Experiment/Reactor 20 Custom.jmp" );
//dt=Open( "$SAMPLE_DATA/Design Experiment/Reactor 32 Runs.jmp" )
obj = dt << Fit Model(
Y( :Percent Reacted ),
Effects(
:Feed Rate, :Catalyst, :Stir Rate, :Temperature, :Concentration, :Feed Rate * :Catalyst, :Feed Rate * :Stir Rate,
:Feed Rate * :Temperature, :Feed Rate * :Concentration, :Catalyst * :Stir Rate, :Catalyst * :Temperature,
:Catalyst * :Concentration, :Stir Rate * :Temperature, :Stir Rate * :Concentration, :Temperature * :Concentration
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
:Percent Reacted << {Summary of Fit( 1 ), Analysis of Variance( 1 ), Parameter Estimates( 1 ), Effect Details( 0 ),
Lack of Fit( 0 ), Sorted Estimates( 0 ), Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 1 ), Plot Effect Leverage( 0 ),
Plot Residual by Normal Quantiles( 0 ), Box Cox Y Transformation( 0 ), Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
Term Value(
:Feed Rate( 12.5, Lock( 0 ), Show( 1 ) ), :Catalyst( 1.5, Lock( 0 ), Show( 1 ) ),
:Stir Rate( 110, Lock( 0 ), Show( 1 ) ), :Temperature( 160, Lock( 0 ), Show( 1 ) ),
:Concentration( 4.5, Lock( 0 ), Show( 1 ) )
)
)}
)
);
objr = obj << report;
fig 1 = Report( obj )["Response Percent Reacted", "Actual by Predicted Plot", List Box( 1 )] << get picture;
fig 2 = Report( obj )["Response Percent Reacted", "Studentized Residuals", List Box( 1 )] << get picture;
fig 3 = Report( obj )["Response Percent Reacted", "Summary of Fit"] << get picture;
fig 4 = Report( obj )["Response Percent Reacted", "Analysis of Variance"] << get picture;
fig 5 = Report( obj )["Response Percent Reacted", "Prediction Profiler"] << get picture;
win = New Window( "report figures", H List Box( fig1, V List Box( fig3, fig4 ) ), fig2, fig5 );
fig 1 << Save Picture( "fig1.png", "png" );
fig 2 << Save Picture( "fig2.png", "png" );
fig 3 << Save Picture( "fig3.png", "png" );
fig 4 << Save Picture( "fig4.png", "png" );
fig 5 << Save Picture( "fig5.png", "png" );
Questo script utilizza i dati di esempio (Sample Data) per semplificare le cose.
Mettiamo alla prova il concetto:
Non scherzavo quando dicevo di tenere tutti i file in un'unica cartella. Crea una nuova cartella e inserisci al suo interno lo script e il file pptx allegati al blog.
Esegui lo script e verrà creata una finestra con le figure, inoltre verranno salvati 5 file PNG. I file verranno salvati nella cartella in cui è stato salvato lo script. (Se non hai salvato lo script nella cartella, i file potrebbero essere salvati in una posizione qualsiasi, non essere salvati affatto o potrebbe verificarsi un errore.)
Apri la diapositiva di PowerPoint, dovresti vedere delle figure. Chiudi il file pptx, non salvarlo.
Ora apri il report e colora alcune righe con il tuo colore preferito. Dopodiché, esegui questa parte dello script.
fig 1 = Report( obj )["Response Percent Reacted", "Actual by Predicted Plot", List Box( 1 )] << get picture;
fig 2 = Report( obj )["Response Percent Reacted", "Studentized Residuals", List Box( 1 )] << get picture;
fig 3 = Report( obj )["Response Percent Reacted", "Summary of Fit"] << get picture;
fig 4 = Report( obj )["Response Percent Reacted", "Analysis of Variance"] << get picture;
fig 5 = Report( obj )["Response Percent Reacted", "Prediction Profiler"] << get picture;
win = New Window( "report figures", H List Box( fig1, V List Box( fig3, fig4 ) ), fig2, fig5 );
fig 1 << Save Picture( "fig1.png", "png" );
fig 2 << Save Picture( "fig2.png", "png" );
fig 3 << Save Picture( "fig3.png", "png" );
fig 4 << Save Picture( "fig4.png", "png" );
fig 5 << Save Picture( "fig5.png", "png" );
Quindi riapri il file pptx. Dovrebbe essersi aggiornato. Se non si è aggiornato (perché non posso testarlo sul tuo computer), potrebbe essere necessario eseguire la procedura di inserimento e collegamento con la copia locale del file pptx.
Ammetto che la configurazione iniziale è un po' laboriosa, ma una volta completata, mi ha fatto risparmiare letteralmente ore e ore di tempo nella ripubblicazione delle presentazioni aggiornate. Spero che sia utile anche a voi.