워크플로 빌더에 PowerPoint 내보내기 기능 추가
그만큼공학 분야 독자 질문 답변
8화: 마지막 여정
시스템 엔지니어로서 우리는 때때로 일반적인 범주에서 다소 벗어난 흥미로운 질문들을 접하게 됩니다.JMP사용 방식 때문입니다. 때로는 질문 자체가 흥미로워서 JMP에서 우리가 특정 방식으로 작업을 수행하는 더 깊은 이유를 탐구할 기회를 얻기도 합니다.
이 질문은 셀 수 없을 정도로 많이 나왔습니다. 이 질문에 대한 답변을 확인할 이메일 주소는 없지만, 대략 몇 건은 왔을 거라고 가정해 보겠습니다. 또한, 이와 관련된 질문은 다른 곳에서도 제기되었습니다.JMP 커뮤니티 포럼.이 주제에 대한 세미나를 진행하다 보면 이 이야기가 빠지지 않고 나옵니다.
자, 이제 서론은 충분히 했으니, 오늘 우리가 다뤄볼 획기적인 질문은 무엇일까요? 제목에서 알 수 있듯이, 파워포인트 내보내기 기능을 워크플로 빌더에 통합하는 방법을 알아보겠습니다.
질문
을 위한제 경우에는 워크플로 빌더의 멋진 기능들을 모두 보여준 후에 항상 이런 질문을 받습니다. 쿼리 빌더 실행 과정을 캡처하는 방법, 길고 복잡한 데이터 정리 작업을 버튼 클릭 한 번으로 단축하는 방법, 의사 결정권자에게 보여주고 싶은 중요한 보고서를 자동으로 생성하는 방법 등을 보여드렸죠. 그러면 어김없이 "파워포인트 파일로 내보내려면 어떻게 해야 하나요?" (또는 비슷한 질문)라는 말을 듣게 됩니다.
정답
에게솔직히 말해서, 저는 이 질문에 대한 제 답변에 늘 만족하지 못했습니다. 블로그에 첨부한 간단한 자료를 만들게 된 계기도 바로 그 때문입니다. 독자 여러분께서 제 새로운 답변이 어떻게 작동하는지 자세히 알고 싶지 않고 바로 사용하고 싶으시다면, 블로그에 포함된 다운로드 파일을 사용하는 방법을 설명하는 부분으로 바로 넘어가시면 됩니다.
이전에 제가 이 질문에 대해 드린 답변은 "스크립팅 색인에 '프레젠테이션 저장()' 함수에 대한 예제가 있으며, 이를 사용자 지정 단계로 추가할 수 있습니다."였습니다.

하지만 그 대답이 영 마음에 들지 않았어요. 왜 그런지는 장황하게 설명하지 않겠지만, 간단히 말해서 그건 JMP답지 않아 보였거든요. 그래서 며칠 전에 마지막으로 한마디 하기로 마음먹었어요! 더 이상은 안 돼!
제가 한 일은 다음과 같습니다.
PowerPoint 내보내기 빌드
~ 안에JMP 18의 워크플로 빌더는 if/else 문과 메시지 등을 지원합니다. 이 두 가지 기능과 다소 생소한 JSL 덕분에 이 기능을 구현할 수 있었습니다. (참고:JMP 스크립팅 색인 는 여러분의 친구입니다, 여러분!)
제 생각에는 이 단계에서 새 프레젠테이션 파일을 내보내거나, '프레젠테이션 저장' 함수의 '추가' 옵션을 사용하여 기존 프레젠테이션에 슬라이드를 추가하는 기능을 포함시키고 싶었습니다. 그러려면 두 가지가 필요했습니다. 첫째, '프레젠테이션 저장' 단계의 두 가지 버전 사이를 전환할 수 있는 대화 상자가 필요했고, 둘째, 두 버전 사이를 전환할 수 있는 방법이 필요했습니다.
각 단계의 논리는 간단합니다. 워크플로 빌더에서 빨간색 삼각형을 클릭하여 고급 메뉴에서 if 및 else 단계를 추가하고, 단계 작업 타임라인의 "시작 시" 슬롯에 각 단계의 메시지를 입력합니다. 그런 다음 메시지에 설정된 변수와 일치하도록 조건 스크립트를 편집합니다. 아래에 각 단계를 보여주는 짧은 비디오를 첨부했습니다.
if문과 else문을 설정한 후에는 고급 메뉴(빨간색 삼각형)로 돌아가서 사용자 지정 단계를 추가하고 이를 if문과 else문 안으로 옮길 수 있습니다. 스크린샷에서는 각 단계의 기능을 명확히 보여주기 위해 이름을 변경했습니다.

