cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

JMPer Cable

A technical blog for JMP users of all levels, full of how-to's, tips and tricks, and detailed information on JMP features
Choose Language Hide Translation Bar
Adding automatic PowerPoint export to Workflow Builder

Adding PowerPoint export to Workflow Builder

The Engineering Mailbag

Episode 8: The Last Mile

Every now and again, as systems engineers, we run into interesting questions that would fall somewhat outside the typical range of JMP usage. Other times the question is just interesting and gives me an opportunity to explore the deeper reasons of why we do things the way we do in JMP.

This question has come up more times than I can count. I don’t have an email to work from for this one, but let’s just assume that a few have come through. There have also been questions about it on the JMP Community Forum. And I can’t do a seminar on this topic without it coming up.

So, enough build-up. What is this earth-shattering question we’re going to tackle today? Like the title says, we’re going to put PowerPoint export into Workflow Builder.

The question

For me, this question usually arrives after showing all the cool stuff Workflow Builder can do. I’ve shown how it can capture Query Builder execution, how someone can reduce long, drawn-out data clean-up processes to the click of a button, and how they can automatically generate an important report that they might want to put in front of a decision maker. And then, invariably, I hear, “How can I have it export to a PowerPoint file?” (or something similar).

The answer

To be fair – I’ve never been happy with my response on this one. That’s part of what motivated the little leave-behind I’m including with the blog. If you, dear reader, are not interested in the details of how my new answer to this question works and just want to put it to use, you can skip down a section to where I show you how to use the download included with the blog.

Now, the answer that I previously provided for this question was, “There’s an example in the scripting index for the Save Presentation() function that can be added as a custom step.”

My Guy No GIF by Pudgy Penguins.gif

But that answer just bugged me. I’ll spare you the soapbox rant on why, but suffice it to say that it didn’t seem very…well…JMP-y. Anyhow, I resolved the other day to say it for the last time! ¡NO MAS!

Here’s what I did.

Building PowerPoint export

In JMP 18, Workflow Builder added support for if/else statements and messages, among other things. These two capabilities, along with some obscure JSL, are how I was able to get this working. (Sidebar: The JMP Scripting Index is your friend, folks!)

In my head, I wanted this step to include exporting a new presentation file or using the Append option for the Save Presentation() function to add a slide to an existing presentation. That meant two things: first, I’d need a dialog to change course between the two versions of the Save Presentation() step, and second, I’d need a way to switch between them.

The logic for each step is straightforward. Add the if and else steps from the advanced menu when you click on the red triangle in a Workflow Builder and put messages in each step in the “At Start” slot of the Step Action Timeline. Next, edit the condition script to match the variables set up in the messages. I’ve put a brief video below showing the steps for each

(view in My Videos)

After the if and else are set up, we can go back to the advanced red triangle submenu, add custom steps, and move them into the if and else steps. I’ve changed the name in the screenshot so that it’s clear what each does.

PowerPointExport.png

Here are screenshots of the custom process needed in the append step:

Append internals.png

And the steps for a new presentation:

Create internals.png

Create Message Internals.png

The magic in making this work as a general solution can be found in the JSL for the custom steps, specifically the Current Report() function. Thanks to my early education in JSL (shoutout to Di Michelson on the JMP Education team!), I know that JMP will automatically perform actions on the current window or object unless I specifically direct it otherwise. I also know that the last created object will always be the current one unless my code does something to change that. So, if I put the step I’m constructing (meaning the if/else group) after I create a report, the Current Report will be the report I just created. And the Current Report() function will return a reference to that report. I can then pass that reference to Save Presentation by just using the variable holding the report reference.

The Pick File() and Pick Directory() automatically generate dialogs and return paths. Using these two ideas together in the Save Presentation() argument mean that I can know which report to act on based on the step location in the workflow. I can also ask the user which presentation they want me to update or where they want me to create one.

Using PowerPoint export

For those who skipped the coding section, welcome back! Let’s have a look at what is in the zip file from the downloads section for this article. Inside, you’ll find three files:

zip internals.png

The PowerPointExport file is a standalone Workflow Builder step can both append or create a new presentation file. The other two work together and are for a specific case I’ll detail in a moment. To start, let’s look at a simple case. I’ve created a short video to show the steps:

(view in My Videos)

Now, for the other two files. There are instances where a workflow can produce multiple reports. Rather than having to run through the prompts on each report, the other two files work in tandem. The PowerPointCreate step has the prompts for creating the presentation file; it also provides the location of that file to every instance of the PowerPointAppend step in the same workflow. This lets you automate the creation of a complete slide deck with very little direct input from the user. Here’s a video walkthrough of how to set up a workflow for that situation and what the result looks like:

(view in My Videos)

So, there you have it! PowerPoint support for Workflow Builder with no coding required. Just some point-and-click work to keep you in the moment and focusing on your data and insights – which is all very JMP-y. ;)

 

Last Modified: May 28, 2026 1:31 PM