Br) 함수 블럭 - Join

Br) 함수 블럭 - Join

브라이틱스(Brightics)에서 두 데이터 세트를 병합할 때 사용하는 Join 을 알아본다.


Transform Pre-Processing

※ 본 내용은 Load 함수 블럭에서 join_data_group_members.csvjoin_data_member_room.csv 파일을 불러온 후에 진행한다.
join_data_group_members.csv 다운받기 [클릭]
join_data_member_room.csv 다운받기 [클릭]
사전 준비

※ 모델 json 파일 다운받기 [클릭]


개요

Bind Row Column 블럭은 단순히 row 방향이나 column 방향으로 데이터를 이어붙인 것이라면, 데이터를 특정 변수 기준으로 공통된 row만 남기거나 한 쪽 데이터 세트에 붙이는 연산은 Join 블럭이다.

Bind Row Column 포스팅 바로가기 -> [클릭]

위쪽 Load 블럭에는 join_data_group_members.csv 를, 아래쪽 Load 블럭에는 join_data_member_room.csv 를 불러왔다. 각각의 데이터를 확인하면 다음과 같다.
입력 데이터


설정

Join 블럭의 설정 창은 다음과 같다.
Join 블럭 설정 창

Join 블럭은 반드시 두 개의 데이터 세트 입력을 받는다. 이 때 Load 블럭에서 바로 입력을 받는 경우 Load 블럭의 이름을 바꿔주지 않으면 어떤 데이터가 왼쪽(left)에 위치하는지 알기 어렵다. Inputs 부분에서 어떤 블럭이 left_table 로 지정되는지 확인할 수 있으니 잘 확인하도록 하자.

두 데이터는 member 변수와 name 변수가 그룹 멤버 이름으로 각 데이터 세트를 병합할 수 있는 기준으로 사용할 수 있다. join 연산에 사용할 변수를 각각 Left KeysRight Keys 항목에 다음과 같이 각각 할당해준다.
Join 대상 변수 지정

Join Type 의 경우 여섯 종류의 join 연산을 지원한다. 사용자가 이해하기 쉽게 그림으로 표기되어있으며 마우스 커서를 각 그림 위에 위치(hover)시킬 경우 툴팁이 조그맣게 뜨면서 어떤 연산인지 알려준다.
Join 방법의 툴팁 확인

왼쪽부터 차례대로 join 연산의 종류는 다음과 같다.

  • Full Outer Join: A와 B의 모든 변수 및 row를 보존하여 병합
  • Left Join: A와 B의 모든 변수를 보존하되 A를 기준으로 공통된 row만 보존(중요!)
  • Right Join: A와 B의 모든 변수를 보존하되 B를 기준으로 공통된 row만 보존
  • Inner Join: A와 B의 모든 변수를 보존하되 A와 B의 공통된 row만 보존(중요!)
  • Left Excluding Join: A의 변수만 보존하고 A와 B의 공통된 row는 제거
  • Right Excluding Join: B의 변수만 보존하고 A와 B의 공통된 row는 제거

Left_SuffixRight_Suffix 는 연산 대상이 되는 두 데이터에 같은 이름의 변수가 있을 경우 붙여주는 접미사 설정과 관련된 것이다. 변경을 원하면 직접 바꿔주면 된다.

Sort 는 자동으로 결과를 정렬해준다고는 하는데 어떤 변수를 기준으로 하는지 명확하지 않아 결과 정렬이 필요하다면 Sort 블럭 사용을 권장한다.
Sort 포스팅 바로가기 -> [클릭]


결과

상기 방법으로 데이터를 left join으로 병합한 결과는 다음과 같다.
join 결과

Join 블럭을 사용할 때는 입력되는 데이터의 특정 변수만 선별하여 join 연산을 할 수 없기에 join 연산 이전에 Select Column 함수 블럭을 사용하거나, Join 대신 Quert Executor 함수 블럭을 사용하는 것 또한 방법이다.

Select Column 포스팅 바로가기 -> [클릭]
Query Executor 포스팅 바로가기 -> [클릭]

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×