brunch

You can make anything
by writing

C.S.Lewis

by Cheon Dec 07. 2016

[테이블 계산] Helper 함수

태블로에서 제공하는 다양한 테이블 계산 함수 중에 'Helper 함수’를 살펴보자.



Helper 함수

FIRST( )

LAST( )

INDEX( )

SIZE( )




1) FIRST( )


FIRST( ): 첫번째 행을 ‘0’으로 하고, 그 다음행부터 ‘-1'씩 증가한다.


◆ ‘Sub-Category’를 행으로 드래그하자.

◆ 계산된 필드에서 ‘FIRST( )’라고 작성하자.



◆ 위 계산된 필드('fisrt 함수’)를 텍스트로 드래그하자.

‘FIRST( )=0’은 첫번째 행을 의미하고, ‘FIRST( )=-3’이면 네번째 행을 의미한다.



그럼 ‘FIRST( )’ 함수는 언제 사용할 수 있을까?



# 만약, 첫번째 행과 세번째 행만 매출액을 표시하고 싶다면?



◆ ‘Order Date’를 행으로 드래그하자.

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


위 수식의 의미는 첫번째 행('FIRST()=0') 또는 세번째 행('FIRST()=-2')일 경우 매출액의 합계를 표시한다는 뜻이다.


◆ 위 수식('fisrt 함수 응용')을 텍스트로 드래그하자.


위와 같이 2012년도(첫번째 행)와 2014년도(세번째 행)의 매출액만 표시가 된다.




2) LAST( )


LAST( ): 마지막 행을 ‘0’으로 하고, 그 전행부터 ‘+1'씩 증가한다.


  

◆ ‘Sub-Category’를 행으로 드래그하자.

◆ 계산된 필드에서 ‘LAST( )’라고 작성하자.


◆ 위 계산된 필드(‘last 함수’)를 텍스트로 드래그하자.


‘LAST( )=0’은 마지막 행을 의미하고, ‘LAST( )=2’이면 마지막에서 세번째 행을 의미한다.



그럼 ‘LAST( )’ 함수는 언제 사용할 수 있을까?



# 만약, 마지막 행과 마지막에서 세번째 행만 매출액을 표시하고 싶다면?


◆ ‘Order Date’를 행으로 드래그 하자.  

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


위 수식의 의미는 마지막 행(‘LAST( )=0') 또는 마지막에서 세번째 행(‘LAST( )=2')일 경우 매출액의 합계를 표시한다는 뜻이다.


◆ 위 수식(‘last 함수 응용')을 텍스트로 드래그하자.


위와 같이 2015년도(마지막 행)와 2013년도(마지막에서 세번째 행)의 매출액만 표시가 된다.




3) INDEX( )


INDEX( ): 첫번째 행을 ‘1’로 하고, 그 다음행부터 ‘+1'씩 증가한다.  


◆ ‘Sub-Category’를 행으로 드래그하자.

◆ 계산된 필드에서 ‘INDEX( )’라고 작성하자.


◆ 위 계산된 필드(‘index 함수’)를 텍스트로 드래그하자.


‘INDEX( )=1’은 첫번째 행을 의미하고, ‘INDEX( )=3’이면 세번째 행을 의미한다.  



그럼 ‘INDEX( )’ 함수는 언제 사용할 수 있을까?  



# 만약, 매출액이 많은 순으로 순위를 매기고 싶다면?


◆ ’Sub-Category’를 행으로 드래그하자.

◆ ‘Sales’를 열에 드래그하자.

◆ 열 위에 ‘내림차순 정렬’을 클릭하자.


◆ 계산된 필드에서 제목을 ‘순위’, 수식을 ‘INDEX( )’ 함수를 작성하자.


◆ ‘순위’를 행으로 드래그하자.

◆ ‘순위’를 클릭하고 ‘불연속형’으로 바꾸자.


◆ ‘순위’를 ’Sub-Category’ 왼쪽으로 드래그하자.


그러면 아래와 같이 ‘Sub-Category’를 매출액이 많은 순으로 순위를 매길 수 있다.




4) SIZE( )

SIZE( ): 행의 개수를 말한다.


◆ ‘Category’를 행으로 드래그하고, ‘Sub-Category’까지 확장하자.

 계산된 필드에서 ’SIZE( )’라고 작성하자.


◆ ‘size 함수’를 ‘텍스트’로 드래그하자.

◆ ‘size 함수’를 클릭하고 ‘테이블 계산 편집’을 클릭하자.


◆ ‘특정 차원’을 클릭하고 ‘다음마다 다시 시작’에서 ‘Category’를 클릭하자.


그러면 아래와 같은 테이블이 나온다.


‘SIZE( )’ 함수는 행의 개수를 나타내는데, 위에서 ‘다음마다 다시 시작’을 ‘Category’로 선택했으므로, 매 ‘Category’ 마다 행의 개수가 다르다. 즉, ‘Furniture’의 행의 개수는 4개, ‘Office Supplies’의 행의 개수는 9개, 이런식이다.



그럼 ‘SIZE( )’ 함수는 언제 사용할 수 있을까?      



# 만약, 아래와 같은 막대그래프에서 총합계의 막대그래프를 제거하고 싶다면?

◆ ‘Sub-Category’를 행으로 드래그하자.

◆ ‘Sales’를 열에 드래그하자.

◆ ’Sub-Category’를 ‘Sales’별로 내림차순 정렬을 하자.

◆ ‘Sales’를 레이블에 드래그하자.



열에 ‘총합계’를 추가하기 위해,


◆ ‘분석 - 총계 - 열 총합계 표시’를 클릭하자.


그러면 아래와 같은 막대그래프가 나온다.


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


위 수식의 의미는 행의 개수가 1개면(‘SIZE( )=1’) ‘0’이고 아니면 매출액의 합계를 표시하라는 뜻이다.




◆ 위 수식(‘size’ 함수 응용’)을 열에 있는 ‘합계(Sales)’와 바꾸자.

◆ ‘size 함수 응용’을 마크의 ‘색상’으로 드래그하자.



여기서 ‘SIZE( )’ 함수를 통해 얻어지는 행의 개수는 ‘Sub-Category’의 행의 개수와 ‘총합계’의 행의 개수를 따로 계산한다. 즉, ‘Sub-Category’의 행의 개수는 17개이고, ‘총합계’의 행의 개수는 1개로 계산된다. 따라서 위 수식처럼 'SIZE( )=1’는 ‘총합계’ 행을 의미하고, 그래서 ‘총합계’의 막대그래프가 제거되었다.



그러면 아래와 같이 막대그래프로 매출액을 비교하고 매출액의 총합계를 숫자로만 표시하고 막대그래프를 제거하여 좀 더 깔끔한 그래프가 되었다.



위 4가지의 Helper 함수는 그 자체로도 쓰이긴 하지만, Helper 함수 이름처럼, 다른 계산식을 만들때 추가적으로 많이 쓰인다.




매거진의 이전글 [테이블 계산] 테이블의 값들이 계산되는 방식
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari