다중 테이블 조인
다중 테이블 조인 단계는 시각적 조인 그래프 디자이너로 여러 테이블(최대 32개)을 한 번의 작업으로 조인하며, 두 테이블 조인 단계를 여러 개 연결하던 방식을 대체합니다. 테이블을 추가하고, 열 사이에 조인을 그리고, 조인마다 조인 유형과 조건을 선택한 다음 출력 열을 매핑합니다. 편집기에는 Tables & Joins, 출력 열, Post-Join Filter의 세 탭이 있습니다.
전체 안내는 다중 테이블 조인 단계 가이드를 참조하십시오.
디자이너
섹션 제목: “디자이너”- 테이블 추가 — 소스 테이블을 열 카드 형태로 캔버스에 배치합니다. 각 테이블에는
alias.column형태로 사용되는 별칭이 있으며, 별칭은 문자나 밑줄로 시작해야 하고 SQL 키워드일 수 없습니다. - 대상 테이블 — 조인 결과를 기록할 테이블이며, 없으면 만들어집니다.
- 동적 — 소스나 대상을 직접 고르는 대신 참조로 지정합니다. 테이블 이름, 프로젝트 경로(
/03 Results/FACT_GL), 또는 실행 시점에 확인되는{variable}토큰이 포함된 이름이나 경로를 사용할 수 있습니다. 동적 소스의 열은 설계 시점에 읽을 수 없으므로 측면 패널에서 직접 입력합니다. - 조인 그리기 — 한 테이블의 열 점에서 다른 테이블의 열로 끌어 놓아 조인을 만듭니다. 선택 사항인 레이블로 간선에 이름을 붙일 수 있습니다.
- 인바운드 필터 — 조인 전에 적용되는 테이블별 필터입니다.
- 서버에서 다시 가져오기 — 최신 카탈로그에서 테이블 카드의 열을 새로 고칩니다.
- 레이아웃 정리 / 보기에 맞춤 — 그래프를 자동 정렬하거나 화면에 맞게 확대/축소합니다. 이동과 확대/축소는 수동으로도 할 수 있습니다.
- 실행 취소 / 다시 실행 / 기록 — 편집 내용을 단계별로 이동하고, 검토하고, 복원합니다.
- 열 필터링… — 테이블 카드에 표시되는 열을 좁힙니다.
- 내보내기 — 조인 다이어그램을 SVG로 다운로드합니다.
조인 유형
섹션 제목: “조인 유형”| 유형 | 유지되는 행 |
|---|---|
INNER |
조인된 테이블 간에 일치하는 행. |
LEFT |
왼쪽 테이블의 모든 행과 오른쪽 테이블에서 일치하는 행. |
FULL |
두 테이블의 모든 행. |
CROSS |
모든 행 조합(조건은 허용되지 않음). |
교차 조인이 아닌 각 조인에는 AND / OR로 결합된 하나 이상의 조건이 있으며, 연산자 =, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE를 사용할 수 있습니다.
조건에서는 Build Plant나 Cust (Id)처럼 이름에 공백이나 구두점이 있는 열도 지정할 수 있으며, 해당 열이 그 입력에 있어야 합니다. 큰따옴표, 백틱, 백슬래시 또는 제어 문자가 포함된 이름은 거부됩니다.
BETWEEN에서 입력의 별칭, 점, 열 순서로 쓴 경계(cust.Max Id)는 해당 입력의 열로 해석됩니다. 점이 없는 별칭 이름만 쓴 경우를 포함해 그 밖의 경계는 모두 리터럴 텍스트로 처리됩니다. 따라서 입력의 별칭이 cust일 때 cust.2024처럼 별칭과 점으로 시작하는 텍스트 경계는 열로 해석되어 없는 열로 보고됩니다.
출력 열 탭에서 결과 열을 매핑하고, 필요에 따라 이름 바꾸기, 데이터 유형 설정, 집계를 수행합니다. 이름이 같은 열은 충돌을 피하기 위해 소스 별칭이 자동으로 접두사로 붙습니다.
각 행은 다음 세 필드 중 정확히 하나에서 값을 가져옵니다. 둘 이상을 설정하거나 하나도 설정하지 않으면 거부됩니다.
| 종류 | 필드 |
|---|---|
| 소스 열 | 소스 별칭(해당 열을 가진 캔버스 별칭)과 소스(alias.column). 둘 다 필수입니다. |
| 상수 | 상수 — 모든 행에서 동일한 고정 값. |
| 식 | 식 — alias.column 형태로 모든 캔버스 별칭을 참조할 수 있는 SQLAlchemy 식. |
- 캔버스에서 선택… — 캔버스에 있는 모든 소스의 열 중에서 선택합니다.
- 모든 소스 열 추가 — 모든 소스의 모든 열을 추가합니다.
- 표현식 열 추가 — 식 행을 추가하고 식 편집기를 엽니다.
Post-Join Filter 탭은 결과를 기록하기 전에 조인 결과에 선택적 필터(SQL HAVING에 해당)를 적용하며, 같은 식 편집기에서 편집합니다. 출력 열은 result.column_name으로 참조하며, 소스 별칭은 여기서 사용할 수 없습니다.
실행 시점에 지정된 열
섹션 제목: “실행 시점에 지정된 열”실행 시점에 지정된 열도 함께 전달을 선택하면 단계에 나열하지 않은 모든 소스 열이 단계 실행 시점의 테이블 상태 그대로 변경 없이 전달됩니다. 피벗처럼 이전 단계에서 데이터에 따라 열 이름이 결정되는 열을 만들어 단계를 구성할 때 열을 미리 나열할 수 없는 경우에 사용합니다. 선택하지 않으면 나열한 열만 기록됩니다.
- 조인 그래프는 트리입니다. 각 테이블은 정확히 하나의 간선을 통해 결과에 조인되며(순환 없음), 테이블이 자기 자신에 조인할 수는 없습니다.
- 구성은 단계를 저장할 때와 실행할 때 모두 검증됩니다. 오류가 있으면 해당 테이블이나 조인에 ⚠ 표시가 붙고, 저장에 실패하면 첫 번째 문제가 있는 탭으로 전환되며, 문제로 이동을 선택하면 필요할 때 그곳으로 이동합니다. 출력 열 식과 Post-Join Filter는 저장할 때 검사되며, 실행 시점에 지정된 열을 전달하는 조인은 저장할 때 식 검사를 건너뛰고 단계를 실행할 때 검사됩니다.