좋은 질의는 당신을 성공으로 이끌 수 있습니다
레벨: 초보자
Brian Corcoran, SAS 연구 개발 이사, JMP
JMP는 다양한 데이터 형식을 제품에 도입하는 다양한 방법을 제공합니다. 그 이유는 충분히 명확합니다. 수년에 걸쳐 데이터를 수집하고 포맷하기 위해 개발된 도구가 많이 있습니다. 대부분의 경우 이러한 도구로는 데이터를 JMP 데이터 테이블로 변환할 수 없습니다. 분석을 위해 이 데이터를 JMP로 가져와야 합니다. 다른 경우에는 데이터가 어딘가 데이터베이스에 있을 수 있으며 시작하기 전에 추출해야 할 수도 있습니다. 데이터를 가져오는 데 귀중한 시간이 소모될 수 있습니다. JMP는 수년에 걸쳐 이 작업을 지원하는 강력한 데이터 수집 기능을 추가하도록 발전했습니다.
이 논문에서는 JMP에서 쿼리 빌더 기능을 사용하는 방법에 대한 간단한 샘플과 Excel 마법사를 사용하는 간단한 예를 제공하려고 합니다. 또한 여정이 보상이 될 수 있음을 보여주기를 바랍니다. 즉, 쿼리 자체를 준비함으로써 데이터에 대한 통찰력을 얻을 수 있습니다. 데스크톱 스크린샷에는 Windows 버전을 사용하지만 여기에서 논의하는 모든 기능은 JMP의 Mac 버전에서도 사용할 수 있습니다. JMP 14를 사용했지만 JMP 13도 논의된 모든 것을 할 수 있습니다.
이 논문은 가상의 사용 사례를 제시합니다. 여러분이 세계 동향을 연구하고 있고 세계은행 데이터베이스가 종종 귀중한 정보를 제공한다고 가정해 보겠습니다. 한 동료가 2017년 세계 개발 지표 데이터가 최근에 공개되었으며, 이 데이터를 회사 SQL Server 데이터베이스에 넣었다고 말합니다. 이것은 400,000개 이상의 관측치와 62개의 열이 있는 큰 테이블입니다. [1] JMP를 열고 파일->데이터베이스->쿼리 빌더를 선택하고 데이터베이스 연결을 열고 테이블을 가리킵니다. 쿼리 빌더의 첫 번째 화면에서 world_bank 테이블을 기본 테이블로 선택하고 "테이블 스냅샷"을 사용하여 살펴봅니다.
Query Builder Table Snapshot쿼리 빌더 테이블 스냅샷쿼리 빌더 테이블 스냅샷
일반적인 JMP 사용자에게는 다소 이상한 형식입니다. 국가 정보에 대한 변수 또는 열이 4개 있고, 그 다음에 모든 연도 데이터에 대한 열이 있습니다. 행에는 지역처럼 보이는 것이 있고 그 다음에 측정되는 데이터가 있습니다. 어떤 면에서는 일반적인 JMP 표에 대한 기대와 반대되는 것처럼 보입니다. 국가 이름 " 아랍 세계 "는 지역을 나타내는 것처럼 보이므로 이것도 혼란스럽습니다. " 지금 가져오기 " 버튼을 누르면 표가 나타나고 상황이 조금 더 명확해집니다. 가운데로 스크롤하면 행이 해당 국가로 시작하고 그 다음에 " 농촌 인구 "와 같은 특정 주제에 대한 데이터 비트가 있는 것을 볼 수 있습니다. 이것은 모두 국가별로 정렬되어 있어 직관적이지 않은 것 같습니다.
Immediate Import Table Appearance즉시 가져오기 테이블 모양즉시 가져오기 테이블 모양
다시 시작해 봅시다. 이번에는 " 지금 가져오기 " 대신 " 쿼리 빌드 "를 선택할 수 있습니다. 우리는 국가 정보가 있는 처음 네 개의 변수를 원하므로, 이를 선택하고 쿼리 빌더의 열 선택 패널의 포함된 열 탭에서 " 추가 "를 누를 수 있습니다. 여기에는 많은 데이터가 있으므로 2010-2017년의 변수만 해보겠습니다. 이 시점에서 대화 상자의 상단은 다음과 같습니다.
Initial Column Selection초기 열 선택초기 열 선택 우리는 아직 이전 상황을 개선하지 못했습니다. 이제 " 표시기 코드 " 변수를 Query Builder의 주문 기준 창으로 옮길 수 있습니다. 이렇게 하면 해당 지역이나 국가가 아니라 연구 대상 주제에 따라 데이터가 정리됩니다. 이는 분석에 더 직관적으로 보입니다.
Ordered by Indicator Code지표 코드로 정렬지표 코드로 정렬
데이터에는 여전히 문제가 있습니다. 첫째, 지금은 관심 없는 지역 그룹이 있습니다. 이러한 집계 항목을 제외하려면 어떻게 해야 합니까? 또한 "비료 소비" 와 같이 특정 항목을 쿼리하는 가장 좋은 방법은 무엇입니까?
"지표 코드"로 정렬하지 않으면 모든 데이터를 JMP로 가져온 다음 지역 그룹을 삭제하는 것도 가능할 것입니다. 하지만, 이는 데이터를 분석하는 사람에게 부담을 줍니다. 쿼리를 설정하지 않는 사람이라면 혼란스러울 수 있습니다. 쿼리 내에서 관심 있는 국가만 선택할 수 있습니다. 유럽 연합의 모든 국가를 원한다면 어떨까요? (저는 북미를 사용하려고 했지만 세계은행 정의에는 미국, 버뮤다, 캐나다만 포함되어 있습니다!) 수동으로 선택할 수도 있지만 더 나은 방법이 있습니다. 이를 위해 JMP의 또 다른 도구인 Excel Wizard를 빠르게 호출하겠습니다.
이 시나리오에서 우리가 종종 세계은행의 데이터를 조작한다고 가정해 보겠습니다. 국가 코드는 중요하지만 직관적이지 않습니다. 웹사이트를 살펴보면 알 수 있듯이 표는 종종 전체 국가 이름을 지정하지 않고 코드를 사용합니다. 이러한 코드를 별도의 표에 보관하는 것이 편리할 수 있습니다. 이러한 표는 존재하며 Excel 파일로 웹사이트에서 쉽게 가져올 수 있습니다. 따라서 이 경우 국가 및 국가 코드 표에서 Excel 마법사를 엽니다. 세계은행 웹사이트는 이를 CLASS.xls라는 모호한 표에 그룹화하지만 이름을 바꿀 수 있습니다. 파일 내에 "경제 목록"과 "그룹"이라는 두 개의 표가 있습니다. "그룹"을 살펴보겠습니다.
Preview of Groups Table in Excel FileExcel 파일에서 그룹 테이블 미리보기Excel 파일에서 그룹 테이블 미리보기
Query Builder 데이터에서 본 아랍 세계에 대한 그룹화가 있습니다.이것은 유망해 보이지만 아래로 스크롤해도 미리보기가 100개 행에서 끝나기 때문에 아직 유럽이 표시되지 않습니다." 모든 행 표시 "를 선택하면 " 유럽 및 중앙 아시아 ", " 유럽 지역 " 및 " 유럽 연합 "을 포함하여 모든 것을 볼 수 있습니다." 유럽 연합 " 그룹에는 현재 연합에 속한 모든 국가의 국가 코드가 포함되어 있습니다.이를 사용하여 Query Builder 내에서 국가를 선택할 수 있을까요?답은 예입니다.따라서 필요한 그룹만 추출해 보겠습니다.미리보기에서 " 유럽 연합 "이 있는 첫 번째 행을 선택한 다음 " 데이터 시작 행" 옆에 있는 녹색 더하기 기호를 눌러서 이를 수행할 수 있습니다.
Select the First Row in “European Union”"유럽 연합"의 첫 번째 행을 선택하세요"유럽 연합"의 첫 번째 행을 선택하세요
이제 대화 상자에서 "다음" 버튼을 누르고 " 유럽 연합 "이 있는 마지막 행을 선택하고 " 데이터가 행으로 끝남 " 옆에 있는 녹색 더하기 버튼을 누릅니다. 이렇게 하면 데이터가 관심 있는 국가로만 줄어듭니다.
이제 " 가져오기 "를 선택하여 유럽 연합 국가에 대한 28개 항목이 있는 행을 가져올 수 있습니다. 계속해서 그 결과 JMP 테이블을 "EU.jmp"로 저장하겠습니다.
이제 Query Builder로 돌아갈 수 있습니다. "국가 이름" 또는 "국가 코드"로 목록에서 선택하는 지루한 과정을 거쳐 관심 있는 국가를 선택할 수도 있습니다. 그러나 Query Builder에는 Match Column Values라는 강력한 필터 유형이 있습니다. 이를 사용하려면 먼저 " Country Code"를 필터 창으로 끌어다 놓습니다. 그러면 모든 코드가 포함된 긴 목록이 생성됩니다. 이제 " t1.국가 코드 "에서 필터 유형 의 빨간색 삼각형 메뉴를 선택하고 " 열 값 일치 "를 선택할 수 있습니다. 열려 있는 JMP 테이블의 이름을 표시하는 상자가 표시됩니다. 여전히 "EU.jmp"가 열려 있으므로 목록에 표시됩니다. 이를 선택하고 일치시키려는 변수( 국가 코드 )를 선택합니다. 이 경우 모든 국가를 원하므로 드롭다운 목록에서 " 선택된 행 "가 아닌 " 모든 행 "가 선택되었는지 확인하는 것도 중요합니다.
Selecting the Match Column Values filter일치 열 값 필터 선택일치 열 값 필터 선택
이렇게 하면 EU 국가가 관련된 관찰 결과만 표시됩니다. 여기에는 마법이 없습니다. 국가 코드를 대체하기 위해 WHERE/IN 절을 작성하고 있습니다. 쿼리 빌더 내의 SQL 창을 보면 JMP에서 생성하는 SQL을 볼 수 있습니다.
Generated SQL생성된 SQL생성된 SQL
하지만 바라건대 우리는 그 과정을 훨씬 더 쉽게 달성할 수 있게 만들었습니다. 이제 우리가 정말로 관심 있는 것으로 데이터를 좁혔으므로 분석하고 싶은 구체적인 정보를 더 쉽게 선택할 수 있게 하면 좋을 것입니다. 이를 위해 " 지표 이름"을 필터 창으로 끌어다 놓을 수 있습니다. 여기서 관심 있는 항목을 클릭한 다음 쿼리를 실행할 수도 있지만 모든 사용자에게 더 상호 작용적인 인터페이스를 제공할 수 있으면 좋을 것입니다. " t1.지표 이름" 옆의 빨간색 삼각형 메뉴를 누르고 " 실행 시 프롬프트 "를 선택할 수 있습니다. 이렇게 하면 최종 사용자에게 프롬프트의 제목을 지정할 수 있는 대화 상자가 표시됩니다.
Prompt on Run실행 시 프롬프트실행 시 프롬프트
이제 " 쿼리 실행" 버튼을 누르면 항목 목록이 표시되고 관심 있는 항목을 선택할 수 있습니다. 예를 들어 "GDP 성장률(연간 %)"을 선택하면 28행 표를 얻을 수 있습니다. 그런 다음 그래프 빌더에 넣을 수 있습니다. "국가 이름"을 지도 모양 드롭 영역으로 끌어다 놓으면 유럽 지도가 생성되고 관심 있는 연도를 끌어다 놓을 수 있습니다. 2014년 이후에는 데이터가 희소해지기 시작하므로 해당 연도를 선택하면 다음이 생성됩니다.

