brunch

You can make anything
by writing

C.S.Lewis

by Cheon Jan 26. 2017

[LOD 표현식] FIXED


LOD 표현식

FIXED

INCLUDE

EXCLUDE





1. ‘FIXED’는 무엇인가?




뷰(View)에 있는 차원과 상관없이 계산된 필드에서 FIXED(고정시킨)한 차원의 집계식을 계산한다.


‘FIXED’를 사용한 LOD 표현식은 다음과 같이 사용할 수 있다.

{ FIXED [Category] : SUM([Sales]) } 



예를 들어보자.



◆ Country, State, City, 그리고 Sales를 이용하여 다음과 같은 테이블을 만들어보자.




이와 같은 뷰(View)의 상태는 디테일의 레벨이 City에 있다. 즉, 각 City의 SUM(Sales), 다시 말하면, 각 City에 해당하는 Sales의 총합으로 이루어져 있는 상태이다.




◆ 계산된 필드에서 다음과 같은 두 개의 수식을 작성하자.





◆ 그리고, 다음과 같은 테이블을 만들어보자.



첫번째 수식(‘FIXED for Country’)을 사용한 열을 보자. 모두 값이 ‘2,297,201’로 동일하다. 위 수식의 뜻은 디테일의 레벨을 ‘Country’로 고정시키고, 그 ‘Country’의 해당하는 ‘SUM(Sales)’을 구하라는 것이다. 즉, 위 테이블에 있는 ‘State’, ‘City’와는 상관없이 계산된 필드에서 FIXED(고정시킨)한 ‘Country’의 ‘SUM(Sales)’을 계산한다. 그러므로, 위 테이블에서 ‘Country’는 하나밖에 없기 때문에 모두 값이 동일하다.



두번째 수식(‘FIXED for State’)을 사용한 열을 보자. 각 State마다 값이 동일하다. 위 수식의 뜻은 디테일의 레벨을 ‘State’로 고정시키고, 그 ‘State’의 해당하는 ‘SUM(Sales)’을 구하라는 것이다. 즉, 위 테이블에 있는 ‘Country’, ‘City’와는 상관없이 계산된 필드에서 FIXED(고정시킨)한 ‘State’의 ‘SUM(Sales)’을 계산한다. 그러므로, 새로운 ‘State’의 행으로 넘어갈때 마다 ‘SUM(Sales)’의 값이 달라진다.



이해가 잘 안된다면, 기본적인 LOD의 개념을 이해해보자.






2. ‘FIXED’는 언제 사용할 수 있을까?




아래의 그래프는 각 Segment의 Profit이 Sub-Category별로 나눠진다. 



그리고, 각 Sub-Category에 해당하는 부분적인 막대그래프에 마우스를 갖다대면, Segment와 Sub-Category가 나오고, 각 Sub-Category에 해당하는 Profit 값이 나온다.



그러나, 만약 여기에 더해, 각 Sub-Category에 해당하는 부분적인 막대그래프에 마우스를 갖다대었을 때, 그 Sub-Category가 속한 Category의 Profit 값이 나오게 하려면 어떻게 해야 할까?



◆ 계산된 필드에서 아래의 수식을 작성하자.



위 수식(‘Profits for Category’)은 디테일의 레벨을 ‘Category’로 고정시키고, 그 ‘Category’의 해당하는 ‘SUM(Profit)’을 구하라는 것이다. 즉, 위 그래프에 있는 ’Segment’, 또는 ’Sub-Category’와는 상관없이 계산된 필드에서 FIXED(고정시킨)한 ‘Category’의 ‘SUM(Profit)’을 계산한다. 




◆ 위 수식(‘Profits for Category’)과 ‘Category’를 마크의 '도구 설명'에 드래그하자.



◆ 도구 설명을 클릭하자.



◆ 도구 설명 편집에서 아래와 같이 바꾸자.

(즉, 위의 두 줄(‘Segment’, ‘Sub-Category’)은 그대로 두고, 세번째 줄에서 Profits for 를 작성하고, 나머지는 오른쪽 위에 있는 ‘삽입’을 클릭하여 그림에 맞게 클릭하여 가져오자.)



그러면 그래프에 마우스를 갖다대면, 그 Sub-Category가 속한 Category의 Profit 값을 보여준다.



최종 그래프는 다음과 같다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari