최근 JMP 유저 중에서 센서로부터 초 단위로 취득된 데이터, 많은 파라미터가 있는 제조 데이터, 게놈 데이터 등 소위 빅 데이터를 취급하는 편이 증가하고 있습니다.
대용량 데이터의 경우 파일 크기가 커지므로 디스크 공간이 필요합니다.
JMP는 원래 데이터 테이블을 저장할 때 파일을 압축하는 기능을 가지고 있지만 최신 버전의 "JMP 18"에서는 문자 유형의 열을 컴팩트하게 만드는 기능이 추가되었습니다. 이 기능을 사용하면 파일 크기를 줄이고 메모리를 절약 할 수 있습니다.

이 블로그에서는 JMP 18에서 열을 컴팩트하게 만드는 작업 방법을 설명하고 컴팩트하게 만드는 내부 메커니즘과 여러 데이터로 컴팩트하게 만들 때 파일 크기를 비교합니다.
문자 유형의 열을 컴팩트하게
이 기능을 설명 할 때 중요한 것은 컴팩트 할 수있는 것은 문자 유형의 열이라는 것입니다. 숫자 유형의 열은 컴팩트할 수 없습니다.
아래 그림의 데이터*는 도쿄도의 부동산 가격을 기록한 것으로, 약 40만행, 38열이 있습니다. 이 중에서 지역을 나타내는 열 "Region"을 컴팩트하게 해 보겠습니다.
특정 문자 유형의 열을 컴팩트하게 만드는 작업
- 열 Region을 선택한 다음 열 > 열 정보를 선택합니다.
- JMP 18에서는 데이터 유형이 "문자"인 경우 하위 유형을 지정할 수 있습니다. 기본적으로 보통으로 설정되어 있지만 여기를 컴팩트 하게 변경합니다.

이 데이터에는 "Region" 외에도 "Type"이나 "Prefecture" 등 다양한 문자열이 있습니다. 이것을 한 번에 컴팩트하게 하려면, 이것도 JMP 18의 새로운 기능인 「열 매니저」 를 사용하면 좋을 것입니다.
열 관리자를 사용하여 여러 문자열을 한 번에 컴팩트하게 만드는 방법
- 열 > 열 관리자(또는 열 패널에서 아이콘을 클릭)를 선택합니다.
- 열 관리자 상단의 항목 유형을 클릭하여 유형 순서(문자, 숫자)로 정렬합니다.
- 유형이 문자("ABC"라고 기재)의 열을 모두 선택해, Ctrl 키를 누르면서 「유형」의 우측의 항목을 클릭해, 「컴팩트」 를 선택합니다.

컴팩트한 문자 유형의 열에는 열 패널의 열 이름 오른쪽에 아래 그림과 같이 아이콘이 추가됩니다.

위의 단계에서 컴팩트하게 만든 데이터 테이블을 저장하고 컴팩트 전과 컴팩트 후에 파일 크기를 비교해보십시오.

130MB의 데이터가 컴팩트하게 함으로써 67.1M로 약 절반의 크기가 되었습니다. 디스크의 용량에 대해 걱정하는 분에게는 희소식입니다!
참고로 문자열을 컴팩트하게 만든 데이터 테이블은 JMP 17 이전 버전에서는 열 수 없습니다. 어디까지나 JMP 18에서 이용할 수 있는 데이터 테이블이 됩니다.
열을 컴팩트하게 만드는 메커니즘
그렇다면 어떤 방식으로 문자열을 컴팩트하게 만들 수 있습니까?
컴팩트하게 하면 내부적으로는 문자열의 스토리지와 행의 스토리지라는 두 개의 데이터 구조에 저장됩니다.
예를 들어, 위의 도쿄도의 데이터에서는, 그 부동산이 있는 구나 시를 나타내는 「Municipality」라고 하는 캐릭터 라인이 있습니다만, 각 다른 캐릭터 라인은 캐릭터 라인 스토리지에 저장되어 그 인덱스는 행 스토리지에 저장됩니다.

그 때문에, 긴 문자가 입력되고 있는 열이나 중복이 있는 데이터치를 가지는 열에 대해서 컴팩트하게 하는 것으로, 파일 사이즈가 작아지는 것이 기대됩니다.
반대로 한 줄에 고유 ID 번호를 붙여 데이터를 식별하는 문자열을 컴팩트하게 해도 효과가 없을 수 있습니다. 예를 들어, 100 행의 환자 데이터에서 환자를 식별하기 위해 (P1, P2, ..., P100)과 같은 값을 가진 ID 열이있는 경우 중복이없는 고유 한 값을 가지므로 컴팩트 장점을 얻을 수 없게 됩니다.
몇개의 JMP 샘플 데이터에 대해서, 캐릭터 라인을 컴팩트하게 해 본 결과를 나타냅니다.

다소 파일 크기가 작아지고 있는 것도 있으면, 「Probe.jmp」와 같이 컴팩트하게 한 혜택을 받지 않는 데이터도 있습니다.
실제로, 몇 MB 정도의 파일을 컴팩트하게 해, 비록 파일 사이즈가 작아졌다고 해도, 디스크 용량의 절약도 되지 않고, 메모리 사이즈의 절약에 의한 퍼포먼스의 향상도 체감할 수 없을 것입니다.
이점은 수십 메가바이트 이상의 데이터를 컴팩트하게 만들 때입니다.
문자열이 많은 큰 데이터가 있다면 컴팩트하게 사용해보십시오. 파일 크기가 작아지는지 확인하십시오.
항상 문자 유형 열을 컴팩트 열로 여는 방법
여기까지는 JMP의 데이터 테이블을 열어, 문자열을 컴팩트하게 하는 방법을 소개했습니다만, JMP로 데이터를 열 때에, 캐릭터 라인을 자동적으로 컴팩트하게 하는 설정도 있습니다.
JMP 메뉴 모음에서 파일 > 환경설정을 열고 일반 범주에 있는 문자 유형 열을 컴팩트 열로 열기를 선택합니다.

이 설정을 해 두면, JMP의 데이터 테이블 뿐만이 아니라, Excel이나 csv, txt등의 파일을 JMP로 열 때도, 열었을 때에 캐릭터 라인을 컴팩트하게 합니다.
※데이터 출처 Kaggle, Japan Real Estate Prices
일본 부동산 가격 (kaggle.com)
※관련 동영상(일본어)
「JMP 18」 업무로 도움이 되는 신기능 ~데이터 테이블, 리포팅편(일본어)~ - JMP User Community
마스카와 나오유(JMP Japan)
마스카와 나오히로 - JMP 사용자 커뮤니티