본문으로 건너뛰기
← 워크숍 개요
2/7번째 챕터
15분

두 표에서 같은 상품 찾기

제품 정보와 경쟁사 가격 데이터에서 item_code와 관측 가격을 대조합니다.

이번 단계의 질문

재고 행과 경쟁 가격 관측이 같은 상품을 가리킨다는 것을 어떻게 알 수 있을까요?

왜 지금 필요한가

지점 재고와 경쟁 가격은 행 수와 시간 단위가 다릅니다. 연결 키를 먼저 확인하지 않으면 다른 상품의 가격을 덮어쓰는 오류를 발견하기 어렵습니다.

직접 해보기

리테일 재고 분석 컬렉션에서 제품 정보를 열고 스키마 탭을 선택합니다. item_code, branch_name, inventory_qty, selling_price_krw_synth, competitor_price_krw_synth, stockout_risk_flag_synth를 찾습니다.

제품 정보 데이터셋의 스키마 탭
상품 키, 지점, 재고, 판매가, 경쟁사가, 품절 위험 컬럼을 확인합니다.

데이터 탭에서 상단의 46,700행과 item_code = 7224000894가 여러 지점·작업 행에 반복되는 모습을 확인합니다.

SELECT item_code, branch_code, price_krw
FROM `retail_inventory_intelligence`.`competitor_prices`
WHERE item_code = 7224000823
ORDER BY branch_code;
제품 정보 데이터셋의 상품과 지점별 재고 행
제품 정보는 같은 상품이 여러 지점과 작업 행에 반복됩니다.

이어서 경쟁사 가격 데이터를 열고 SQL Scratch Pad를 선택합니다. 지점별 가격이 다른 7224000823을 다음 쿼리로 확인합니다.

경쟁사 가격 데이터셋의 상품과 지점별 가격 관측 행
같은 item_code가 여러 branch_code에 반복되고 지점별 price_krw가 다를 수 있습니다.

확인할 결과

표행 수확인 위치같은 상품을 찾는 열관찰 단위
제품 정보46,700데이터 탭 상단의 행 수item_code상품 × 지점 × 작업 행
경쟁사 가격 데이터56데이터 탭 상단의 행 수item_code상품 × 지점별 경쟁사 가격 관측

item_code가 두 표를 연결하지만, 현재 파이프라인은 branch_code를 조인 키로 사용하지 않습니다. 먼저 경쟁사 가격 56행에서 item_code가 같은 행 중 첫 행만 남겨 상품 8종의 가격으로 축약합니다. 따라서 상품별로 어느 지점 가격이 남는지는 입력 행 순서의 영향을 받고, 나머지 지점 가격은 결과에 반영되지 않습니다. 그 뒤 상품 8종의 가격을 같은 item_code를 가진 제품 정보 46,700행에 연결합니다.

결과를 읽어 봅니다

7224000823은 7개 지점에 반복되고 가격도 7,010원부터 10,280원까지 다릅니다. 이 차이로 56행을 상품별 8행으로 축약하는 과정에서 지점 정보가 사라진다는 사실을 확인할 수 있습니다.

다음 판단

두 표를 연결할 수 있음을 확인했습니다. 다음 챕터에서는 파이프라인을 실행하고 같은 행의 경쟁사가만 바뀌는지 확인합니다.