소개:
약간의 스크립팅만 있으면 모든 종류의 재미있는 유틸리티와 도구를 쉽게 만들어 JMP로 시간을 절약할 수 있습니다. 때때로 이러한 도구는 작업의 분석 부분에서 시간을 절약하는 데 도움이 되며, 때로는 이 예와 같이 보다 일상적인 작업 측면에서 시간을 절약하는 데 도움이 됩니다. 나는 최근에 보았다 이 우수한 블로그 ~에 의해 @Craige_Hales JMP를 사용하여 디렉토리 트리 맵을 표시하는 유틸리티를 만들 수 있는지 궁금했습니다. 이 맵은 어떤 파일이 하드 드라이브의 공간을 차지하고 있는지 쉽게 볼 수 있는 방법입니다. JMP는 이 작업을 쉽게 수행할 수 있습니다. 따라서 디렉토리 트리맵을 만드는 프리웨어 유틸리티가 많이 있지만 JMP에서 직접 해보는 것도 스크립팅을 재미있게 배울 수 있는 방법이 될 수 있습니다. 실제로 얼마나 쉬운지 알아보려면 계속 읽어보세요.

JMP가 대신 작성할 수 있는 코드 작성에 시간을 낭비하지 마세요.
JMP에서 스크립팅을 할 때 가장 먼저 염두에 두어야 할 점은 JMP가 이미 백그라운드에서 거의 모든 것에 대한 스크립팅을 하고 있다는 것입니다. 결과적으로 JMP가 이미 제공하는 것을 함께 연결하기만 하면 됩니다. 경우에 따라 조금 더 깊이 파고들어야 할 수도 있습니다. 아래 표시된 유틸리티는 JMP가 이미 수행하고 있는 것과 함께 약간의 실제 코딩을 혼합합니다.
1단계: JMP에서 수행
이 유틸리티의 경우 사용자가 선택한 폴더(및 하위 폴더의 모든 파일)에 있는 파일 목록과 각 파일의 크기가 필요합니다. 그런 다음 크기별로 각 파일의 트리맵이 필요합니다. JMP에는 다중 파일 가져오기 및 그래프 빌더를 통해 이러한 요구 사항을 모두 충족하는 도구가 있습니다. 스크립팅 없이 첫 번째 개념 증명을 만드는 단계는 다음과 같습니다.
- 데이터 얻기: 파일...여러 파일 가져오기를 선택합니다. 모든 사람이 가지고 있어야 하는 JMP 설치 디렉터리를 선택했습니다. 하위 폴더 포함 버튼을 선택한 후 중간에 있는 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 테이블로 만들기를 선택합니다.


- 트리맵 만들기: 그래프 빌더를 시작한 다음 파일 이름을 Y 영역으로, 파일 크기를 크기 영역으로 드래그합니다. 상단에서 트리맵을 선택합니다. 그런 다음 제어판의 레이아웃 드롭다운에서 Squarify를 선택합니다.

2단계: 스크립팅으로 조각 맞추기
이제 스크립팅 없이 유틸리티를 만들었으므로 스크립트로 결합하기만 하면 됩니다. 다음은 필요한 사항과 그에 대한 방법에 대한 간략한 개요입니다.
- 폴더 선택: 쉬운. Pick Directory() 명령에 대한 스크립팅 인덱스에서 복사/붙여넣기.
- 여러 파일 가져오기에서 테이블 가져오기: 까다로울 수 있습니다. 우리는 데이터 테이블로 자체의 일부를 내보내도록 플랫폼에 지시해야 합니다.
- 트리맵 만들기: 쉬운. 이미 만들어진 그래프에서 복사/붙여넣기.
GUI를 사용할 때 이전에는 두 단계만 필요했지만 이제 세 단계가 있습니다. 그러나 폴더를 선택하는 새로운 단계는 어렵지 않습니다. Scripting Index 항목을 보면 디렉터리 선택 명령을 사용하여 거기에 있는 것을 복사하여 우리 자신의 스크립트에 붙여넣을 수 있으며 스크립트를 약간 수정하여 폴더 .