다음은 추가 단계에 필요한 사용자 지정 프로세스의 스크린샷입니다.

새로운 프레젠테이션을 위한 단계는 다음과 같습니다.


이 방법을 일반적인 해결책으로 사용할 수 있게 해주는 핵심은 사용자 지정 단계에 사용되는 JSL, 특히 `CurrentReport()` 함수에 있습니다. JSP 교육팀의 Di Michelson 덕분에 JSL을 일찍부터 배울 수 있었고, JMP는 특별히 지시하지 않는 한 현재 창이나 객체에 대해 자동으로 작업을 수행한다는 것을 알고 있었습니다. 또한 제 코드가 변경하지 않는 한 마지막으로 생성된 객체가 항상 현재 객체가 된다는 것도 알고 있었습니다. 따라서 보고서를 생성한 후에 제가 구성하려는 단계(즉, if/else 그룹)를 배치하면 `CurrentReport`는 방금 생성한 보고서가 됩니다. 그리고 `CurrentReport()` 함수는 해당 보고서에 대한 참조를 반환합니다. 그러면 보고서 참조를 담고 있는 변수를 사용하여 `SavePresentation` 함수에 해당 참조를 전달할 수 있습니다.
Pick File() 및 Pick Directory() 함수는 자동으로 대화 상자와 반환 경로를 생성합니다. Save Presentation() 함수의 인수에 이 두 가지 방식을 함께 사용하면 워크플로 단계 위치에 따라 어떤 보고서를 수정해야 하는지 알 수 있습니다. 또한 사용자에게 어떤 프레젠테이션을 업데이트할지 또는 어디에 새 프레젠테이션을 생성할지 물어볼 수도 있습니다.
PowerPoint 내보내기 사용
을 위한코딩 부분을 건너뛰셨던 분들, 다시 오신 것을 환영합니다! 이 글의 다운로드 섹션에서 압축 파일 내용을 살펴볼까요? 압축 파일 안에는 세 개의 파일이 있습니다.

PowerPointExport 파일은 독립형 워크플로 빌더 단계로, 프레젠테이션 파일을 추가하거나 새로 만들 수 있습니다. 나머지 두 단계는 함께 작동하며, 잠시 후 자세히 설명할 특정 사례에 사용됩니다. 먼저 간단한 사례를 살펴보겠습니다. 단계별 과정을 보여주는 짧은 비디오를 만들었습니다.
이제 나머지 두 파일에 대해 설명하겠습니다. 워크플로에서 여러 보고서를 생성하는 경우가 있습니다. 각 보고서마다 프롬프트를 실행하는 대신, 나머지 두 파일은 서로 연동하여 작동합니다. PowerPointCreate 단계에는 프레젠테이션 파일을 생성하는 프롬프트가 포함되어 있으며, 동일한 워크플로 내의 모든 PowerPointAppend 단계에 해당 파일의 위치를 제공합니다. 이를 통해 사용자의 직접적인 입력 없이 전체 슬라이드 덱 생성을 자동화할 수 있습니다. 이러한 상황에 맞는 워크플로 설정 방법과 결과는 다음 비디오에서 확인할 수 있습니다.
그래서자, 이제 아시겠죠! 코딩 없이 PowerPoint에서 워크플로 빌더를 지원합니다. 몇 번의 클릭만으로 작업에 집중하고 데이터와 인사이트에 몰두할 수 있습니다. 바로 JMP의 특징이죠. 
워크플로 빌더에서 '만약 조건 추가'와 '그렇지 않으면 추가' 옵션을 활용하는 훌륭한 예시입니다!