콘텐츠로 이동

Microsoft Excel의 vlookup 함수를 자주 사용하신다면 Table Lookup 변환이 매우 익숙하게 느껴질 것입니다. 기본적으로 같은 기능을 수행하는 변환입니다. Microsoft Excel 버전과 달리 PlaidCloud Analyze의 Table Lookup 변환은 더 유연하여, 특히 여러 열을 기준으로 일치시키고 여러 열을 반환할 수 있습니다.

기본 행키: cust_id조회 테이블cust_id → name, region조회cust_id로 일치행 + name+ region
vlookup과 마찬가지로 각 기본 행이 키를 기준으로 조회 테이블과 일치하고, 일치한 열이 추가됩니다. Excel과 달리 여러 열을 기준으로 일치시키고 여러 열을 반환할 수 있습니다.

테이블 소스

드롭다운 메뉴에서 선택하여 소스 데이터 테이블을 지정합니다.

소스 열

포함할 열을 여기에 지정합니다. 소스 검사 및 소스 매핑 테이블 채우기 버튼을 선택하면 이 열을 조인 작업에 사용할 수 있게 됩니다.

소스 데이터의 하위 집합 선택

유효한 Python 식이면 모두 데이터의 하위 집합을 지정하는 데 사용할 수 있습니다. 자세한 내용과 예제는 식을 참조하십시오.

테이블 소스

대상 테이블

테이블 대상

대상 테이블을 설정하려면 대상 테이블 드롭다운에서 기존 테이블을 대상 테이블로 선택하거나, 녹색 “+” 기호를 클릭하여 새 테이블을 대상으로 만듭니다.

테이블 만들기

새 테이블을 만들 때는 뷰 또는 테이블 중 하나로 만들 수 있습니다.

뷰:

뷰는 단계를 실행하는 데 걸리는 시간이 테이블을 사용할 때보다 크게 짧다는 점에서 유용합니다. 단점은 테이블 세부 정보 모드에서 데이터를 탐색하기에는 적합하지 않다는 것입니다.

테이블:

테이블을 대상으로 사용하면 단계를 실행하는 데 더 오래 걸리지만, 세부 정보 모드에서의 데이터 탐색은 뷰보다 훨씬 빠릅니다.

테이블 조인 맵

조인 조건을 지정합니다. Guess는 두 테이블의 열로 적용할 수 있는 다음 항목 중 첫 번째 항목으로 조인 맵을 채웁니다.

  • 같은 두 테이블을 조인하는 이 프로젝트의 다른 조인 단계의 키
  • 두 테이블을 조인하는 승인된 지표의 키
  • 한 테이블에 설정된 키 열을 다른 테이블에서 이름으로 일치시킨 것
  • 테이블 1과 테이블 2에서 이름이 같은 열
  • 이름이 대소문자나 밑줄에서만 다른 열, 또는 id 열과 해당 테이블 이름을 딴 열(예: Customers 테이블의 customer_id)

맵을 변경하기 전까지는 맵 아래의 한 줄에 어떤 항목을 사용했는지 표시됩니다. Guess는 테이블의 행이 아니라 열을 읽으므로 저장하기 전에 키를 확인하십시오. 소스 검사는 비어 있는 조인 맵을 같은 방식으로 채웁니다.

열을 직접 추가하려면 해당 섹션의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 행 삽입 또는 행 추가를 선택합니다. 각각 현재 선택한 행 앞에 행을 추가하거나 맨 끝에 행을 추가합니다. 그런 다음 테이블 1과 테이블 2에서 일치시킬 열 이름을 입력합니다. 조인 맵에서 필드를 제거하려면 마우스 오른쪽 버튼을 클릭하고 삭제를 선택하면 됩니다.

키 확인은 추측 옆에 있으며, Join Map에서 테이블의 둘 이상의 행에 나타나는 키 값의 수를 셉니다. 조인 대상 테이블에서 키 값이 반복되면, 해당 키와 일치하는 각 행이 일치하는 행마다 한 번씩 결과에 나타나므로 결과의 행 수가 처음 테이블보다 많아질 수 있습니다.

검사하는 테이블은 단계에 따라 다릅니다.

  • 내부 조인과 Table Lookup 단계: 테이블 2.
  • 외부 조인: 왼쪽 조인은 테이블 2, 오른쪽 조인은 테이블 1, 전체 조인은 두 테이블 모두.

결과는 Join Map 아래에 표시됩니다. 반복되는 키 값의 수와 해당 키를 공유하는 행의 수를 알려 주며, 가장 많이 반복되는 키를 최대 5개까지 나열합니다. 다음과 같이 계산합니다.

  • 이 단계가 해당 테이블에 적용한 필터를 거친, 현재 상태의 테이블
  • 행 수준 보안으로 테이블에서 볼 수 있는 범위가 제한되는 경우, 볼 수 있는 행만. 결과에 이 사실이 표시됩니다.
  • 키가 비어 있는 행은 제외. 비어 있는 키는 다른 행과 일치하지 않기 때문입니다. 단, Alteryx에서 변환된 조인처럼 비어 있는 키끼리 서로 일치하도록 설정된 내부 조인 또는 외부 조인은 예외이며, 이 경우 비어 있는 키도 하나의 키 값으로 계산되어 (공백) 항목으로 나열될 수 있습니다.

Table Lookup 단계는 행을 반복하지 않습니다. 반복되는 키에 대해서는 테이블 2의 행 하나만 유지하며 각 열의 가장 낮은 값(가장 작은 숫자, 가장 이른 날짜, 정렬 순서상 첫 번째 텍스트)을 취하므로, 해당 행에는 테이블 2의 서로 다른 행의 값이 섞일 수 있습니다. 이런 경우 키 확인이 알려 줍니다. 사용할 값을 직접 선택하려면 테이블 2에서 각 키가 한 번만 나타나도록 하십시오.

이 검사는 웨어하우스의 테이블을 읽으므로 선택할 때만 실행되며 30초 후에 중지됩니다. 두 테이블 중 하나, 해당 필터, Join Map 또는 외부 조인의 조인 유형을 변경하면 결과가 지워집니다.

데이터 매퍼 구성

Table Data Mapper

데이터 매퍼는 소스 데이터의 열을 대상 데이터 테이블에 매핑하는 데 사용합니다.

매퍼 검사 및 채우기

소스 검사 메뉴 버튼을 사용하면 소스에서 대상으로 열을 매핑하는 다양한 방법을 이용할 수 있습니다.

  • 두 매핑 테이블 모두 채우기: 소스 데이터 테이블의 모든 값을 대상 데이터 테이블로 전파합니다. 기본적으로 이 방식이 적용됩니다.
  • 소스 매핑 테이블만 채우기: 소스 데이터 테이블의 모든 값만 매핑합니다. 소스 열 구조가 변경된 상태에서 기존 워크플로를 수정할 때 유용합니다.
  • 대상 매핑 테이블만 채우기: 모든 값을 대상 데이터 테이블에만 전파합니다.

소스 및 대상 열 옵션만으로 충분하지 않다면 다음과 같은 여러 방법으로 대상 데이터 테이블에 다른 열을 추가할 수 있습니다.

  • 모두 전파는 이미 존재하는지 여부와 관계없이 모든 소스 열을 대상 데이터 테이블에 삽입합니다.
  • 선택 항목 전파는 선택한 소스 열만 삽입합니다.
  • 대상 쪽에서 마우스 오른쪽 버튼을 클릭하고 행 삽입을 선택하면 현재 선택한 행 바로 위에 행이 삽입됩니다.
  • 대상 쪽에서 마우스 오른쪽 버튼을 클릭하고 행 추가를 선택하면 대상 데이터 테이블의 맨 아래(맨 오른쪽)에 행이 삽입됩니다.

열 삭제

대상 데이터 테이블에서 열을 삭제하려면 원하는 열을 선택한 다음 마우스 오른쪽 버튼을 클릭하고 삭제를 선택합니다.

더 이상 목록에 없는 소스 열

대상 행이 소스 데이터 테이블에 더 이상 나열되지 않는 소스 열을 지정하는 경우가 있습니다. 예를 들어 소스를 다시 검사한 후에 이런 일이 생길 수 있습니다. 단계는 이러한 행을 자동으로 제거하지 않습니다. 대신 열 이름이 ⚠ 경고 표시 뒤에 빨간색으로 표시되며, 마우스를 올리면 해당 열이 소스 열에 없다는 메시지가 나타납니다. 유니온처럼 여러 테이블을 사용하는 단계에서는 각 테이블을 해당 테이블의 소스 열과 비교하여 검사합니다.

