Brian Corcoran- SAS 소프트웨어 개발 이사
JMP는 다양한 데이터 형식을 제품에 가져올 수 있는 다양한 방법을 제공합니다. 또한 결과를 내보내는 방법도 상당히 많습니다. 첫 번째 이유는 충분히 명확합니다. 수년에 걸쳐 데이터를 수집하고 형식을 지정하기 위해 개발된 도구들이 많이 있습니다. 하지만 대부분의 경우 이러한 도구로는 데이터를 JMP 데이터 테이블로 변환할 수 없습니다. 내보내기 기능을 제공하는 이유는 JMP를 사용하지 않는 많은 사용자와 결과를 공유해야 하기 때문입니다.
이 논문에서는 JMP 13의 가져오기, 쿼리 및 내보내기 기능 중 일부를 사용하는 방법을 간략하게 보여드리고자 합니다. 데스크톱 스크린샷에는 Windows 버전을 사용했지만, 이 논문에서 다루는 모든 기능은 JMP Mac 버전에서도 사용할 수 있습니다. 전체 워크플로우를 더 쉽게 파악할 수 있도록 설명 형식을 사용하겠습니다. 최근 발생한 실제 사례를 예로 들어 설명하겠습니다.
저는 아들이 둘 있는데, 하나는 곧 대학 졸업을 앞두고 있고, 다른 하나는 1학년입니다. 큰아들은 2학년 때 전공을 바꿨습니다. 그 기간 동안 우리는 진로에 대해 많은 이야기를 나누었습니다. 어떤 분야에 관심이 있나요? 사회에 기여할 수 있는 분야는 무엇인가요? 사무직을 원하시나요, 아니면 활동적인 직업을 원하시나요? 여행을 가고 싶으신가요? 이런 질문들은 끊임없이 이어졌습니다.
작은아들은 공부 계획은 있지만, 그것이 옳은 선택인지 완전히 확신하지는 못합니다. 이번에는 의사 결정에 도움이 될 만한 좀 더 많은 자료가 필요할 것 같습니다. 다양한 직업의 전망은 어떨까요? 아들이 현재 선택한 직업을 다시 생각해 보거나 다른 직업을 고려하는 데 도움이 될 수도 있습니다. 아들과 이야기를 나누면서 석사 학위는 괜찮지만 박사 학위는 원하지 않을 거라고 말했습니다. 기술 분야를 원하지만 다른 분야에도 열려 있다고 했습니다. 프로세스를 개선하고, 업무 중에도 자유롭게 일할 수 있다는 점이 좋다고 했습니다. 마지막으로, 급여 수준이 높은 직업을 원한다고 했습니다. 네, 좋습니다.
미국 노동통계국(BLS)이 이 문제를 해결하는 데 도움이 되는 도구를 제공하는 것으로 나타났습니다. bls.gov 웹사이트에는 일자리 성장 및 급여, 필수 교육, 심지어 직무 기술서까지 방대한 양의 데이터가 있어 방문객들에게 해당 분야의 내용을 파악할 수 있도록 도와줍니다. 이 데이터는 누구나 다운로드할 수 있으며, 저에게는 탐색을 시작하기에 좋은 곳이었습니다.
BLS 사이트를 검색해 보니, Employment Projections, Occupational Employment Databases 섹션이 가장 관련성이 높아 보였습니다. [1] 웹사이트에는 데이터 뷰어가 있지만, JMP로 가져오고 싶습니다. 다행히 원시 데이터를 Excel XLSX 형식으로 다운로드하는 버튼이 있습니다. 완벽합니다. 500K 정도의 관리 가능한 파일을 다운로드했습니다. 통합 문서에는 12개의 표가 있지만, 2014년의 고용 공고와 2024년까지의 예측을 담은 표 1.7이 가장 좋은 것 같습니다. 통합 문서에서 JMP의 파일->열기를 사용하면 Excel 마법사가 기본 설정을 제공합니다. 가져오기 설정을 변경하기 위해 워크시트에서 표 1.7을 선택합니다.
기본 설정을 사용한 워크시트 미리 보기
여기에는 헤더 정보가 많습니다. JMP의 열 헤더와 데이터 시작 부분을 위한 스핀 버튼을 여러 번 조작해 본 후, 더 보기 좋은 설정을 찾았습니다. 헤더는 두 행으로 구성되어 있으며, 헤더는 2행에서 시작하고 데이터는 5행에서 시작합니다.
조정된 설정을 사용한 워크시트 미리 보기
가져오기 버튼을 누르면 1,000개가 넘는 행의 데이터가 입력됩니다. BLS는 훨씬 더 자세한 데이터 세트를 제공하지만, 이 요약 데이터 세트는 제 필요에는 충분해 보입니다. 유일하게 아쉬운 점은 JMP 테이블에서 열이 문자 형식으로 변환되는 문제가 있는 것 같습니다. 무엇이 문제일까요?

왼쪽 정렬 텍스트는 문자 형식을 나타냅니다.
데이터를 살펴보면 표의 끝에 4줄의 각주가 있는 것을 볼 수 있습니다.

기본적으로 JMP는 데이터의 처음 100개 행을 스캔하여 유형을 확인합니다. 이를 통해 효율적이고 반응성이 뛰어난 미리보기를 제공합니다. 그러나 실제 가져오기가 완료되면 모든 행이 스캔되고 데이터 손실을 방지하기 위해 열이 문자로 변환됩니다. 물론 열 유형을 직접 변경할 수도 있지만, 다시 돌아가서 다른 방식으로 가져올 수도 있습니다. "미리보기 창 새로 고침" 패널 아래에 "모든 행 표시" 체크박스가 있습니다. 이 체크박스를 선택하면 미리보기 창에 테이블의 모든 행이 표시될 뿐만 아니라 모든 행을 열 입력에 사용합니다.

모든 행 표시
이제 표의 끝으로 이동하여 데이터가 각주 위에서 끝나도록 지정할 수 있습니다. 마법사에서 "다음" 버튼을 눌러 두 번째 옵션 페이지로 이동해야 합니다. 데이터 미리 보기에서 포함할 마지막 행을 클릭한 다음, 마법사 두 번째 창에서 "데이터 끝 행" 옆에 있는 녹색 더하기 버튼을 클릭합니다. 마법사가 올바른 행 번호를 입력해 주고, "가져오기"를 다시 눌러 데이터 형식을 올바르게 지정할 수 있습니다.
이제 JMP에 데이터를 깔끔하게 넣었고 검색할 직업이 천 개가 넘습니다. 처음 두 열은 이름이 방대하고 혼란스러워서 BLS의 긴 이름을 따라 Matrix Title과 Matrix Code로 줄였습니다. 이제 초점을 좁히는 것이 좋을 것 같습니다. 테이블에는 직업 유형 이라는 열이 있는데 실제로는 전혀 그렇지 않은 것 같습니다. 이 열의 경우 각 행에는 "요약"과 "라인 항목"이라고만 적혀 있습니다. 요약은 모든 엔지니어와 같이 특정 유형의 모든 직업에 대한 행을 의미합니다. "라인 항목"은 기계 엔지니어일 수 있습니다. 따라서 가장 먼저 하고 싶은 일은 요약 행을 모두 제거하는 것입니다. "선택 위치"와 같은 작업을 수행한 다음 테이블의 하위 집합을 설정하여 요약 행을 제거할 수 있습니다. 그러나 적용하고 싶은 추가 필터가 있습니다. 쿼리 빌더가 이에 이상적입니다.
JMP 쿼리 빌더에 익숙하지 않으시다면, JMP 데이터 테이블에 SQL 쿼리를 생성할 수 있는 GUI를 제공하는 강력한 쿼리 도구입니다. ODBC를 통해 데이터베이스를 쿼리하고 JMP-SAS 커넥터를 통해 SAS 테이블을 쿼리하는 동일한 인터페이스를 가진 도구도 있습니다. 하지만 쿼리 빌더를 사용하기 위해 SQL을 알 필요는 없습니다. 사용자 인터페이스를 통해 쿼리를 생성하고 저장하여 재사용할 수 있으며, 기본 SQL을 살펴볼 필요도 없습니다.
JMP 테이블용 쿼리 빌더는 테이블 메뉴에서 호출됩니다. 먼저 나타나는 테이블 선택 대화 상자에서 쿼리에 조인할 테이블을 지정할 수 있습니다. 이 경우, 데이터 필터링에만 관심이 있으므로 이미 가져온 테이블을 기본 테이블로 선택하고 다음 단계로 넘어가겠습니다.

