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

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