존스 홉킨스 대형 신형 코로나 바이러스 데이터를 Power BI로 시각화해 보자 (4/5)

마지막 기사 (3/5) 요약



마지막 기사 에서는 새롭게 몇개의 테이블을 정의해, 테이블간에 릴레이션을 정의했습니다.
  • 가장 최근의 날 데이터만을 가진 Latest 테이블
  • 위치를 나타내는 Location 테이블
  • Confirmed, Deaths, Recovered 등의 상태를 나타내는 Status 테이블
  • 측정값의 정의를 한 곳에서 정리할 수 있도록 _Measure 테이블 만들기
  • 시각화 할 때 유용한 테이블의 관계

  • 이번 기사 (4/5)의 목표



    이번 출발점은 모델입니다. 이 모델에는 아직 Measure(메이저)가 하나도 없습니다. 이 상태에서 그래프나 차트 등의 비주얼을 작성하는 것이 가능하고, 어쩌면 그것만으로 요구를 만족시킬지도 모릅니다. 하지만 메이저를 사용해 어떠한 「집계 정보」를 계산해 가시화하는 것으로 리포트에 의해 의미 있는 정보를 더할 수가 있습니다.

    다음 측정값을 만듭니다.
  • Cases 모든 사례 (감염 확인 + 사망 + 회복)
  • Confirmed 감염 확인 수
  • Deaths 사망 수
  • Recovered 복구 수
  • Mortality rate 사망 수/감염 확인 수
  • Recovery rate 복구 수/감염 확인 수
  • Daily Increase 증가수/일

  • 메이저 만드는 법



    측정값은 모든 테이블 아래에서 만들 수 있지만 _Measures 테이블에 함께 작성합니다.

    아래 그림과 같이 New measure 메뉴를 선택합니다.



    새 측정값이 만들어지고 _Measure 테이블 아래에 추가됩니다. Formula Bar가 표시되고 프롬프트가 사용자 입력을 기다리는 상태가 됩니다. = 기호의 왼쪽에 계수의 이름을 지정합니다. = 기호로 시작하는 오른쪽을 DAX(Data Analysis Expression) 수식이라고 합니다.



    아래는 Cases 측정값의 정의입니다.


    Cases = SUM(Latest[Value])
    

    Latest 테이블의 Value 열의 값의 합이라고 합니다.

    기타 측정값 정의



    같은 요령으로 다른 측정값을 정의합시다. 측정값은 데이터 모델 자체를 변경하지 않으므로 오류가 발생해도 문제가 없습니다.

    그런데 메이저는 다른 메이저를 바탕으로 계산할 수도 있습니다. Deaths 메이저는 상기의 Cases 메이저를 재이용하고 있습니다.
    Confirmed = 
    CALCULATE(
        [Cases],
        Latest[Status] = "Confirmed"
        )
    

    DAX 포뮬러를 여러 줄에 걸쳐 쓰려면 줄 바꿈에 Shift + Enter를 사용하십시오.

    점점 정의해 갑시다~.
    Deaths = 
    CALCULATE(
        [Cases],
        Latest[Status] = "Deaths"
    )
    
    Recovered = 
    CALCULATE(
        [Cases],
        Latest[Status] = "Recovered"
    )
    
    Mortality Rate = DIVIDE([Deaths], [Confirmed])
    
    Recovery Rate = DIVIDE([Recovered], [Confirmed])
    

    마지막으로 조금 복잡한 Daily Increase 측정값을 정의합니다. 여기에서는 오늘과 어제의 날을 변수로 저장하고 오늘까지의 합계에서 어제까지의 합계를 뺍니다. (더 효율적인 DAX 포뮬러도 있다고 생각하므로 알고 있는 사람은 꼭 코멘트란에서 가르쳐 주세요)
    DailyIncrease = 
     VAR today = MAX (master[date])
     VAR yesterday = MAX ( master[date] ) -1
     RETURN CALCULATE ( SUM (Master[Value] ), Master[Date] = today ) - CALCULATE ( SUM ( Master[Value] ), Master[Date] = yesterday )
    

    모든 메이저가 정의가 끝나면 아래 그림과 같이 되어 있을 것입니다.



    5/5에 이어



    드디어, 다음글 에서는 모델과 메이저를 사용해 정보의 가시화를 실시합니다.

    좋은 웹페이지 즐겨찾기