콘텐츠로 이동

다중 테이블 조인 단계

다중 테이블 조인 단계는 하나의 작업으로 여러 테이블을 조인합니다. 2개 테이블 조인을 연쇄적으로 연결하면 전체 그림을 놓치고 동일한 출력 매핑을 반복해야 하지만, 이 단계에서는 모든 테이블을 시각적 조인 그래프 디자이너에 배치하고, 테이블의 열 사이에 조인을 그려서 하나의 결과 테이블을 만들 수 있습니다.

하나의 팩트 테이블을 여러 차원 테이블 또는 조회 테이블에 조인하는 일반적인 분석 조인 형태를 위해 만들어졌습니다. 한 번에 최대 32개의 테이블을 조인할 수 있습니다.

다른 단계와 마찬가지로 추가한 다음 다중 테이블 조인을 선택합니다(단계 메뉴의 테이블 그룹 아래에 있으며, 고급 워크플로 캔버스에서는 팔레트에서 끌어다 놓을 수도 있습니다). 단계 편집기에는 세 개의 탭이 있습니다.

  1. Tables & Joins: 테이블을 추가하고 조인을 그리는 시각적 디자이너입니다.
  2. 출력 열: 결과 테이블에 포함될 열입니다.
  3. Post-Join Filter: 조인된 결과에 적용되는 선택적 필터입니다.

작업하는 동안 상태 표시기에 저장 준비됨 또는 저장되지 않은 변경 사항이 표시됩니다.

테이블 추가를 선택하면 소스 테이블이 캔버스에 배치됩니다. 각 테이블은 열 목록이 표시된 카드로 나타나며, 별칭을 갖습니다. 별칭은 다른 곳에서 해당 테이블의 열을 참조할 때(alias.column 형식) 사용하는 짧은 이름입니다. 별칭은 문자 또는 밑줄로 시작해야 하며 SQL 키워드일 수 없습니다. 필요한 만큼(최대 32개) 추가하고, 결과를 기록할 대상 테이블을 선택합니다.

카탈로그에서 테이블의 열이 변경된 경우 서버에서 다시 가져오기를 사용해 카드의 열을 최신 값으로 바꿉니다.

소스 테이블과 대상 테이블 모두 목록에서 선택하는 대신 참조로 지정할 수 있습니다. 테이블 선택기에서 동적을 선택한 다음 다음 중 하나를 입력합니다.

  • 테이블 이름: FACT_GL
  • 프로젝트 경로: /03 Results/FACT_GL

둘 다 {variable} 토큰을 포함할 수 있으며, 이 토큰은 워크플로를 실행할 때 치환됩니다. 따라서 /03 Results/FACT_GL_{year}는 프로젝트 변수 또는 워크플로 변수에 따라 기간마다 다른 테이블에 기록합니다. 대상 테이블이 없으면 새로 생성됩니다.

