[SQL 분석][Ch5] Inventory 대시보드

김지현·2024년 8월 3일

SQL 분석

목록 보기
36/40

데이터 가져오기

  • 서버 : localhost / 데이터베이스 : inventory
  • 고급 옵션 : select * from inventory

데이터 전처리

데이터 변환 - 열 추가 - 조건 열

  • SQL에서 File_Type과 SoldFlag를 가지고 만들었던 Active / Semi-Active / Historical 생성
  • CASE WHEN절과 유사
  • (중복이 없는 사실을 알고있지만) 컬럼 전체 선택 후 우클릭 - 중복된 항목 제거
  • 변환탭 - 데이터 형식 검색 >> PowerBI에서 각 컬럼값을 보고 가장 적절한 형식으로 지정
  • 중복 제거와 데이터 형식 지정은 잘 알지 못하는 데이터인 경우 유용

지표 정의

  1. SKU Count (SKU 종 수) : SKU Unique한 개수 (SKU_number의 Distinctcount)
  2. Inven Unit : 재고 보유량 (ItemCount 합계)
  3. Unit per SKU : 한 SKU당 Unit 수
    A : 10개, B : 4개 → SKU Count = 2 / Unit = 14 (10+4)
    Unit per SKU = 14/2 = 7 (한 SKU당 평균 7 Unit)
  4. Inven Cost : sum(Unit 수 * PriceReg)
  5. Inven Cost per Unit : 한 Unit당 cost = sum(Unit 수 * PriceReg) / 재고 보유량
  6. Month of Coverage : 가진 재고로 몇 달을 커버할 수 있는지
    = 재고 보유량 / 월 평균 판매량

지표 생성

  • 측정값만 넣을 빈 테이블 Calculation 생성 (새 테이블 클릭 후 Calculation = {blank()} 입력)
    • 새 측정값 추가
      • 1. SKU Count = DISTINCTCOUNT(Inventory[SKU_number])
      • 2. Inven Unit = sum(Inventory[ItemCount])
      • 3. Unit per SKU = DIVIDE([Inven Unit], [SKU Count])
      • 4. Inven Cost = SUMX(Inventory, Inventory[ItemCount] * Inventory[PriceReg])
        • SUMX : 행별로 계산 후 합산 (가로로 계산)
        • SUM : 열별 계산 후 합산 (세로로 계산)
      • 5. Inven Cost per Unit = DIVIDE([4. Inven Cost], [2. Inven Unit])
      • 6. Month of Coverage = DIVIDE([2. Inven Unit], DIVIDE(sum(Inventory[SoldCount]), 6))

차트 생성

  • 누적 영역형 차트 vs 영역형 차트
    • 누적 영역형 차트는 각 범례별 총계와 비중 확인
    • 영역형 차트는 각 개체를 독립적으로 0부터 분포된 정도 확인


SWITCH & SELECTEDVALUE

영역형 차트를 주요 지표에 따라 변경되는 interactive 그래프를 만들고 싶을 때 사용

우선, 지표의 버튼 역할을 할 테이블 생성

  • 데이터 입력 선택, 순서를 정할 수 있으니 index열 함께 생성

  • 테이블 보기 - D_indicator 선택 - 새 측정값 선택

    • 큰따옴표("")로 감싸야 함
    • D_indicator의 컬럼 이름과 동일하게 작성

  • 슬라이서 추가 - 필드값에 D_indicator 테이블의 Indicator 넣기
    타일 형태로 변경 + 단일 선택 옵션 on

  • 영역형 차트의 Y축 값을 Switch_Indicator로 변경

선택한 옵션에 따라 차트가 변경됨


SKU Grade 테이블 및 관계 설정

데이터 변환 - 새 원본 - 추가 - MySQL 데이터베이스 선택

  • 서버 : localhost / 데이터베이스 : inventory
  • 고급 옵션 : select * from sku_grade

불러온 테이블을 inventory 테이블과 연결하기 위한 join key로 사용할 컬럼 생성
SKU_number는 SoldFlag가 여러 개 있는 경우가 있어 다대다 연결이 되버림 (불가능)

  • 열 추가 탭 - 사용자 지정 열 선택
  • 모델 보기을 보면 자동으로 두 테이블이 join_key로 연결되었다는 관계 생성됨

SKU Grade 슬라이서 추가하여 등급별로도 차트 확인 가능

  • 정렬을 위해 데이터 변환 - 열 추가 - 조건 열 한 다음,
    테이블 보기에서 SKU_Grade 컬럼 선택 - 열 기준 정렬값을 grade_index 선택

페이지 이동 단추

차트를 보는 대시보드 사용자가 지표 정의를 보고싶을 수 있으니, 지표 정의 페이지로 이동할 수 있는 단추 생성

  • 내용 적은 후, 단추를 가리킬 때 버튼 색이 바뀌도록 설정
  • 이동할 페이지 선택

0개의 댓글