쿼리 빌더 테이블 선택
"쿼리 작성"을 선택하면 기본 쿼리 작성 대화 상자가 나타납니다. 처음 두 열에는 BLS 직업 이름과 코드가 포함되어 있는데, 아직은 다소 모호한 이름인 매트릭스 제목 과 매트릭스 코드 입니다. 코드는 중요하지 않으므로 무시하겠습니다. 직업 열의 이름이 마음에 들지 않아서 쿼리에 열을 추가한 후 "JMP 이름"을 클릭하여 편집 상자를 열고 쿼리 결과의 제목을 직책 로 변경합니다.

쿼리 후 열 이름 변경
요약 항목을 제외하기 위해 직업 유형 열도 추가하겠습니다. 실제로 추가되는 일자리 수에 관심이 있으므로 2014-2024년 고용 변화 - 숫자를 추가하겠습니다. 백분율 증가 열은 흥미롭지만 오해의 소지가 있습니다. 가장 빠르게 성장하는 직업 중 하나는 풍력 터빈 서비스 인력입니다. 하지만 5천 명에서 1만 명으로 증가하고 있으므로 다른 분야에 비해 여전히 규모가 작습니다. 따라서 백분율 증가 대신 추가된 일자리 수를 사용하겠습니다.
아들의 기준 중 하나였던 연간 중간 임금 과 일반적인 입사 교육 요건 도 추가하겠습니다. 마지막으로, 아마도 가장 중요한 열인 ' 2014-2024년 성장 및 대체 인력으로 인한 일자리 창출' 도 추가하겠습니다. 많은 직종의 성장 속도가 비교적 느리지만, 은퇴하는 근로자를 대체해야 하기 때문에 신입 근로자에게 엄청난 기회가 있습니다. 예를 들어 기계 공학 분야는 10년 동안 14,600개의 일자리(5%)가 완만한 증가세를 보였습니다. 그러나 대체 인력을 포함하면 해당 직종의 총 일자리 수는 277,500개 중 102,500개입니다! 이는 일반적인 비율입니다. 통계학자들은 해당 기간 동안 자신의 직책의 50%를 대체해야 합니다. 필터링하기 전 쿼리 작성기 열 선택은 다음과 같습니다.