짝이 맞지 않는 중괄호는 저장할 때 감지되므로, FACT_{year처럼 잘못 입력한 경우 실행 도중에 실패하는 대신 단계에서 바로 보고됩니다.

한 테이블의 열 점에서 다른 테이블의 열로 끌어서 조인(에지)을 만듭니다. 에지를 선택하면 오른쪽에 에지 편집기가 열리며, 여기에서 다음을 설정합니다.

  • 조인 유형:

    유형 유지되는 행
    INNER 일치하는 행만
    LEFT 왼쪽 테이블의 모든 행
    FULL 양쪽의 모든 행
    CROSS 왼쪽의 모든 행과 오른쪽의 모든 행의 조합(조건 없음)
  • 조인 조건: 두 테이블의 열 사이에 하나 이상의 비교를 지정합니다. + 조건 추가로 더 추가하고, AND / OR로 결합하며, 사용 가능한 모든 연산자(=, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE)를 사용할 수 있습니다.

  • 레이블(선택 사항): 조인에 이름(예: customer-to-orders)을 지정해 다이어그램을 더 읽기 쉽게 만듭니다.

디자이너는 조인 그래프를 트리 구조로 유지합니다. 각 테이블은 정확히 하나의 조인을 통해 결과에 연결되므로 순환이나 모호한 경로가 없으며, 테이블을 자기 자신에 조인할 수 없습니다. 조인을 제거하려면 에지를 선택하고 에지 삭제를 선택합니다.

각 소스 테이블에는 조인 전에 적용되는 인바운드 필터가 있습니다. 이 필터를 사용해 테이블을 필요한 행으로 줄일 수 있습니다(열은 alias.column 형식으로 참조). 이 필터는 모든 조인이 끝난 후에 실행되는 Post-Join Filter와 별개입니다.

  • 레이아웃 정리는 조인 순서에 따라 테이블과 조인을 왼쪽에서 오른쪽으로 자동 배열합니다.
  • 보기에 맞춤은 전체 그래프가 화면에 들어오도록 크기를 조정하고 가운데로 맞춥니다. 수동으로 이동하고 확대/축소할 수도 있습니다.
  • 열 필터링… 옵션은 테이블에 열이 많을 때 카드에 표시되는 열을 좁힙니다.
  • 실행 취소 / 다시 실행은 편집 내용을 뒤로, 앞으로 되돌립니다(Ctrl+Z / Ctrl+Y). 기록은 대화 상자를 연 이후의 모든 변경 사항이 표시되는 패널을 열며, 복원을 사용할 수 있습니다.
  • 내보내기는 조인 다이어그램을 SVG 이미지로 다운로드합니다. 문서화나 검토에 유용합니다.

출력 열 탭에서 결과 테이블에 포함할 열을 선택합니다. 조인된 어떤 테이블에서든 선택할 수 있습니다. 캔버스에서 선택… 옵션을 사용하면 모든 소스의 열 중에서 시각적으로 선택할 수 있고, 모든 소스 열 추가를 사용하면 한 번에 모두 가져옵니다. 각 열에 대해 이름을 바꾸고, 데이터 형식을 설정하고, 집계를 적용할 수 있습니다. 두 소스 열의 이름이 같으면 PlaidCloud가 충돌하지 않도록 소스 별칭을 접두사로 붙입니다.

각 출력 열은 다음 세 가지 중 정확히 하나에서 값을 가져옵니다.

  • 소스 열: 소스 별칭을 해당 열을 소유한 캔버스 별칭으로 설정하고 소스를 alias.column 참조로 설정합니다. 둘 다 필수이며, 소스 열은 항상 출처 테이블을 지정합니다.
  • 상수: 모든 행에서 동일한 고정 값입니다.
  • 식: 식 열 추가를 선택하면 행이 추가되고 식 편집기가 열립니다. 식에서는 캔버스의 모든 소스 별칭을 alias.column 형식으로 참조할 수 있으므로, 여러 조인된 테이블에 걸친 값(두 테이블에 걸친 CASE, 문자열 연결, 계산된 금액)을 만들 때 사용합니다. 식 행에서는 소스 별칭과 소스를 비워 둡니다.

이 중 둘 이상을 채우는 것은 오류이며, 아무것도 채우지 않는 것도 오류입니다.

식 셀은 표준 PlaidCloud 식 편집기를 엽니다. 열 탐색기에는 캔버스의 모든 테이블이 표시되고, 함수 목록과 자동 완성도 제공됩니다.

출력 열은 캔버스를 따라갑니다. Tables & Joins 탭에서 소스의 이름을 바꾸면 해당 출력 열이 새 별칭으로 이동하고, 소스를 제거하면 해당 출력 열이 삭제됩니다. 따라서 더 이상 조인에 없는 테이블을 가리키는 열이 남지 않습니다.

Post-Join Filter 탭은 조인된 결과를 대상 테이블에 기록하기 전에 선택적 필터를 적용합니다. SQL HAVING 절에 해당합니다. 상자를 클릭하면 식 편집기가 열립니다. 열 탐색기에 출력 열이 나열되며, result.column_name 형식으로 참조합니다. 소스 별칭은 여기에서 사용할 수 없습니다. 상자 아래의 사용 가능한 참조에 사용할 수 있는 모든 참조가 나열됩니다. 비워 두면 후처리 필터링을 건너뜁니다.

PlaidCloud는 조인을 구성하는 동안, 그리고 단계를 실행할 때 다시 유효성을 검사합니다. 지원되지 않는 구성, 순환, 중복된 별칭, 소스 / 상수 / 식 중 아무것도 설정하지 않았거나(또는 둘 이상 설정한) 출력 열, 더 이상 존재하지 않는 열 등에 문제가 있으면 탭에 개수가 표시된 ⚠ 배지가 나타나고, 디자이너가 문제가 있는 테이블이나 조인을 표시하며, 저장은 사유와 함께 거부됩니다. 해결되지 않은 문제가 있는 상태로 저장하면 첫 번째 문제가 있는 탭으로 전환되며, 문제로 이동을 사용하면 필요할 때 같은 동작을 수행합니다.

저장할 때 PlaidCloud는 각 출력 열 식도 단계가 실행되는 방식과 동일하게 조인의 입력을 별칭(alias.column)으로 기준 삼아 검사하며, Post-Join Filter도 검사합니다. 잘못된 식은 해당 출력 열에, 잘못된 Post-Join Filter는 필터에 보고됩니다. 조인이 실행 시점에 지정된 열도 함께 전달로 설정되어 있고 요약하지 않는 경우에는 열이 실행 시점에 추가되므로 저장 시 식 검사를 건너뛰며, 해당 식은 단계가 실행될 때 검사됩니다. 소스별 필터도 단계가 실행될 때 검사됩니다.

다중 테이블 조인은 다른 단계와 동일하게 실행됩니다. 모든 조인을 하나의 작업으로 실행하고, 매핑된 열을 대상 테이블에 기록합니다.