본문 바로가기
Power BI

Power BI DAX 기초 - 측정값 이해

by 꼬리무늬 2024. 6. 30.
728x90
반응형

 

목차

     

    개요

     

    Power BI를 통해 데이터를 분석할 때 DAX (Data Analysis Expressions) 함수를 이용해 식으로 구성된 측정값을 만듭니다. 이때, DAX 함수의 입력과 출력이 어떤 형태인지, 그리고 측정값이 어떤 의미를 갖고 있는지 이해가 상당히 중요합니다.

     

    피벗 테이블을 통해 대략적인 개념을 갖고 있다 하더라도 다양한 DAX 함수를 활용하는데 어려움이 많죠. 그래서 측정값을 처음 접하게 된 경우, 엑셀의 피벗 테이블을 통해 익숙해지는 연습이 많이 필요합니다. 

     

    이번 포스트는 DAX 함수에 대한 구체적인 내용보다는 DAX 함수로 만드는 측정값이 어떤 의미를 갖는지 기초적인 부분을 다뤄보도록 하겠습니다. 

     

    Power BI에 대해서는 마이크로소프트에서 무료로 배포한 Power BI Desktop 프로그램을 통해 작업을 합니다.

     

     

    필터 조건에 따른 계산

     

    예제 데이터로 날짜/장소/색깔 별 판매량을 나타낸 표를 이용합니다. 연습에는 간단한 표가 유리합니다.

     

    엑셀에 아래 데이터를 입력하고, 표 이름으로 "주문량_표"라고 설정합니다. 이렇게 영역을 테이블로 정의해 두면 데이터가 추가되거나 삭제될 때 자동으로 테이블의 크기가 조절되기 때문에, 엑셀에서 데이터 관리에 아주 유리합니다.

     

     

     

    주어진 데이터에서 각 제품별 (Product) Amount의 합계를 구하려고 합니다.
    다양한 방법이 있습니다. 차례로 알아보도록 하죠.

     

    엑셀 함수 이용

     

    엑셀에서 제공하는 함수를 이용해서 아래처럼 Product = A 전체 판매량을 얻을 수 있습니다.

     

    =SUMIF(주문량_표[Product],"A",주문량_표[Amount])

     

    그러나 이 방법은 특정한 것을 구하려고 할 때는 유리하지만,
    대상이 많아지면 식을 여러 개를 개별적으로 사용해야 해서 복잡해집니다.

     

    피벗 테이블 이용

     

    피벗 테이블을 생성하면 피벗 테이블 필드를 통해 필드별로 "Amount" 합계를 구할 수 있습니다.

    피벗 데이블은 선택된 필드에 따라 필터링을 수행해서 그 결과를 보여줍니다.

     

    피벗 테이블 필드에서 원하는 필드를 <열>, <행>, <값>에 배치하면 다양한 조합의 결과를 얻을 수 있습니다. 이는 피벗 테이블이 주어진 필드로 필터를 수행하고 그 값을 자동으로 계산하기 때문입니다.


     

    아래 한 가지 더 예를 들면 행에는 Product, 열에는 Color를 배치했습니다. Product = B, Color = GREEN의 Amount 합 결과는 40이라는 것을 알 수 있죠.

     

     


     

    피벗 테이블에서는 값에 대해서 아래처럼 제공하고 있는 여러 계산 유형 중의 하나를 선택할 수 있습니다. 만일 개수를 선택하면 피벗 테이블에서는 행과 열의 필드값으로 필터를 수행한 다음 조건에 맞는 것을 찾습니다.

     

     

     

    이처럼 피벗 테이블에서 계산 유형을 갖는 값에 해당하는 것이 바로 측정값입니다.

     

     

    피벗 테이블은 계산 방식이 제한되어 있습니다. 그래서 엑셀에서 DAX 함수로 새로운 계산을 할 수 있도록 파워 피벗 사용 가능합니다.

     

    즉, Power BI Desktop는 엑셀의 파워 피벗 (Power Pivot) 기능을 품고 있습니다.

     

     

    Power BI 이용

     

    엑셀에서 제공하는 파워 쿼리, 파워 피벗에 익숙하면 Power BI의 많은 부분을 쉽게 사용할 수 있습니다.

     

    기본적으로 Power BI는 아래 세 가지를 담고 있기 때문입니다.

    • 데이터를 로딩해서 원하는 형태로 가공하는 파워 쿼리 (Power Query)
    • DAX 수식으로 측정값을 만들고 분석하는 파워 피벗 (Power Pivot)
    • 측정값을 다양한 형태로 그려주는 시각화 개체

     

    DAX SUM 함수는 해당 열의 값을 합하는 동작을 수행합니다. DAX로 만들어진 측정값이 피벗 테이블 값과 동일하다는 것을 확인해 보도록 하겠습니다.

     

    측정값 Sum of Amount를 아래 식으로 생성합니다.

     

     

    Sum of Amount =
    SUM ( SHOP[Amount] )

     

     

    왼쪽은 테이블 시각적 개체로, 오른쪽은 막대형 차트 시각적 개체로 표현했습니다.

     

    위 피벗 테이블에서 만든 결과와 비교하면 동일하다는 것을 알 수 있습니다.

     

    DAX SUM 함수로 만든 "Sum of Amount"가 바로 측정값

     

     

    반응형

     

     

    필터 컨텍스트에 따라 자동으로 계산된 값 - 측정값

     

    엑셀에서 SUM 함수는 특정 범위의 합을 계산합니다. 그러나 DAX SUM 함수는 주어진 시각적 개체의 필터 컨텍스트에 따라 계산을 합니다.

     

    이 점이 가장 큰 차이점이고, 처음 측정값을 공부할 때 많이 헷갈리는 부분입니다.

     

    계산되는 과정은 선택된 시각적 개체에 필터 컨텍스트 (어떤 내용으로 필터를 수행할 지에 대한 내용)가 만들어지고 (아래에서는 열에 Product, Color), 이를 바탕으로 데이터에서 필터가 수행됩니다.

     

    아래 예는 테이블 시각적 개체에 열로 Product, Color, Sum of Amount를 할당했습니다.

     

    측정값 계산 방식입니다.

    • (1) 테이블의 Product, Color로 필터 컨텍스트가 형성되고, 각 행 별로 Product와 Color로 필터를 수행합니다.

     

     

    활용 예제

     

    DAX 함수로 만든 측정값이 시각적 개체의 필터 컨텍스트에 의해 계산된다는 것을 이해하는 점이 가장 중요합니다.

     

    시각적 개체 원형 차트를 통해 각 색깔별로 차지하는 비율을 볼 수 있습니다.

     

     


     

    시각적 개체 세로 막대형 차트를 통해 제품에 따라 각 색깔들의 합계도 볼 수 있습니다.

     

    728x90
    반응형