필터링 전 쿼리
일자리 대체율과 증가율을 나타내는 열을 추가하고 싶습니다. '사용 가능한 열' 옆의 빨간색 삼각형 메뉴를 선택하고 '계산된 열 추가'를 선택합니다. 분자로 '채용 공고...' 를, 제수로 '2014년 고용'을 선택하고 '확인'을 클릭합니다.
계산된 열 추가
열은 계산1 이라는 이름으로 생성되었습니다. 상황에 맞는 메뉴를 사용하여 이름을 총 일자리 로 변경한 후 포함 열에 추가할 수 있습니다. 그런 다음 형식 필드를 Percentage로 변경할 수 있습니다. 변수 이름이 길기 때문에 모든 필드를 보려면 포함 열 창을 확장해야 할 수도 있습니다. 이제 필터를 사용하여 검색 범위를 좁혀 보겠습니다.
먼저, 직업 유형을 필터 패널로 끌어다 놓을 수 있습니다. 거기에서 "라인 항목"을 클릭하여 요약 유형이 아닌 행만 포함할 수 있습니다. 이제 연간 중간 임금을 필터링하여 연봉이 75,000달러를 초과하는 직업만 포함하겠습니다. 직업 유형 필터 바로 아래에 연봉을 끌어다 놓으면 기본적으로 AND 연산이 실행됩니다. 이것이 제가 원하는 것입니다. OR 연산을 원하면 OR 버튼을 클릭하여 시작해야 합니다. 또한 필요한 일반적인 교육을 입력하고 "학사 학위", "석사 학위" 및 대시(코딩되지 않음을 의미)를 확장하여 선택합니다. 마지막으로 나머지 직업 중 상당수가 관리 유형의 직업이라는 것을 알았습니다. 초급자가 관리직을 얻을 가능성은 매우 낮으므로 이러한 직책을 제외하려고 합니다. "포함" 필터를 사용하여 "포함하지 않음"으로 전환할 수 있습니다. 이를 위해 행렬 제목 변수를 끌어다 놓습니다. 그런 다음 빨간색 삼각형 드롭다운 메뉴에서 "필터 유형->포함"을 선택합니다. 직함 옆에 드롭다운 목록이 나타나면 "포함하지 않음"을 선택하고 "관리자"를 입력합니다. 이제 "임원"에도 같은 작업을 수행하여 최고 경영자(CEO)를 제거할 수 있습니다(참고로 지난 10년간 3% 감소). 완료 후 필터 목록은 다음과 같습니다.
완료된 필터
이제 "쿼리 실행"을 눌러 원하는 데이터가 포함된 테이블을 가져올 수 있습니다. 1,000개가 넘는 행을 58개로 줄였습니다. 쿼리를 저장했다가 나중에 다시 열어 수정할 수 있습니다. 테이블을 생성하는 데 사용된 쿼리는 데이터 테이블 내에 테이블 스크립트로도 저장됩니다. 쿼리를 편집하여 수행되는 작업을 확인하거나, 실행하여 데이터를 다시 생성하거나, 쿼리를 변경할 수도 있습니다(이 부분은 주의하세요).

데이터 테이블의 소스 스크립트
이제 데이터가 있으므로 그래프에서 레이블로 직책을 선택하겠습니다. Graph Builder를 시작하고 X 값에 "연간 임금 "을 입력하고 Y 값에 "채용 공고…"를 입력합니다. 좀 더 많은 정보를 입력하기 위해 색상에 "일반적인 교육 필요…"를 선택하고, 마커 크기를 전체 인력 대비 채용 공고 수를 나타내는 백분율로 설정하려면 "총 채용 공고"를 "크기" 드롭 영역으로 끌어다 놓습니다. 이 그래프를 살펴보던 중 소프트웨어 채용 공고가 꽤 눈에 띄는 것을 발견했습니다. 저는 애플리케이션 및 시스템 소프트웨어 채용 공고를 다이아몬드 마커로 만듭니다. 컴퓨터 과학 전공인 큰아들에게 이 마커를 보내서 좋은 선택을 했다고 확신시켜 줄 수 있습니다. 제목을 마지막으로 수정한 그래프는 다음과 같습니다.

JMP의 그래프 빌더 출력
큰아들에게 이 출력 결과를 대화형 HTML 보고서로 보내기로 했습니다. 아들이 작업 중이거나 데스크톱에서 게임을 할 때 포인트 위에 마우스를 올려놓고 데이터를 쉽게 살펴볼 수 있을 겁니다. 대화형 HTML은 분석 데이터를 HTML 보고서와 함께 전송하므로 민감한 데이터를 사용하는 경우 이 점에 유의해야 합니다. 파일->다른 이름으로 저장(Mac에서는 파일->내보내기)을 선택한 후 "파일 형식" 드롭다운 메뉴에서 "데이터 포함 대화형 HTML"을 선택하여 보고서를 쉽게 만들 수 있습니다. 이 독립형 보고서를 아들에게 이메일로 보내면, 아들은 웹 브라우저에서 보고서를 열고 포인트 위에 마우스를 올려놓고 확인할 수 있습니다.
Chrome의 대화형 HTML 보고서
원래 독자였던 제 작은아들은 아이패드를 많이 사용합니다. 이 데이터를 먼저 살펴보게 해 주고, 직접 더 탐색해 보도록 하고 싶습니다. 아이패드용 그래프 빌더는 JMP 데이터 테이블을 열고, 테이블 내에서 그래프 빌더 스크립트를 찾으면 자동으로 그래프 빌더로 열어줍니다. 데이터 테이블에 분석을 추가한 후, 아들이 직접 데이터를 탐색하도록 할 수 있습니다. 이 그래프에서 채용 공고의 개수를 더 강조하고 싶습니다. 채용공고…를 Y로, 직책을 X로 설정하고, 색상 범위는 급여로 설정했습니다. 하지만 너무 복잡하고 어수선해 보입니다.

