이 블로그 게시물에서는 JMP에서 만든 그림을 PowerPoint에서 사용할 수 있도록 하는 방법을 자세히 설명합니다. 이렇게 하면 PowerPoint 파일을 열 때마다 JMP에서 만든 그림의 최신 버전이 현재 슬라이드에 자동으로 삽입됩니다. 이 기능은 마치 새로운 기능처럼 들릴 수 있지만, 그림을 삽입하고 연결하는 기능은 1990년 Windows 애플리케이션에 OLE(Object Linking and Embedding) 기능이 도입되면서 처음 생겼습니다 . 따라서 이 기능을 아직 접하지 못한 분들을 위해 JMP를 사용하여 OLE를 활용하는 방법을 알아보겠습니다.
기본적인 아이디어는 매우 간단하며 스크립트로도 구현 가능합니다. 첫 번째 단계는 JMP에서 그림을 만들고 "Figure1.png"와 같이 보기 좋은 파일 이름으로 저장하는 것입니다. 다음으로 PowerPoint에서 [삽입] 탭을 사용하여 파일에서 그림을 삽입합니다. PowerPoint에서 열리는 파일 선택 대화 상자 하단에 [옵션 표시] 버튼이 있습니다. [삽입]과 [연결] 두 옵션을 모두 선택하고 파일을 문서와 함께 저장합니다.
이 개념을 테스트하려면 몇몇 행의 색상을 변경하고 JMP 그림을 같은 파일 이름으로 저장한 다음 PowerPoint 파일을 다시 열어보세요. 삽입된 파일도 변경된 것을 확인할 수 있을 것입니다.
다음 작업을 훨씬 쉽게 만들어 줄 팁 하나 드릴게요. 새 폴더를 만드세요. 그림 제작 스크립트와 PowerPoint 파일도 그 폴더에 저장하세요. 이렇게 하면 파일 경로에 대해 걱정할 필요 없이 모든 작업이 파일 위치를 로컬로 인식하게 됩니다.
PowerPoint에서는 여러 파일을 한 번에 삽입하고 연결할 수 있습니다. 첫 번째 파일은 제대로 삽입되지만, 나머지 파일들은 불편하고 예상치 못한 방식으로 크기가 조정됩니다. 이는 MS의 문제이지 JMP의 문제는 아닙니다.
같은 슬라이드에 여러 이미지를 삽입하고 크기를 조정하거나 서식을 지정하면 PowerPoint에서 해당 서식이 유지되므로 한 번만 서식을 지정하면 됩니다.
이 기능을 구현하는 기본 스크립트는 "그림 가져오기"와 "그림 저장" 명령어를 기반으로 합니다. 이 간단한 응용 프로그램 외에 해당 명령어들이 어떻게 작동하는지에 대한 자세한 내용은 스크립팅 색인을 참조하십시오. JMP 보고서에는 그림과 표가 포함되어 있습니다. 중요한 것은 보고서의 특정 부분을 어떻게 접근하는지 아는 것입니다. 모든 보고서에는 요소를 표시하거나 숨기는 데 사용되는 작은 회색 삼각형이 있습니다. 회색 삼각형을 마우스 오른쪽 버튼으로 클릭하면 "속성 표시"가 포함된 메뉴가 나타납니다. 이 옵션을 클릭하면 오른쪽에 패널이 열립니다. 이 사이드바 상단에 "경로 상자"라는 닫힌 윤곽선 막대가 있습니다. 이 막대를 열고 양면 아이콘을 클릭하여 경로를 클립보드에 복사합니다. 이 경로는 보고서에서 강조 표시된 부분을 참조하며, "그림 가져오기"를 수행해야 하는 보고서 개체입니다. 다음 스크립트에서 이 기능을 구현하는 방법을 확인할 수 있습니다.
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" );
이 스크립트는 간소화를 위해 샘플 데이터의 데이터를 사용합니다.
컨셉을 시험해 보는 중:
모든 파일을 한 폴더에 보관하라는 말은 농담이 아니었어요. 새 폴더를 만들고 블로그에 첨부된 스크립트와 pptx 파일을 그 폴더에 넣어주세요.
스크립트를 실행하면 그림이 포함된 창이 나타나고, 5개의 PNG 파일이 생성됩니다. 이 파일들은 스크립트가 저장된 폴더에 저장됩니다. (스크립트를 해당 폴더에 저장하지 않은 경우, 파일이 아무 곳에도 저장되지 않거나 오류가 발생할 수 있습니다.)
파워포인트 슬라이드를 열면 그림이 보일 겁니다. pptx 파일을 닫고 저장하지 마세요.
이제 보고서로 이동하여 원하는 색상으로 행을 칠하세요. 그런 다음 스크립트의 이 부분을 실행하세요.
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" );
그런 다음 pptx 파일을 다시 열어보세요. 업데이트되었을 겁니다. 만약 업데이트되지 않았다면 (제가 직접 테스트해 볼 수 없기 때문에) 로컬에 있는 pptx 파일을 삽입하고 연결하는 과정을 거쳐야 할 수도 있습니다.
솔직히 처음 설정할 때는 좀 번거롭지만, 일단 설정이 완료되면 업데이트된 슬라이드 자료를 다시 게시하는 데 드는 시간을 엄청나게 절약해 줍니다. 여러분에게도 유용하길 바랍니다.