지금까지의 스크립트는 1단계가 완료된 상태입니다(그리고 시작 부분에 3년 후 이것이 무엇에 관한 것인지 상기시켜주는 설명이 있음).
//script to make treemap of directory structure
Names Default To Here( 1 );
folder = Pick Directory( "Select a directory" );
다음 단계는 약간 복잡하지만 학습 후 간단합니다. 보고서 레이어를 스크립팅하는 방법 (훌륭하고 자유로운 사람들을 위한 노골적인 플러그 JMP 스크립팅 과정 ). 기본적으로 내가 해야 할 일은 마우스 오른쪽 버튼을 클릭하여 내보내는 대신 스크립팅을 통해 다중 파일 가져오기 창의 중간에서 테이블을 내보내는 것입니다. 이를 위해 GUI를 통해 여러 파일 가져오기 플랫폼을 시작하고 GUI를 사용하여 플랫폼용 스크립트를 가져온 다음 GUI를 사용하여 JMP가 중간에 있는 테이블을 호출하는 항목을 찾습니다. 이렇게 하려면 다음 세 단계가 필요합니다.
- 여러 파일 가져오기를 위한 스크립트 가져오기: 파일...여러 파일 가져오기를 선택하고 폴더를 선택하고 하위 폴더 포함을 선택한 다음 스크립트에 스크립트 저장 창 버튼을 누릅니다. 이제 기본 스크립트 끝에 복사/붙여넣기할 수 있는 스크립트가 있습니다.
- 여러 파일 가져오기 스크립트를 수정합니다. 상단 근처의 인용된 폴더를 다음 단어로 바꿉니다. 폴더 그리고 변경 데이터 가져오기 끝 부분에서 창 만들기 , 실제로 데이터를 가져오고 싶지 않기 때문입니다. 추가하다 템윈 = 나중에 이 창을 참조할 수 있도록 스크립트의 이 부분의 시작 부분으로 이동합니다. 이러한 조정 후 이 섹션의 스크립트는 다음과 같습니다.
tempwin = Multiple File Import(
<<SET folder=""></SET>
- GUI에서 마우스 오른쪽 버튼을 클릭하는 대신 스크립팅을 통해 데이터 테이블을 내보냅니다. 우리는 알고 템윈 이제 파일 크기 표가 포함된 전체 여러 파일 가져오기 창을 참조하지만 JMP가 해당 표를 무엇이라고 부르는지는 아직 알 수 없습니다. 확인하려면 편집 메뉴가 보이는 곳에서 테이블 자체를 마우스 오른쪽 버튼으로 클릭해야 합니다(가장자리 근처, 테이블 중앙에는 편집 메뉴 대신 테이블에 대한 상황에 맞는 메뉴가 표시됨). 편집...트리 구조 표시를 선택합니다. 그런 다음 트리 구조 창에서 참조하려는 테이블이 아래와 같이 MFI 창에서 강조 표시될 때까지 항목을 클릭합니다.

이것은 TableBox(1)가 JMP에서 이 테이블이라고 부르는 것임을 의미합니다. 이제 이 사실을 알았으므로 JMP에게 "데이터 테이블로 만들기"와 같은 작업을 해당 테이블로 수행하도록 지시할 수 있으며 스크립트에 아래 줄을 추가하면 됩니다.dtFiles = tempwin[Table Box(1)] << Make into data table;
이제 남은 것은 우리가 이미 만든 그래프 빌더에서 스크립트를 복사하고(빨간색 삼각형...스크립트 저장...클립보드에) 스크립트의 끝에 붙여넣기만 하면 끝입니다! 전체 스크립트는 다음과 같습니다.
Names Default To Here( 1 );
folder = Pick Directory( "Select a directory" );
tempwin = Multiple File Import(
<<SET folder=""></SET>
3. 테스트 및 개선
이 시점에서 스크립트는 의도한 대로 작동하고 완료할 수 있습니다. 하지만 스크립트를 개선하기 위해 할 수 있는 일이 몇 가지 있습니다. 첫째, 여러 파일 가져오기 섹션에는 삭제할 수 있는 추가 줄이 많이 있습니다. 둘째, 플랫폼에 사용할 데이터 테이블을 확인하는 것이 좋습니다. dt파일 << Graph Builder는 나중에 이 스크립트를 실행할 때 여러 데이터 테이블이 열려 있는 경우 문제가 발생하지 않도록 도와줍니다. 이렇게 변경하고 나면 스크립트가 훨씬 더 짧아지고 이해하기 쉬워집니다. 실제로 몇 가지 간단한 단계를 함께 연결하면 됩니다.
Names Default To Here( 1 );<BR />
folder = Pick Directory( "Select a directory" );
tempwin = Multiple File Import(
<<SET folder=""></SET>
결론
몇 가지 주요 내용을 나열하는 것이 적절합니다.
- JMP는 스크립팅 시 대부분의 작업을 자동으로 수행합니다.
- JMP가 이미 만든 창에서 데이터를 가져오는 것은 JMP를 삶을 더 쉽게 만드는 도구로 확장하는 좋은 방법입니다.
- 아마도 무엇보다도 여기서 멈출 필요가 없을 것입니다.
이 도구를 쉽게 수정하여 선택한 파일/폴더를 여는 방법, 날짜별로 색상을 지정하여 오래된 파일을 찾거나 폴더/하위 폴더별로 구성하거나 기타 수정 및 개선 사항을 추가할 수 있습니다.