초기 시도
그래프 빌더 제어판을 다시 열면 트리 맵 버튼을 한 번 클릭하기만 하면 더 마음에 드는 그래프가 나타납니다. 가장 좋은 점은 사각형 위에 마우스를 올려놓으면 더 많은 정보를 쉽게 얻을 수 있다는 것입니다.
그래프 빌더 트리 맵
데이터 테이블을 보내기 전에 그래프 빌더 스크립트를 삽입해야 합니다. 그래프 빌더 개요 노드 옆에 있는 빨간색 삼각형 드롭다운 메뉴를 사용하여 스크립트 저장 -> 데이터 테이블에 저장을 선택합니다. 스크립트 이름을 입력하라는 메시지가 표시되면 "채용 공고"로 지정하고 확인을 클릭합니다. 그러면 트리 맵 스크립트가 테이블에 삽입됩니다.
이제 Dropbox, iCloud, Google Drive 같은 클라우드 저장소 폴더에 데이터 표를 넣을 수 있습니다. iPad용 JMP Graph Builder는 이러한 상자를 어떻게 보는지 알고 있으며, 표를 iPad에 빠르게 다운로드할 수 있습니다. 처음에는 표를 선택할 수 있는 큰 JMP 아이콘만 표시됩니다.
테이블 선택 창
이것을 클릭하면 Graph Builder 앱이 표를 열고, 표에 내장된 첫 번째 Graph Builder 스크립트를 찾아 해당 분석을 표시합니다.
그래프가 자동으로 열립니다
이제 아들이 데이터와 제가 작성한 초기 분석을 받았으니, 직접 데이터와 그래프를 실험해 볼 수 있습니다. 예를 들어, "필터"를 누르고 원하는 열을 선택하여 살펴볼 수 있습니다. 예를 들어, "입사 시 필요한 일반적인 학력"을 필터링하여 어떤 직책에 학사 학위가 필요한지, 어떤 직책에 석사 학위가 필요한지 확인할 수 있습니다.

필수 학위로 필터링
Graph Builder 앱의 또 다른 훌륭한 기능은 Graph Builder 데스크톱 버전에서 제공되는 대부분의 그래프를 직접 사용해 볼 수 있다는 것입니다. 아들이 다양한 시각 자료를 보거나, 열을 드래그하여 데이터를 다르게 보고 싶어 한다면, 그렇게 할 수 있습니다. 열 이름 옆에는 드래그할 수 있음을 나타내는 "그립"이 있으며, 변수를 드래그하면 익숙한 Graph Builder 드롭 영역이 강조 표시됩니다. 마커, 배경색, 축에 대한 사용자 지정 기능도 있습니다. 아들이 출력을 다음과 같이 변경할 수도 있습니다.

iPad 앱으로 새로운 그래프 만들기
이것으로 제 작업은 끝났습니다. 각 아들에게 고려해 볼 수 있도록 인터랙티브 보고서를 보냈습니다. 아직 탐구하는 단계인 아들은 직접 보고서를 작성하여 자신의 선택에 대한 통찰력을 얻을 수 있기를 바랍니다.
SAS 연결, 텍스트 데이터 가져오기, 다른 소스에서 가져온 SPSS 데이터, Triple-S 설문 조사 데이터 등 JMP에 데이터를 가져오는 방법은 다양합니다. 파일 열기 대화 상자에서 다양한 옵션을 확인하고, 생성한 보고서는 수신자가 JMP를 사용하지 않더라도 대화형 방식으로 다른 사용자와 공유할 수 있습니다.
[1] 미국. 노동통계국. 고용 전망 . 노동통계국, 웹. 2017년 8월 18일. https://www.bls.gov/emp/ep_data_occupational_data.htm