[결과]


Store - 기본 필터링 에서 보려는 store만 선택

▶ 매입가격과 대비하여 팔고남은 이익은 얼마인지
Inventory 테이블의 PurchasePrice과 Sales 테이블의 SalesPrice와 병합
방법1. PurchasePrice가 들어있는 새로운 Dimension Table을 만들어서 Sales Table과 join
방법2. Sales Table에 PurchasePrice라는 새로운 컬럼을 추가
Join key : InventoryId
방법1을 먼저 해보자
Inventory 테이블의 InventoryId와 Price 컬럼 활용
데이터 변환 이동 - Inventory 테이블 우클릭 - 복제
- 복제 : 변환이 일어난 단계가 모두 유지된채로 테이블 복사
- 참조 : 새 원본 - 빈 쿼리 선택하여
=Inventory입력한 것과 동일한 결과 (변환없음)
key값으로 사용할 InventoryId컬럼에는 city값이 비어있었던 store 46번의 city는 들어가있지 않아서 Store, City, Brand를 _로 연결하여 InventoryId 설정
Store와 Brand 컬럼을 텍스트 타입으로 변경Store, City, Brand, Price)만 선택 후 컬럼 우클릭 - 다른 열 제거열 추가 - 사용자 지정 열 (생성된 InventoryId 컬럼도 텍스트 타입으로 변경)
테이블명은 D_Inventory_Price
모델 보기 이동 - D_Inventory_Price의 InventoryId와 Sales의 InventoryId 연결 (경고 발생)
InventoryId별 Price가 하나씩 존재해야 하는데 그렇지 않음InventoryId별로 한 개의 price만을 두기 위해 보수적인 기준으로 매입 가격이 더 비싼 것을 남기자데이터 변환 이동 - D_Inventory_Price 테이블 InventoryId컬럼 선택 후 변환 탭 - 그룹화 선택
모델 보기 에서 InventoryId를 다시 연결해보면 문제없이 잘 진행된다
ID별로 판매가격과 매입가격을 확인하는 테이블 생성

데이터 변환 이동 - (방법2 사용) Sales 테이블에 left join 방법 사용하여 만들어둔 D_Inventory_Price의 PurchasePrice 컬럼 추가
홈탭 - 결합 메뉴 - 쿼리 병합 선택InventoryId) 선택D_Inventory_Price 컬럼 생성되는데, 필요한 건 PurchsePrice 컬럼이므로 해당 컬럼만 선택D_Inventory_Price.PurchsePrice)
병합한 Sales 테이블에서 PurchasePrice 공란 값을 채우자
새 열 추가
Sales 테이블에서 새 측정값 추가
Profit)과 매입가 대비 판매이익율(Profit%) > 역마진인 경우도 잘 보인다
▶ 요일별 판매 트렌드 시계열 분석을 위해
테이블 보기 이동 - 새 테이블

새 열 추가 (year, month, day)Year = D_Calendar[Date].[연도] (= YEAR(D_Calendar[Date]))Weeknum = WEEKDAY(D_Calendar[Date], 1) --일요일부터 1 (요일을 숫자로 출력)
모델 보기 이동 - Sales 테이블의 SalesDate와 D_Calendar의 Date 컬럼 연결Date로 바꾸면 다시 드릴다운 가능
Date를 X축, Sales의 SalesQuantity를 y축으로 하는 꺾은선형 그래프 생성
S1_Daily AVG Sales Qty = DIVIDE(sum(Sales[SalesQuantity]), DISTINCTCOUNT(Sales[SalesDate]))D_Calendar[Date] 사용해도 됨)S2_Daily AVG Sales Amount = DIVIDE(sum(Sales[SalesDollars]), DISTINCTCOUNT(Sales[SalesDate]))SalesQuantity를 날짜별로 합산한 것과 일별 평균 측정값은 합계에서 차이를 보임
S3_Daily AVG Sales Price = DIVIDE([S2_Daily AVG Sales Amount], [S1_Daily AVG Sales Qty])
타겟 달성률을 모니터링할 때 효율적인 시각적 개체
일 평균 판매량을 시각화 해보자
새 측정값 추가 > Sales_Aim = 10000)
KPI(핵심 성과 지표)
- 측정 가능한 목표에 대해 만든 진행률의 정도를 알리는 시각적 신호 > 진행률 측정 시 유용
- 이전 트렌드까지 보여주면서 가장 최근 실적은 어떻고 그 실적이 목표 대비하여 얼만큼인지
계기 차트와의 차이점
- 계기 차트 : 누적된 데이터가 목표를 얼마나 달성했는지 보는데 유용
- KPI : 과거 추세가 어떠했고 가장 최근 달성 정도는 이렇다 (가장 최근 현황) / 목표 대비 얼마나 초과/미달 달성했는지 보여주는 시각화
KPI 목표값은
Sales 테이블에 새 측정값(요일별 목표치) 추가

AVERAGEX(<table>, <expresion>)VALUES(D_Calendar[Date] : 각 날짜별로 [S1_Daily AVG Sales Qty] 계산 > "일평균 판매량"SalesDate와 Date는 join되어 있기 때문에 모두 써준 것max(Sales[SalesDate])는 KPI에서 표시될 날짜를 의미