Ajout de l'exportation PowerPoint au générateur de flux de travail
LeCourrier des ingénieurs
Épisode 8 : Le dernier kilomètre
De temps à autre, en tant qu'ingénieurs systèmes, nous rencontrons des questions intéressantes qui sortent quelque peu du cadre habituel.JMPParfois, la question est simplement intéressante et me donne l'occasion d'explorer les raisons plus profondes pour lesquelles nous procédons ainsi dans JMP.
Cette question a été posée un nombre incalculable de fois. Je n'ai pas d'e-mail sous la main pour y répondre, mais supposons que plusieurs e-mails me soient parvenus. Des questions à ce sujet ont également été posées sur le forum.Forum de la communauté JMP.Et je ne peux pas organiser un séminaire sur ce sujet sans que la question ne soit abordée.
Assez de suspense. Quelle est cette question capitale que nous allons aborder aujourd'hui ? Comme l'indique le titre, nous allons intégrer l'exportation PowerPoint dans Workflow Builder.
La question
PourCette question revient généralement après avoir présenté toutes les fonctionnalités intéressantes de Workflow Builder. J'ai montré comment il permet de capturer l'exécution de Query Builder, comment simplifier les longs processus de nettoyage de données en un clic, et comment générer automatiquement un rapport important à présenter à un décideur. Et immanquablement, j'entends ensuite : « Comment exporter ce rapport vers PowerPoint ? » (ou une question similaire).
La réponse
ÀPour être honnête, je n'ai jamais été pleinement satisfait de ma réponse à cette question. C'est en partie ce qui m'a motivé à ajouter ce petit guide à l'article. Si, cher lecteur, vous n'êtes pas intéressé par les détails de ma nouvelle réponse et souhaitez simplement l'utiliser, vous pouvez passer directement à la section où j'explique comment utiliser le fichier à télécharger.
La réponse que j'avais précédemment donnée à cette question était : « Il existe un exemple dans l'index des scripts pour la fonction Save Presentation() qui peut être ajoutée en tant qu'étape personnalisée. »

Mais cette réponse m'a vraiment agacée. Je vous épargne les explications, mais disons simplement qu'elle ne faisait pas très… comment dire… « JMP ». Bref, j'ai pris la décision l'autre jour de le dire pour la dernière fois ! ¡NO MAS!
Voici ce que j'ai fait.
Exportation PowerPoint de la création
DansJMP 18, Workflow Builder, a ajouté la prise en charge des instructions if/else et des messages, entre autres. C'est grâce à ces deux fonctionnalités, ainsi qu'à quelques notions obscures de JSL, que j'ai pu faire fonctionner le tout. (Encadré :Index des scripts JMP est votre ami, les amis !)
Je souhaitais que cette étape permette d'exporter un nouveau fichier de présentation ou d'utiliser l'option « Ajouter » de la fonction « Enregistrer la présentation » pour ajouter une diapositive à une présentation existante. Cela impliquait deux choses : premièrement, il me fallait une boîte de dialogue pour choisir entre les deux options de l'étape « Enregistrer la présentation », et deuxièmement, un moyen de basculer entre elles.
La logique de chaque étape est simple. Ajoutez les étapes « si » et « sinon » depuis le menu avancé (accessible en cliquant sur le triangle rouge dans le Générateur de flux de travail) et insérez les messages de chaque étape dans l'emplacement « Au début » de la chronologie des actions. Ensuite, modifiez le script de condition pour qu'il corresponde aux variables définies dans les messages. Vous trouverez ci-dessous une courte vidéo illustrant chaque étape.
Une fois les conditions « si » et « sinon » configurées, nous pouvons retourner dans le sous-menu avancé (triangle rouge), ajouter des étapes personnalisées et les déplacer dans les étapes « si » et « sinon ». J'ai modifié le nom dans la capture d'écran pour que la fonction de chaque étape soit plus claire.

Voici des captures d'écran du processus personnalisé nécessaire à l'étape d'ajout :

Voici les étapes d'une nouvelle présentation :


Le secret de cette solution générique réside dans le JSL des étapes personnalisées, et plus précisément dans la fonction CurrentReport(). Grâce à mes premiers pas en JSL (un grand merci à Di Michelson de l'équipe JMP Education !), je sais que JMP effectue automatiquement les actions sur la fenêtre ou l'objet courant, sauf indication contraire. Je sais également que le dernier objet créé est toujours l'objet courant, sauf si mon code modifie ce comportement. Ainsi, si je place l'étape que je construis (c'est-à-dire le groupe if/else) après la création d'un rapport, le rapport courant sera celui que je viens de créer. La fonction CurrentReport() renverra alors une référence à ce rapport. Je peux ensuite transmettre cette référence à Save Presentation en utilisant simplement la variable qui la contient.
Les fonctions Pick File() et Pick Directory() génèrent automatiquement des boîtes de dialogue et renvoient les chemins d'accès. En les combinant dans l'argument Save Presentation(), je peux déterminer le rapport à traiter en fonction de l'étape du flux de travail. Je peux également demander à l'utilisateur quelle présentation mettre à jour ou où en créer une.
Utilisation de l'exportation PowerPoint
PourPour celles et ceux qui ont sauté la section sur le codage, bienvenue à nouveau ! Voyons maintenant ce que contient le fichier zip disponible dans la section téléchargements de cet article. Vous y trouverez trois fichiers :

Le fichier PowerPointExport est une étape autonome de Workflow Builder qui permet d'ajouter un fichier de présentation ou d'en créer un nouveau. Les deux autres étapes fonctionnent ensemble et sont destinées à un cas spécifique que je détaillerai dans un instant. Pour commencer, examinons un cas simple. J'ai créé une courte vidéo pour illustrer les étapes :
Passons maintenant aux deux autres fichiers. Il arrive qu'un flux de travail génère plusieurs rapports. Plutôt que de suivre les instructions de chaque rapport, les deux autres fichiers fonctionnent de concert. L'étape PowerPointCreate contient les instructions pour créer le fichier de présentation ; elle fournit également l'emplacement de ce fichier à chaque instance de l'étape PowerPointAppend du même flux de travail. Cela permet d'automatiser la création d'un diaporama complet avec une intervention minimale de l'utilisateur. Voici une vidéo expliquant comment configurer un flux de travail pour cette situation et à quoi ressemble le résultat :
DoncEt voilà ! Workflow Builder est désormais compatible avec PowerPoint, sans aucune programmation. Quelques clics suffisent pour vous permettre de rester concentré sur vos données et vos analyses – typiquement JMP ! 