JMP è uno strumento incredibilmente potente per l'analisi e la gestione dei dati. In particolare, la piattaforma Tabulate e le numerose altre piattaforme che generano tabelle incorporate consentono agli utenti di generare riepiloghi e approfondimenti in modo rapido e semplice. Spesso gli utenti desiderano incorporare queste tabelle in Microsoft Word o in Apache OpenOffice o LibreOffice. Tutti questi strumenti di creazione sono in grado di leggere e scrivere lo standard Office Open XML, in particolare i file DOCX.
Il componente aggiuntivo che ho creato per questo post è pensato per facilitare l'inserimento dell'output tabulare dalla sessione JMP in un file DOCX e sfruttare tutte le funzionalità di formattazione e stilizzazione. Il componente aggiuntivo utilizza il pacchetto python-docx ( https://pypi.org/project/python-docx/ ) e l'integrazione JMP/Python per raggiungere questo obiettivo. Inoltre, è possibile specificare un file DOCX creato in precedenza con una tabella stilizzata esistente, consentendo all'utente di creare modelli per la formattazione da utilizzare per la tabella JMP. Infine, se il modello DOCX contiene "tag" (testo nel documento che inizia con ${JMP_ e termina con }, ad esempio ${JMP_TABLE1}), il componente aggiuntivo incorporerà la tabella in cui è presente il tag.
Il componente aggiuntivo è scritto con una funzione autonoma che può essere richiamata dall'esterno dell'interfaccia utente, offrendo agli utenti la possibilità di incorporare la creazione delle tabelle DOCX in processi di flusso di lavoro nuovi o esistenti.
Interfaccia utente della tabella di conversione in DOCX
L'installazione del componente aggiuntivo nella sessione JMP installerà il pacchetto python-docx nell'ambiente JMP Python e creerà una voce di menu nel menu Componenti aggiuntivi:
Facendo clic su quella voce di menu verrà avviata l'interfaccia utente e verrà raccolto un elenco di tutte le tabelle e i tabulati presenti nella sessione JMP.
Se successivamente si aprono nuove tabelle o si creano nuove tabelle dopo aver avviato l'interfaccia utente, è possibile fare clic sul pulsante Aggiorna per aggiornare l'elenco. Selezionando una delle tabelle/tabelle nell'elenco verrà visualizzata un'immagine in miniatura della selezione. Se non è selezionato alcun file DOCX modello, la tabella DOCX verrà generata senza alcuno stile applicato:
Il pulsante Sfoglia consente di selezionare un file DOCX da utilizzare come modello. Il componente aggiuntivo fornisce 4 file DOCX modello di esempio e li copia nella cartella DOCUMENTI. Il pulsante Visualizza apre il modello DOCX selezionato nell'applicazione predefinita per la visualizzazione/modifica dei file DOCX. Il file TabulateToDocxTableTemplate1.docx contiene la seguente tabella stilizzata:
Utilizzando questo modello, l'output generato ora appare come segue:
TabulateToDocxTableTemplate2 e 3 sono semplicemente stili di tabella diversi.
Il quarto modello illustra la funzionalità di tagging. Selezionando questo modello, nell'interfaccia utente viene abilitata una nuova opzione che consente di selezionare il tag in cui inserire la tabella.
Ora, invece di creare un documento vuoto con solo la tabella stilizzata, questa viene inserita nel documento nella posizione del tag utilizzando lo stile della tabella nel paragrafo subito dopo il tag:
Come accennato in precedenza, con il componente aggiuntivo bloccato, questa funzionalità esiste anche come funzione autonoma che può essere richiamata da altri processi JSL. Gli argomenti sono descritti di seguito:
// TabulateToDocxTable:createDocxTable is a function that uses Python to generate a three-line DOCX version of a JMP Tabulate.
//
// tb - required - a reference to a JMP Table, TabulateBox (DisplayBox), or a Tabulate platform
// templatePath - optional - a string for the path of a DOCX file from which to glean the table styling (default Empty() - use the default styling)
// tag - optional - a string for the ${...} enclosed text in the DOCX template that the rendered table will replace. Specifying this option will first copy the DOCX
// into the outputFilePath and modify that copy of the DOCX
// outputFilePath - optional - a string for the path where to write the DOCX file (default "$DOCUMENTS/JMPDocxTable.docx" - JMPDocxTable.docx in the user's Documents folder)
//
TabulateToDocxTable:createDocxTable = function({tb, templatePath=Empty(), tag=Empty(), outputFilePath=Empty()})
Il componente aggiuntivo funzionerà sulle versioni 18 e 19 di JMP e sulle piattaforme Windows e Mac.
:megaphone: Vogliamo il tuo feedback!
Stiamo provando qualcosa di un po' diverso e ci piacerebbe conoscere la tua opinione su questa funzionalità. Dopo aver avuto la possibilità di esplorare il componente aggiuntivo, ti preghiamo di dedicare un momento alla compilazione del seguente sondaggio .