모든 정보를 한 표에 넣으면 처음에는 편합니다
거래일, 거래처명, 담당자, 제품군, 제품명, 수량, 금액을 한 시트에 두면 필터와 피벗 테이블을 바로 만들 수 있습니다. 데이터가 적고 담당자가 한 명일 때는 충분히 작동합니다.
문제는 거래처 담당자가 바뀌거나 제품 분류가 수정될 때 시작됩니다. 과거 행 전체를 고쳐야 하고, 이름 표기가 조금만 달라도 별도 거래처로 집계됩니다.
사실과 설명을 나눕니다
| 테이블 | 담는 내용 | 한 행의 의미 |
|---|---|---|
| FactSales | 거래일·거래처코드·제품코드·수량·금액 | 매출 한 건 |
| DimCustomer | 거래처코드·거래처명·지역·담당자 | 거래처 한 곳 |
| DimProduct | 제품코드·제품명·제품군 | 제품 한 개 |
| DimDate | 날짜·연도·분기·월 | 날짜 하루 |
작은 회사에서 체감되는 변화
- 거래처 이름을 한 곳에서 수정할 수 있습니다.
- 연도·분기·월 계산을 여러 보고서에서 재사용할 수 있습니다.
- 매출 행이 늘어나도 거래처와 제품 설명을 반복 저장하지 않습니다.
- 관계 방향과 필터 경로가 분명해져 중복 집계 원인을 찾기 쉬워집니다.
언제까지 한 표로 충분한가
모든 보고가 한 파일 안에서 끝나고, 분류 변경이 드물며, 담당자도 한 명이라면 한 표가 더 경제적일 수 있습니다. 별표 스키마는 멋있어 보이기 위한 형식이 아니라 반복되는 설명 데이터를 관리하기 위한 선택입니다.
다음 편에서는 같은 샘플 원장을 한 표 모델과 별표 모델로 각각 구성해 필터 결과를 비교합니다.