[SQL 분석][Ch4] PowerBI 그래프 및 HR 대시보드(2)

김지현·2024년 7월 31일

SQL 분석

목록 보기
32/40

이전에 불러온 csv파일은 삭제하고 MySQL에서 불러온 데이터만 남기고 진행

시각화 (차트 추가 및 설정)

시각적 개체 빌드 : 차트 모양 및 추가 / x축, y축 값 등 설정
시각적 개체 서식 지정 : 선택한 차트의 서식 변경

  • bar 그래프 생성한 경우 각 레이블 및 합계 레이블 값도 표시 가능

캔버스 설정

  • 보고서 페이지 서식 지정을 통해 캔버스 비율 설정 및 보기 탭에서 또 설정 가능
    너비에 맞추기 선택하면 캔버스가 길어도 차트 부분이 크게 보여 작업하기 편함

드릴다운

→ 같은 시각적 개체들을 한 페이지에 같이 넣게 되고 어떤 필터를 적용시키게 되면 그 필터가 모든 시각적 개체에 같이 적용되어 데이터를 함께 드릴다운한 결과를 볼 수 있다는 장점 有

  • Attrition과 Gender를 기준으로 파이(& 도넛) 차트 생성

  • Attrition과 Gender로 구분된 값들을 하나의 차트에서 보고싶다면 범례에 여러 개의 값을 넣어 차트 생성
    → 그냥 보기엔 차이가 없어보이지만 드릴다운 할 수 있는 아이콘이 추가로 생김

  • 아래 모든 경우는 ↑ (드릴업 버튼) 클릭하여 원상복구 가능
    1) 범례의 모든 경우의 수로 나뉜 결과로 변경

    2) 범례에서 지정한 순서대로 Attrition 다음인 Gender로 나뉜 차트 나타남

    3) 드릴다운 on 상태로 Attrition No 부분 선택하면 재직중인 인원 중 Gender로 나뉜 차트 나타남
    • 이때, 앞서 생성해둔 두 개의 차트도 영향을 받아 필터링 된 차트 나타남

Table & Matrix

Table

값으로 같은 변수를 넣어도 집계 방식을 달리하여 컬럼 추가 가능

Matrix

  • 매트릭스를 활용하면 정보의 계층을 나누어 원하는 모양대로 바꿔서 보여줄 수 있음
  • 다중 행 설정하여 드릴다운 요소처럼 적용 가능 / 계층별 합계도 볼 수 있다는 장점


조건부 서식

  • 엑셀, Looker Studio와 유사한 방식
  • 데이터의 성격에 따라 강조하는 방식을 지정하면 유용할 것 같다

테이블 관계 생성

JobLevel가 숫자로만 나타나있어 알아보기 힘들다는 의견이 있어,
값에 Lv. 를 붙인다던지 or 한국식으로 사원, 대리, .. 등으로 표시하고 싶다고 가정

컬럼들을 묶어 새로운 JobLevel에 대한 dimension테이블을 만들어 손쉽게 원하는 컬럼으로 치환할 수 있음
탭 - 데이터 입력 - 테이블 생성 > 데이터 패널에 표시됨

모델 보기 선택 - D_JobLevel의 JobLevel을 HR의 JobLevel와 드래그로 연결 >> 속성에서 연결된 것을 확인 가능


Dax식 Calculate

기존 테이블에 계산식을 작성하여 새 측정값을 추가해도 되지만, 측정값만 따로 관리할 폴더를 만드는 개념으로 빈 테이블 생성

데이터 패널에서 아무 테이블 선택 후
테이블 도구탭 - 새 테이블 선택 → 계산식에 Calculate = {blank()} 입력하면 Calculate라는 이름의 빈 테이블 생성

  • Calculate는 Filter Function이고 형태는 CALCULATE(<expression>, <filter1>, <filter2> [,..])
    • expression에는 sum, average, min, max, count, distinctcount 등 사용 가능

Calculate 테이블 이름 선택한 상태에서 테이블 도구탭 - 새 측정값 클릭

  • 재직인원 수 계산
Working HC = CALCULATE(DISTINCTCOUNT(HR[EmployeeNumber]), HR[Attrition] = "No")
  • 퇴직인원 수 계산
Retired HC = CALCULATE(DISTINCTCOUNT(HR[EmployeeNumber]), HR[Attrition] = "Yes")
  • 퇴직률 계산
Retired Rate = DIVIDE([Retired HC], [Working HC] + [Retired HC])
// [Working HC] + [Retired HC] 대신 DISTINCTCOUNT(HR[EmployeeNumber])로 계산해도 동일한 결과

테이블에 열 추가하여 확인

카드 vs 카드(신규)

  • 카드 : 값을 한 개씩만 입력 가능 (다른 값 선택 시 기존값을 대체하게 됨)
  • 카드(신규) : 다중 데이터를 한 번에 넣을 수 있음

슬라이서

필터 적용과 유사 (대시보드 사용자가 직접 필터 on/off 등 조절)
(필터는 대시보드를 만드는 작업자가 처음부터 필터링 된 결과를 보여주고자 할 때)

  • 대시보드 페이지에 Attrition 슬라이서 추가 > 대시보드 내에 있는 모든 차트와 연동되어 값이 변경됨
  • 슬라이서의 영향을 받지 않게 하고 싶다면 서식 탭 - 상호 작용 편집 선택
    → 각 그래프 오른쪽 상단에 나타나는 아이콘 중 🚫 클릭하면 활성화되어 슬라이서 영향 받지 않음


축소 다중 항목

시계열로 차원을 분리해서 봐야할 때 유용할 수 있음

  • 아래와 같은 조건으로 차트 생성

  • 위 항목에서 범례의 KoreanJobLevel을 축소 다중 항목으로 이동
    → 각 항목별로 x축, y축을 공통으로 사용하는 그래프 생성

  • 표시할 행과 열의 수를 지정할 수 있음

Top N 필터

Department, JobRole, JobLevel, Retired Rate, Working HC 로 구성된 테이블 생성

  • 퇴직률(Retired Rate)을 기준으로 상위 n개의 결과만 출력하고 싶다
    → 필터 활용? 값의 범위를 조절할 수 있는 필터밖에 없다
    → 그러면? 정렬 기준이 될 새로운 컬럼이 필요함 (여러 개의 컬럼을 기준으로 정렬의 기준을 만들고 싶을때 사용)

테이블 보기 - 새 열 클릭 후 아래와 같이 작성하면 맨 오른쪽에 컬럼이 생성됨

필터 - 이 시각적 개체의 핕터에 생성한 컬럼을 데이터 필드 추가
→ 퇴직률이 높은 상위 n개를 출력할 것이므로, 값에 Retired Rate를 넣고 필터 적용하면 원하는 결과를 얻을 수 있음

0개의 댓글