발행일 : 03/10/2025

SQL 쿼리 생성

데이터베이스 테이블을 선택한 후에는 데이터를 가져오거나 쿼리를 생성합니다. 쿼리 빌더를 사용하면 SQL 표현식을 작성하지 않고 대화식으로 데이터베이스 쿼리를 생성할 수 있습니다.

데이터베이스 테이블을 선택하고 필요한 경우 이를 결합한 후 쿼리 생성을 클릭하여 쿼리 빌더 창을 엽니다. 계속해서 포함할 열을 선택하고 표집 및 필터링 기준을 지정하여 쿼리를 구체화할 수 있습니다. 쿼리를 저장했다가 나중에 다시 편집 및 실행할 수도 있습니다.

"사용 가능한 열" 목록에는 모든 데이터베이스 테이블의 열이 표시됩니다. t1 및 t2와 같은 접두사(별칭이라고도 함)는 각 열을 해당하는 데이터베이스 테이블과 연결합니다.

쿼리 빌더 단계를 건너뛰고 모든 데이터를 가져오려면 그 대신 지금 가져오기를 클릭합니다.

참고: "테이블" 메뉴의 "JMP 쿼리 빌더"에서도 동일한 여러 옵션을 제공하지만 이를 통해서는 JMP 데이터 테이블을 쿼리하고 결합할 수 있습니다. 자세한 내용은 JMP 쿼리 빌더를 사용하여 데이터 테이블 쿼리 및 결합에서 확인하십시오.

데이터베이스 테이블에서 열 선택

영화 장르, 등급, 그리고 결혼 여부 및 연령 같은 인구 통계학 데이터별로 영화 대여 정보를 확인하려고 한다고 가정하겠습니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창에서 g6_Customers를 선택하고 기본을 클릭합니다.

3. g6_Moviesg6_Rentals를 선택하고 보조를 클릭합니다.

4. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

5. "사용 가능한 열" 상자에서 t1.Gender, t1.Age, t1.Married, t1.KidsUnder12, t2.Ratingt2.Genre를 선택합니다.

6. "포함된 열" 탭에서 추가를 클릭합니다.

그림 3.39 선택한 열 

Selected Columns

참고:

쿼리에 8개 이상의 테이블이 포함되어 있으면 왼쪽 상단 부분의 테이블 이름 위에 검색 상자가 나타납니다. 긴 목록에서 열을 찾으려면 "사용 가능한 열" 아래의 검색 상자에 이름을 입력하십시오. 빨간색 삼각형 메뉴를 클릭하면 대/소문자를 구분하거나 정규 표현식을 사용하여 검색하기 위한 옵션이 표시됩니다. 검색 상자를 숨기려면 "사용 가능한 열"의 빨간색 삼각형 메뉴에서 검색 상자 표시를 선택 취소하십시오.

참조 열은 쿼리에서 지원되지 않으므로 "사용 가능한 열" 목록에 더 이상 나타나지 않습니다.

"포함된 열" 목록의 "형식" 목록에서 옵션을 선택하여 열 너비를 변경할 수 있습니다.

7. 열 아래의 SQL 탭을 선택하여 쿼리의 SQL 문을 확인합니다. 이 코드는 쿼리를 실행한 후에 데이터 테이블 특성으로 저장됩니다.

8. 오른쪽 하단에서 저장을 클릭합니다.

작업이 g6_Customers.jmpquery로 저장됩니다. 나중에 이 파일을 열어 이 지점으로 돌아오거나 쿼리를 실행할 수 있습니다.

9. 쿼리 실행을 클릭하여 데이터를 가져옵니다.

데이터 테이블에는 다음과 같은 스크립트가 포함되어 있습니다.

데이터베이스에 다시 연결하고 데이터를 가져오려면 "소스" 스크립트를 실행합니다.

쿼리 빌더에서 쿼리를 열려면 "쿼리 수정" 스크립트를 실행합니다.

데이터를 다시 가져오고 새로 고치려면 "데이터베이스에서 업데이트" 스크립트를 실행합니다.

