[파워피벗공부] 4. 간단한 측정값(Measure) 만들기

2019. 7. 9. 16:54엑셀/파워피벗 공부

728x90
반응형

간단한 측정값 만들기를 통해서 일반 피벗 테이블에서는 표현하기 번거로운 작업을 한방에 해결해 보겠다. 

실제로 업무에서 내가 기본 작업으로 가장 많이 하는 일이기도 하다. 

그러나..... '측정값(Measure)'에 대해서 먼저 설명을 해야 할 것 같은데... 고민이 많다. 
역시 비전문가의 한계가 여기서 드러난다. 

하지만 늘상 고객님들께 설명하듯 쉽게 표현해보자면 

"피벗팅할 모든 항목의 조합 대로 미리 더 해놓은 값" 

즉, 어떤 항목이 피벗 테이블의 영역에 들어오더라도 미리 더 해놓은 값을 툭하고 꺼내놓을 수 있게 미리 메모리에 저장한 값을 만들어 사용하는 것입니다... 라고 설명하는데..

잘 몰라도 쓰는데 지장없으면 잘쓰는 것이 이기는 길이다. 일단 만들어보자. 예제 데이터는 앞선 포스팅과 동일하다. 

① 계산영역 : 하단의 빨간색으로 표시 해놓은 부분이 계산영역이다. 여기에 커서를 놓고 DAX 함수로 측정값을 만들수 있다.
② 측정값 : 계산영역에 작성된 측정값이 표시된 상태이다. 
③ 함수 입력창 : 측정값 Sales qty 에 대한 DAX 함수가 표시된다. 

1) Sales qty := 2sum(fSales_data[Sales Quantity]) 

 우선 측정값 이름을 적어주고 새미콜론과 등호( := ) 입력 후 DAX 함수를 사용하여 측정값을 만든다. 
위의 예시는 측정값이름이 "Sales qty" 이고  "fSales_data" 란 테이블의 "[Sales Quantity]" 필드의 값을 "sum" 합산한 값이라는 의미이다. 

이렇게 작성된 측정값은 피벗 테이블에서 항목명 앞에 'fx ' 기호로 구분된다. 

작성은 간단하다.
그런데 이놈의 활용은 ? 원본인 Sales Quantity 필드가 있고 이 필드를 값영역에 넣어서 사용하는 것과 다름이 없는데...

자~! 이제 그냥 피벗테이블에서는 할 수 없는 것을 해보자. (물론 이작업은 데이터 원본을 가공하면 가능하다.)

피벗 테이블의 표시형식을 사용하면 값을 비율로 표시하는 것이 가능하다. 
하지만 한계가 있다. 필터를 통해 특정항목을 제외하면 그만큼의 값이 빠진채로 표시된다. 
즉, 보이는 만큼만 처리한다는 것인데 파워피벗의 측정값을 사용하면 해결이 가능하다. 

이제 할 일은 전체 "Sales Quantity" 에 대한 비율을 피벗에 표시 할 것이다. 

먼저 하나씩 하기 위해 측정값 "Total Sales qty" 를 만든다. 

Total Sales qty:=CALCULATE(fSales_data[Sales qty],ALL(fSales_data))
--> 전체 판매수량이라는 값을 측정값으로 만들어 놓은 것이다.
     그리고 이 측정값으로 Sales qty 라는 앞서 만든 측정값을 나누는 측정값을 다시 만들것이다. 

Total Sales % := DIVIDE(fSales_data[Sales qty],fSales_data[Total Sales qty])


* DAX 함수 CALCULATE 에 대해서는 아래 링크를 통해 학습할 수 있다 
https://docs.microsoft.com/en-us/dax/calculate-function-dax


완성된 측정값들을 피벗 테이블에 "Product_Name" 별로 구성한 결과이다. 

이렇게 놓고 보면 딱 감이 온다. "Total Sales %" 는 "Product_Name" 중 라벤더가 빠져도 문제없이 값을 표현한다. 

측정값을 적게 쓰려면 "Total Sales %" 를 한 방에 함수로 만들면 된다. 함수를 사용하는 기본 방식은 엑셀과 크게 다르지 않으므로 쉽게 응용이 가능하다. 

슬라이서로 필터를 적용한 결과이다.  굿~! 

Data_품목_매장_매출실적_PP2.xlsx
0.24MB

728x90
반응형