JMP는 "슬로바키아 공화국"이 아닌 "슬로바키아"를 찾고 있으므로 Recode를 사용할 기회가 될 수 있습니다. 이 데이터를 살펴보면 항상 비슷한 작업을 수행하게 될 것 같습니다. 지도 모양에 대한 국가 이름을 선택한 다음 결과를 검토할 관심 있는 연도를 선택합니다. 특정 연도를 반복해서 살펴볼 경우 스크립트를 저장하고 쿼리 작성기에 쿼리 후 스크립트 로 넣는 것이 좋습니다. 미리보기 창 옆에 이를 위한 탭이 있습니다. 이전 그래프로 이동하여 빨간색 삼각형 메뉴를 사용하여 스크립트 저장->스크립트 창으로 이동하면 다음과 같은 스크립트를 얻게 됩니다.
Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( Color( :Name( "2014" ) ), Shape( :Country Name ) ),
Elements( Map Shapes( Legend( 7 ) ) )
);
이것을 쿼리 후 스프레드시트 탭에 붙여넣으면, 조사하려는 관찰을 선택하면 데이터가 추출되고 JMP 테이블이 생성된 후 항상 동일한 그래프 빌더 보고서가 실행됩니다. 이렇게 하면 반복적인 작업을 크게 간소화할 수 있습니다.
Post-Query Script쿼리 후 스크립트쿼리 후 스크립트
가장 좋은 점은 쿼리를 저장할 때 최종 사용자가 쿼리 빌더 대화 상자를 보지 못하도록 설정할 수 있다는 것입니다. 쿼리 이름 필드 옆의 드롭다운 메뉴에서 " 열 때 실행 "을 선택한 다음 쿼리를 저장하면 최종 사용자는 프롬프트와 결과 테이블 및 그래프만 볼 수 있습니다.
Run on Open오픈에서 실행오픈에서 실행
Query with Run on Open started from Recent Files 최근 파일에서 시작된 Open 실행 쿼리 최근 파일에서 시작된 Open 실행 쿼리 일치하는 열 필터를 사용하는 데 한 가지 주의 사항은 일치시킬 값이 있는 테이블이 쿼리를 실행할 머신에 있어야 한다는 것입니다. 이것이 문제라면 이를 해결할 방법이 있습니다. 일치하는 열이 있는 필터를 만든 후 필터의 빨간색 삼각형 메뉴로 이동합니다. 이 예의 경우 " t1.Country Code"입니다. 필터 유형 -> 수동 목록을 선택합니다. 이렇게 하면 일치하는 열 필터가 만든 값이 SQL에 사용될 텍스트 목록으로 가져옵니다. 그러면 다음에 저장할 때 쿼리에 저장되고 더 이상 일치시킬 데이터 테이블이 필요하지 않습니다. 이 방법의 단점은 선택한 일치하는 값을 동적으로 변경하고 쿼리를 변경할 수 있는 기능이 손실된다는 것입니다.
이 시점에서 우리는 많은 양의 혼란스러운 데이터를 걸러내고 최종 사용자에게 제공할 수 있는 반복 가능한 쿼리와 분석을 만들었습니다. 쿼리를 사용하는 사람은 쿼리에 대한 지식이 전혀 필요하지 않고, JMP에 대한 지식도 전혀 필요하지 않습니다.
사용된 규칙:
쿼리 빌더 창은 굵게 표시 됩니다.
버튼/대화 상자 컨트롤은 " 따옴표로 묶이고 굵게 표시됨"
변수/열 이름은 " 따옴표로 묶고 기울임체로 표시 "됩니다.
[1] 세계은행그룹. 세계개발지표(World Development Indicators) , 세계은행그룹, nd 웹. 2018년 1월 25일. https://datacatalog.worldbank.org/dataset/world-development-indicators . Create Commons CC BY 4.0 라이선스에 따라 획득.