팁:

열 이름을 바꾸려면 "포함된 열" 탭에서 JMP 이름을 두 번 클릭하고 새 이름을 입력하십시오.

별칭 이름을 바꾸려면 "쿼리할 테이블 선택" 창에서 테이블을 마우스 오른쪽 버튼으로 클릭하고 별칭 변경을 선택하십시오. 별칭은 대/소문자가 구분되지 않습니다.

"쿼리 빌더"의 "ODBC" 환경 설정에서 가능한 경우 백그라운드에서 쿼리 실행을 선택 취소하지 않은 한 쿼리는 백그라운드에서 실행됩니다. 보기 > 실행 중인 쿼리를 선택하여 모든 ODBC 쿼리의 진행률을 확인할 수도 있습니다.

미리보기 로드 속도가 너무 느리면 미리보기 자동 업데이트를 선택 취소하십시오. 데이터 보기를 업데이트하려면 "쿼리 미리보기" 탭 아래의 업데이트를 클릭하십시오. 큰 데이터베이스를 사용하여 작업할 때가 많은 경우 JMP "쿼리 빌더" 환경 설정에서 미리보기 옵션을 변경하는 것이 좋습니다. 미리 볼 수 있는 최대 행 수를 제한하는 것이 좋습니다. JMP "쿼리 빌더" 환경 설정에서 미리보기 최대 행 수의 값을 변경하십시오.

데이터베이스에서 중복 행을 생략하려면 "포함된 열" 탭에서 구분되는 행만을 선택하십시오.

JMP 12와의 호환성 유지

쿼리에 JMP 18 기능을 추가하면 해당 쿼리는 JMP 12에서 더 이상 로드되지 않습니다. JMP 13을 사용하고 있지만 JMP 12에서도 실행되는 쿼리를 생성해야 하는 경우 "쿼리 빌더" 환경 설정에서 이 쿼리를 JMP 12와 호환되는 상태로 유지를 선택하십시오. 이 옵션을 선택한 후에는 호환성 문제를 발생시키는 기능이 쿼리 빌더에서 숨겨집니다.

JMP 12 쿼리를 최근 버전으로 이동할 준비가 되었으면 이 환경 설정을 선택 취소하십시오.

계산된 열 생성

기존 열에서 새 열을 생성할 수 있습니다. 예를 들어 두 열의 평균을 계산하여 새 열에 저장할 수 있습니다. 날짜/시간 값은 형식이 잘못될 수 있습니다. "사용 가능한 열"의 빨간색 삼각형을 클릭하고 계산된 열 추가를 선택한 다음 계산식 편집기에서 새 열을 생성하십시오.

예를 들어 한 영화를 대여 기간 동안 볼 수 있는 최대 횟수를 계산하려고 한다고 가정합니다. 각 영화의 길이와 영화가 체크아웃된 기간(일)이 포함되어 있는 데이터베이스를 쿼리하려고 합니다. 이 예에서는 이러한 데이터에서 계산된 열을 새로 생성하는 방법을 보여 줍니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창에서 기본 테이블로 g6_Rentals를 선택하고 보조 테이블로 g6_Movies를 선택합니다.

3. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

4. "사용 가능한 열"의 빨간색 삼각형을 클릭하고 계산된 열 추가를 선택합니다.

"계산된 열" 창이 나타납니다. 이 창에는 JMP 계산식 편집기가 포함되어 있습니다.

그림 3.40 계산식 편집기가 포함된 계산된 열 창 

Computed Column Window with Formula Editor

참고:

연산자와 함수는 계산식 편집기의 왼쪽에 있는 목록에서 제공됩니다(Figure 3.40). 일부 경우에는 데이터베이스에 따라 서버 유형을 변경해야 할 수 있습니다.

연산자 목록에서 연결(||) 연산자는 제공되지 않습니다. 해당 계산식은 계산식 편집기 상자에서 직접 입력해야 합니다.

5. 왼쪽의 g6_Rentals 목록에서 DaysOut을 선택하고 곱하기 Image shown here 버튼을 클릭합니다.

그림 3.41 계산된 열 

Computed Column

6. 빈 상자를 선택하고 (24 * 60을 입력한 후 Enter 키를 누릅니다.

이 계산식은 하루의 시간 수에 한 시간의 분 수를 곱합니다. 첫 번째 괄호를 입력하면 두 번째 괄호는 자동으로 삽입됩니다.

그림 3.42 계산식의 첫 번째 부분 

First Portion of the Formula

7. 바깥쪽 상자를 클릭하여 전체 방정식을 선택하고 나누기 Image shown here 버튼을 클릭합니다.

8. 왼쪽 목록에서 g6_Movies를 선택한 후 LengthMins를 선택합니다.

그림 3.43 계산식의 두 번째 부분 

Second Portion of the Formula

9. 확인을 클릭합니다.

Calc1이라는 새 열이 생성됩니다.

10. 이 열을 마우스 오른쪽 버튼으로 클릭하고 열 이름 바꾸기를 선택합니다.

11. MaximumTimesWatched를 입력하고 확인을 클릭합니다.

12. "사용 가능한 열" 목록에서 MaximumTimesWatched를 선택하고 추가를 클릭합니다.

13. t2.Name을 선택하고 추가를 클릭합니다.

"쿼리 미리보기" 탭을 확인하면 Nanny McPhee는 대여한 영화를 대여 기간 동안 160회 볼 수 있는 것으로 나타납니다.

공통 값 그룹화

데이터를 JMP로 가져오기 전에 열의 공통 값을 결합(또는 그룹화)할 수 있습니다. 공통 값을 그룹화하려면 집계 함수를 선택하여 공통 값 계산 방식을 결정하십시오.

참고: 집계 지원은 데이터베이스에 따라 달라집니다. 자세한 내용은 데이터베이스 설명서에서 확인하십시오.

특정 영화가 대여된 횟수에 관심이 있다고 가정해 보겠습니다. 이 예에서는 각 항목 번호의 개수를 계산하고 공통된 영화 값을 단일 행에 그룹화합니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창에서 기본 테이블로 g6_Movies를 선택하고 보조 테이블로 g6_Rentals를 선택합니다.

3. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

4. "사용 가능한 열" 상자에서 t1.Namet2.ItemNo를 선택하고 추가를 클릭합니다.

5. t2.ItemNo를 선택하고 "집계" 목록에서 개수를 선택합니다.

t1.Name에는 "그룹화 기준" 체크박스가 선택되어 있습니다. 그러면 특정 영화 이름의 모든 인스턴스가 하나의 행에 그룹화됩니다.

그림 3.44 그룹화된 열 

Grouped Columns

6. 쿼리 실행을 클릭하여 데이터를 가져옵니다.

7. 데이터 테이블에서 Count-ItemNo 열을 마우스 오른쪽 버튼으로 클릭하고 정렬 > 내림차순을 선택합니다.

Scarface가 가장 빈번하게 대여되었습니다.

그림 3.45 정렬된 Count-ItemNo 열(일부) 

Partial View of the Sorted Count-ItemNo Column

팁:

그룹화된 행을 지우려면 해당 열의 "집계" 목록에서 없음을 선택하십시오.

DISTINCT 집계 함수는 구분되는 값이 포함된 행만 보여 줍니다. 중복 값이 있는 행은 생략됩니다. 이러한 함수는 데이터베이스에 중복 값이 여러 개 포함된 경우에 유용합니다.

데이터 표본 가져오기

데이터베이스가 클 경우 데이터를 표집하는 것이 좋습니다. 표집 기능은 행의 부분집합을 반환하며 쿼리 시간을 줄여 줍니다. 데이터베이스 쿼리가 실행되어 사용자가 "표본" 탭에서 선택한 옵션에 따라 데이터의 일부만 가져오게 됩니다.

표집 방법은 데이터베이스 벤더에 따라 달라집니다.

SQL Server는 기본적으로 블록 표집을 지원합니다. 블록 표본에는 특정 페이지 전체의 행(예: 1페이지와 5페이지의 모든 행)이 포함됩니다. 1,000개의 행을 선택하면 약 1,000개의 행을 가져오게 됩니다.

Oracle 및 기타 데이터베이스는 행 표집을 지원합니다. 5,000개의 행을 선택하면 일반적으로 Oracle의 데이터 순환 방식에 따라 표본당 4,800개에서 5,200개 사이의 행을 가져오게 됩니다.

주요 데이터베이스 벤더의 경우 JMP가 기능을 감지하고 가능한 경우 벤더에 맞는 옵션을 제공합니다. 벤더가 지원하지 않는 기능은 "표본" 탭에서 사용할 수 없습니다.

데이터 표본을 가져오려고 한다고 가정해 보겠습니다. 이 예에서는 5,000개의 랜덤 행을 선택합니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창에서 기본 테이블로 g6_Rentals를 선택하고 보조 테이블로 g6_Movies를 선택합니다.

3. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

4. "포함된 열" 탭에서 모두 추가 버튼을 클릭합니다.

5. 표본 탭을 클릭하고 이 결과 집합 표집을 선택합니다.

6. 임의 N개 행을 선택하고 5,000을 입력합니다.

"표집 기준" 영역에는 데이터베이스가 지원하는 표집 유형에 따라 "블록 또는 페이지" 옵션만 표시됩니다.

7. 쿼리 실행을 클릭하여 데이터를 가져옵니다.

새 데이터 테이블이 약 5,000개의 행으로 구성됩니다. 블록 또는 페이지 표집을 사용하는 경우, 예를 들어 한 번은 4,900개의 행, 다음엔 5,600개의 행으로 구성된 표본을 얻을 수 있습니다.

팁:

쿼리를 실행할 때마다 동일한 표본 집합을 다시 생성하려면 시드값을 최대 64,000인 양의 정수로 설정하십시오. 예를 들어 성별을 기준으로 영화 대여 정보를 쿼리하려고 한다고 가정해 보겠습니다. 시드값으로 1을 입력하고 쿼리를 실행해 보십시오. 결과에서 남성 고객의 분포가 낮게 나타난다면 시드값으로 2를 입력하고 쿼리를 다시 실행해 보십시오. 남성과 여성의 분포가 유사하게 되는 시드값을 찾을 때까지 이 프로세스를 반복하십시오.

"포함된 열" 탭에 개별 열을 추가하려면 해당 열을 마우스 오른쪽 버튼으로 클릭하고 열 포함을 선택하거나 추가 버튼을 클릭하십시오.

필터를 선택하여 데이터 부분집합 가져오기

선택한 필터로 얻은 값의 부분집합을 데이터 테이블로 가져오려면 필터를 추가하십시오. 일부 필터는 쿼리가 JMP 12와 호환되지 않는 경우에는 사용할 수 없습니다. 자세한 내용은 JMP 12와의 호환성 유지에서 확인하십시오.

연속형 및 범주형 열에 사용 가능한 필터

단순 비교

지정된 연산자를 사용하여 값을 매칭합니다.

Age > 14는 14세를 초과하는 연령과 매칭됩니다.

범위

지정된 연산자를 사용하여 값 범위를 매칭합니다.

12 ≤ Age ≤ 17은 12세 이상 17세 이하인 연령과 매칭됩니다.

Is NULL 또는 Is Not NULL

결측값을 매칭합니다.

NULL 또는 not NULL은 결측값과 비결측값을 매칭합니다.

사용자 표현식

SQL 표현식을 직접 작성할 수 있습니다.

(  (  ( t2.Gender IN  ( 'F' )  )  AND  (  (t2.Age >= 20)  AND  (t2.Age <= 50)  )  )  )

이 표현식은 F Gender와 매칭됩니다. 또한 20세 이상 50세 이하인 Age와도 매칭됩니다.

범주형 열에만 사용 가능한 필터

목록 상자

하나 이상의 값을 선택할 수 있는 목록 상자를 표시합니다. 목록 상자는 "쿼리 빌더" 환경 설정에 따라 범주형 열의 기본 필터입니다.

수동 목록

열 값을 직접 입력할 수 있습니다.

체크박스 목록

체크박스 목록을 표시합니다.

참고: 목록 상자, 수동 목록 및 체크박스 목록에는 선택된 값과 매칭되지 않는 행을 검색할 수 있는 목록에 없음 옵션이 포함되어 있습니다.

Contains

지정된 값을 포함하거나 포함하지 않는 문자열을 매칭합니다. Contains Comedy OR Romance는 Comedy 및 Romance를 매칭합니다.

대부분의 범주형 열에 대한 기본 필터는 목록 상자입니다. 포함된 수준이 1,000개를 초과하는 열의 경우에는 "포함" 필터가 자동으로 선택됩니다. "쿼리 빌더" 환경 설정에서 이 수준 수를 변경할 수 있습니다.

같음 또는 같지 않음

지정된 값과 유사하거나 유사하지 않은 문자열을 매칭합니다. % 와일드카드(0개 이상의 문자)와 _ 와일드카드(정확히 1개의 문자)를 지원합니다.

Genre Like %com은 "RomCom"과 같이 "com" 앞에 임의 개수의 문자가 있는 경우를 매칭합니다. "Comedy"도 매칭하려면 %com% 또는 Contains com을 사용합니다.

열 값 매칭

지정된 열 값을 매칭합니다. 테이블을 선택한 후 열을 선택합니다. 매칭되지 않는 항목 선택 옵션을 사용하면 선택한 행을 제외한 모든 행을 필터링할 수 있습니다. 예는 기존 데이터 테이블에서 매칭되는 데이터 가져오기에서 확인하십시오.

이 예에서는 연령 30세 이상인 고객과 RomCom 및 Comedy 장르의 영화에 대한 데이터를 가져오는 방법을 보여 줍니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창의 "사용 가능한 테이블" 목록에서 g6_Rentals를 선택한 후 기본을 클릭합니다.

3. g6_Customersg6_Movies를 선택한 후 보조를 클릭합니다.

4. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

5. "사용 가능한 열" 상자에서 t2.Gender, t2.Aget3.Genre를 선택한 후 "포함된 열" 탭에서 추가를 클릭합니다.

6. "포함된 열" 탭의 모든 열을 선택하고 선택한 항목을 필터에 추가 Image shown here를 클릭합니다.

"필터" 개요에 해당 열에 대한 필터가 나타납니다.

7. t2.Age 필터를 "≥ 30"으로 설정합니다.

8. t3.Genre의 빨간색 삼각형을 클릭하고 Like를 선택하고 %com%를 입력한 후 Enter 키를 누릅니다.

% 와일드카드는 "com" 앞뒤에 임의 개수의 문자가 있는 경우를 매칭합니다. "쿼리 미리보기" 탭에 RomCom 및 Comedy 장르의 영화가 모두 표시됩니다.

그림 3.46 필터 선택 

Selecting Filters

9. "필터"의 빨간색 삼각형을 클릭하고 실행 시 항상 확인을 선택합니다.

그러면 이 쿼리를 실행하는 사용자가 필터를 사용자 정의할 수 있습니다.

10. 쿼리 실행을 클릭합니다.

11. "쿼리 확인" 창에서 확인을 클릭하여 사전 선택한 필터를 적용하고 데이터를 가져옵니다.

참고:

대부분의 범주형 열에 대한 기본 필터는 목록 상자입니다. 포함된 수준이 1,000개를 초과하는 열의 경우에는 "포함" 필터가 자동으로 선택됩니다. "쿼리 빌더" 환경 설정에서 이 수준 수를 변경할 수 있습니다.

필터의 빨간색 삼각형 메뉴에 있는 "조건부" 옵션을 사용하면 계층적 범주 내의 데이터를 필터링할 수 있습니다. 예를 들어 State(주) 필터와 City(도시) 필터가 있다고 가정해 보겠습니다. 주를 선택한 후 해당 주에 있는 도시만 표시하려면 "City"의 빨간색 삼각형을 클릭하고 "조건부"를 선택하십시오.

"필터" 목록의 상단에 있는 "반전" 옵션을 사용하면 모든 필터에 대해 지정한 행을 제외한 모든 행을 선택할 수 있습니다. 모든 행을 선택하는 필터에는 이 옵션을 사용할 수 없습니다.

필터 목록의 "<공백>"은 데이터베이스에 해당 열에 대한 결측값이 포함되어 있음을 나타냅니다.

범주형 데이터가 있는 큰 열에 대한 필터를 생성할 경우 JMP는 테이블의 행 수를 확인하려고 합니다.

크기를 확인할 수 없는 테이블에 대한 범주 수준 가져오기라는 "쿼리 빌더" 환경 설정이 기본적으로 선택되어 있으므로 JMP는 수준을 자동으로 가져옵니다. 이 환경 설정을 선택 취소하면 "쿼리 빌더" 환경 설정에서 범주형 열에 대한 대체 필터 유형 "포함"이 선택됩니다.

범주형 열의 행 수가 백만 개를 초과할 경우 JMP는 필터링된 열에 대해 고유한 범주 수준을 자동으로 가져오지 않습니다. 범주 수준을 자동으로 가져오는 테이블의 최대 행 수라는 "쿼리 빌더" 환경 설정에서는 최소 -1(제한 없음)부터 최대 1,000,000,000(10억 개의 행)까지 지원됩니다.

"쿼리 빌더" 환경 설정에서 이 쿼리를 JMP 12와 호환되는 상태로 유지가 선택되어 있지 않은 한 범주형 열의 기본 필터는 목록 상자입니다.

기존 데이터 테이블에서 매칭되는 데이터 가져오기

열려 있는 데이터 테이블에서 쿼리의 열과 매칭되는 행을 선택할 수도 있습니다. 항공사 데이터의 데이터베이스를 예로 들겠습니다. 이 데이터베이스에는 비행 시간 및 등록 번호 같은 데이터가 포함되어 있습니다. 또한 사용자에게도 등록 번호 데이터가 포함된 데이터 테이블이 있습니다. 이 경우 "열 값 매칭" 필터를 사용하여 매칭되는 등록 번호에 대한 데이터만 가져올 수 있습니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 도움말 > 샘플 데이터 폴더를 선택하고 Air Traffic.jmp를 엽니다.

2. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

3. "쿼리할 테이블 선택" 창의 "사용 가능한 테이블" 목록에서 g5_AIRLINE_ONTIMEPERF를 선택한 후 기본을 클릭합니다.

4. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

5. "포함된 열" 탭에서 모두 추가를 클릭합니다.

6. "포함된 열" 탭에서 t1.TailNum을 선택하고 선택한 항목을 필터에 추가 Image shown here를 클릭합니다.

7. "필터" 열에 있는 t1.TailNum의 빨간색 삼각형을 클릭하고 필터 유형을 선택한 후 열 값 매칭을 선택합니다.

8. 테이블의 매칭 값 아래에서 Air Traffic을 선택합니다.

9. Tail Number 열을 선택한 후 목록에서 모든 행 (38,118)을 선택합니다.

"쿼리 미리보기" 탭의 데이터 보기가 업데이트되어 필터링된 값이 표시됩니다.

10. 쿼리 실행을 클릭하여 데이터를 가져옵니다.

데이터 테이블에 Tail Number 열에 있는 행의 데이터만 포함됩니다.

사용자 표현식을 작성하여 데이터 부분집합 가져오기

필터를 선택하여 데이터의 부분집합을 추출할 수 있을 뿐만 아니라, 제공된 필터를 사용하지 않으려는 경우에는 사용자 SQL 표현식을 작성할 수 있습니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 필터링할 열을 선택합니다(필터를 선택하여 데이터 부분집합 가져오기 참조).

2. "필터"의 빨간색 삼각형을 클릭하고 사용자 표현식 추가를 선택합니다.

3. "사용자 표현식" 상자에 다음 텍스트를 입력합니다.

(  (  ( t2.Gender IN  ( 'F' )  )  AND  (  (t2.Age >= 20)  AND  (t2.Age <= 50)  )  )  )

4. "사용자 표현식" 상자의 바깥쪽을 클릭하여 "쿼리 미리보기" 탭을 업데이트합니다.

이 표현식은 F Gender와 매칭됩니다. 또한 20세 이상 50세 이하인 Age와도 매칭됩니다.

그림 3.47 사용자 필터 표현식 작성 

Writing a Custom Filter Expression

선택한 데이터 정렬

특정 열의 행을 값을 기준으로 정렬하여 데이터 테이블에 데이터가 표시되는 방식을 제어할 수 있습니다. 이 예에서는 "Married" 열을 내림차순으로 정렬하고, 연령순 및 키순으로 데이터를 정렬합니다.

참고: 쿼리 빌더 예는 JMP와 함께 설치되지 않은 데이터베이스를 기반으로 합니다.

1. 파일 > 새로 만들기 > 데이터베이스 쿼리를 선택하고, 데이터베이스에 연결하고, SQBTest 스키마를 선택합니다. 자세한 내용은 테이블 열기를 사용하여 데이터베이스에 연결에서 확인하십시오.

2. "쿼리할 테이블 선택" 창에서 g4_bigclass를 기본 테이블로 선택합니다.

3. 쿼리 생성을 클릭하여 쿼리 빌더 창을 표시합니다.

4. "포함된 열" 탭에서 모두 추가를 클릭합니다.

5. t1.aget1.height를 선택하고 선택한 항목을 기준으로 정렬 Image shown here을 클릭합니다.

오른쪽 열의 "정렬 기준" 개요에 해당 열이 나타납니다.

열은 먼저 연령을 기준으로(가장 적은 연령부터 가장 많은 연령의 순서) 정렬된 후 신장을 기준으로(가장 작은 키부터 가장 큰 키의 순서) 정렬됩니다.

그림 3.48 정렬 기준 열 선택 

Selecting the Order By Columns

6. "정렬 기준" 개요에서 t1.height를 선택한 후 열 아래에서 값을 내림차순으로 정렬합니다. Image shown here를 클릭합니다.

height 열이 가장 큰 키부터 가장 작은 키의 순서로 정렬됩니다.

7. t1.height를 선택하고 선택한 항목을 목록에서 위쪽으로 이동 Image shown here을 클릭합니다.

height 열이 먼저 정렬됩니다. 그런 다음 height의 각 수준 내에서 age 열의 값이 정렬됩니다. height 68의 경우 age가 14부터 17의 순서로 정렬됩니다.

그림 3.49 열 재정렬 결과 

Result of Reordering Columns

쿼리 상태 보기

"쿼리 상태" 탭에서는 쿼리가 백그라운드에서 실행되는 동안 쿼리 상태를 볼 수 있습니다. 쿼리 이름, SQL 문 및 처리된 레코드 수가 나타납니다. 언제든지 쿼리를 중지하고 처리된 레코드만 볼 수 있습니다. 다른 JMP 창에서 백그라운드 쿼리를 보려면 보기 > 실행 중인 쿼리를 선택합니다. "쿼리 빌더" 환경 설정에서 가능한 경우 백그라운드에서 쿼리 실행을 선택 취소한 경우에는 상태 상세 정보를 사용할 수 없습니다.

쿼리 후 스크립트 작성

"쿼리 후 스크립트" 탭에서는 쿼리를 실행한 후에 실행되는 JSL 스크립트를 작성할 수 있습니다. 예를 들어 데이터를 가져온 후 분포를 생성하려는 경우가 있습니다.

Distribution( Column( :age, :gender ) );

이 스크립트는 최종 데이터 테이블에 포함된 소스 스크립트의 일부입니다.

더 많은 정보를 원하십니까? 질문이 있습니까? JMP 사용자 커뮤니티에서 답변 받기 (community.jmp.com).