상수, 식 또는 개수(null 포함) 요약이 지정된 행은 단계가 해당 소스 열을 읽지 않으므로 표시되지 않습니다. 소스 데이터 테이블에 열이 하나도 나열되지 않은 경우(예: 소스를 처음 검사하기 전)에도 아무것도 표시되지 않습니다.

표시된 행이 남아 있는 단계를 저장하면 오래된 열 발견 대화 상자가 해당 행을 각 행이 속한 탭 또는 테이블별로 나열하고 세 가지 선택지를 제공합니다.

  • 모두 제거 후 저장 — 표시된 행을 제거한 다음 저장합니다.
  • 그대로 저장 — 단계를 현재 상태 그대로 저장합니다.
  • 취소 — 저장하지 않고 단계로 돌아갑니다.

행을 유지하면서 경고를 없애려면 해당 열을 소스 데이터 테이블에 다시 추가하거나 소스 데이터 테이블에 나열된 열을 선택하십시오.

열 데이터 유형

모든 대상 열에는 유형이 있습니다. 소스에서 전파된 열은 소스 열의 유형을 그대로 유지하고, 직접 추가한 행은 텍스트로 시작하므로 유형을 설정하여 실제로 필요한 유형을 지정해야 합니다. 합산하거나 정렬하려는 열에는 숫자 또는 날짜 유형이 필요합니다. 텍스트는 텍스트로 정렬되고 합산되기 때문입니다.

유형이 전혀 없는 열이 포함된 상태로 저장된 단계도 실행됩니다. 유형은 단계가 시작될 때 해당 열이 읽는 소스 열로부터 결정됩니다. 유형을 읽어 올 곳이 없으면 텍스트로 처리됩니다. SQL 추출 단계의 열은 매핑된 소스가 아니라 사용자가 작성한 쿼리에서 가져오며, 같은 열 이름이 서로 다른 유형으로 여러 소스에 있는 경우에는 그중 하나를 추측하지 않고 텍스트를 사용합니다. 잘못 추측하면 웨어하우스가 거부할 수 있는 변환이 발생하지만, 모든 값은 텍스트로 변환할 수 있기 때문입니다.

열이 어떤 유형이어야 하는지 지정하는 올바른 방법은 여전히 유형을 직접 설정하는 것입니다. 설정하지 않은 채 두면 소스 열이 어떤 유형이든 그대로 받아들이게 됩니다.

열 순서 변경

대상 데이터 테이블에서 열을 재정렬하려면 원하는 열을 선택합니다. 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

  • 일괄 이동 화살표: 오른쪽 위의 화살표에서 원하는 이동 옵션을 선택합니다.
  • 컨텍스트 메뉴: 마우스 오른쪽 버튼을 클릭하고 맨 위로 이동, 위로 이동, 아래로 이동 또는 맨 아래로 이동을 선택합니다.

결과를 고유 레코드로만 줄이기

고유한 항목만 반환하려면 고유 메뉴 옵션을 선택합니다. 그러면 소스의 각 열마다 체크박스 집합이 표시됩니다. 고유한 결과만 반환하려면 해당 열 옆의 상자를 선택하기만 하면 됩니다.

상황에 따라서는 요약을 대신 사용하는 것이 좋을 수 있습니다.

고유 처리는 처음 발견된 고유 레코드를 유지하고 나머지는 버립니다. 실행 간 일관성이 중요하다면 데이터에 정렬을 적용하는 것이 좋습니다.

집계 및 그룹화

결과를 집계하려면 요약 메뉴 옵션을 선택합니다. 그러면 대상 데이터 테이블의 각 열마다 선택 상자가 표시됩니다. 각 열에 적절한 요약 방법을 선택합니다.

소스 검사로 열을 채울 때, 숫자 열은 이름이 id, customer_id, Order No, CustomerKey처럼 식별자로 읽히거나, 테이블에서 키로 설정되어 있거나, 조인에서 키로 사용되는 경우 합계 대신 그룹화 기준으로 시작합니다.

  • 그룹화 기준
  • 합계
  • 최소
  • 최대
  • 처음
  • 마지막
  • 개수
  • 개수(null 포함)
  • 평균
  • 표준 편차
  • 표본 표준 편차
  • 모집단 표준 편차
  • 분산
  • 표본 분산
  • 모집단 분산
  • 고급 Non-Group_By

식, 정리, 상수 등 데이터 매퍼의 고급 사용법은 고급 데이터 매퍼 사용법을 참조하십시오.

조인 맵 또는 대상 출력 열 행에는 단계의 소스 열 탭에 더 이상 나열되지 않는 열 이름이 있을 수 있습니다(예: 소스의 열을 다시 검사한 후). 단계는 이런 행을 자동으로 제거하지 않습니다. 대신 열 이름이 ⚠ 경고 표시와 함께 빨간색으로 표시되며, 위에 마우스를 올리면 어느 소스의 목록에 해당 열이 없는지 알려 줍니다.

상수, 식 또는 개수(null 포함) 요약이 지정된 대상 출력 열 행은 단계가 해당 행의 소스 열을 읽지 않으므로 표시되지 않습니다. 목록이 비어 있는 소스(예: 한 번도 검사하지 않은 소스)에 대해서는 아무것도 검사하지 않습니다.

표시된 행이 남아 있는 단계를 저장하면 오래된 열 발견 대화 상자에 테이블별로 해당 행이 나열되며 세 가지 선택지가 제공됩니다.

  • 모두 제거 후 저장 — 표시된 행을 제거한 다음 저장합니다.
  • 그대로 저장 — 단계를 현재 상태 그대로 저장합니다.
  • 취소 — 저장하지 않고 단계로 돌아갑니다.

행을 유지하면서 경고를 없애려면 소스 열 탭에서 해당 열을 그 소스의 목록에 다시 추가하거나, 목록에 있는 열을 선택하십시오.

저장할 때는 각 소스 테이블도 현재 상태로 검사됩니다. 소스 목록에는 있지만 해당 테이블에는 없는 열이 있으면 테이블과 열을 알려 주는 누락된 소스 열 대화 상자가 열리며 그대로 저장 또는 취소를 선택할 수 있습니다. 표시된 행도 있으면 두 내용이 오래된 열 발견 대화 상자에 함께 나타납니다. 소스 테이블에 없는 열을 참조하십시오.

Table Data Filters

최대한의 유연성을 위해 데이터 필터는 소스 데이터와 대상 데이터 모두에서 사용할 수 있습니다. 대용량 데이터 세트에서는 소스에서 행을 먼저 걸러내어 나머지 작업을 더 작은 데이터 세트에서 수행하는 것이 특히 유용할 수 있습니다.

데이터 하위 집합 선택

이 필터 유형은 지정한 조건에 따라 들어오는 소스 데이터를 필터링합니다.

결과 데이터에 보조 필터 적용

이 필터 유형은 지정한 조건에 따라 변환된 후의 결과 데이터에 필터를 적용합니다. 변환 후 결과에 필터를 적용할 수 있으므로 복잡한 계산, 요약 또는 윈도우 함수의 결과를 기준으로 제외할 수 있습니다.

최종 데이터 테이블 분할(제한)

행 분할 기능을 사용하면 범위와 시작 지점에 따라 결과 집합의 행 수를 제한할 수 있습니다.

필터 구문

필터 구문은 다른 식과 동일한 구문인 Python SQLAlchemy를 사용합니다.

예제와 식 함수는 식 영역에서 확인하십시오.

이 예시에서는 모델러가 주문 팩트 테이블을 이해하기 위해 제품 차원 테이블의 정보가 필요합니다. 그래서 Import Order Fact 테이블을 소스 테이블로 선택합니다. Import Product Dim 테이블에 원하는 조회 정보가 있으므로 이를 Lookup Table Source로 선택합니다. 필터를 사용할 수 있지만, 조회 데이터 테이블(그리고 다른 어떤 데이터 테이블)에도 필터를 적용하지 않았습니다.

테이블 데이터 선택 섹션에서는 소스 데이터 테이블의 모든 열을 대상 데이터 테이블에 매핑합니다.

소스 데이터나 대상 데이터 어디에도 데이터 필터는 적용하지 않았습니다.

마지막으로 각 테이블에 있는 Product_ID 필드를 사용해 소스 데이터 테이블을 조회 데이터 테이블과 일치시킵니다. Product_Description과 Unit_Cost 열만 대상 데이터 테이블에 추가되며, 이 과정에서 Unit_Cost의 이름은 Retail_Unit_Cost로 바뀝니다.

결과 대상 데이터 테이블에는 Product_ID 열의 일치하는 값을 기준으로 Product_Description과 Retail_Unit_Cost 열이 추가되었습니다.