[Tableau]

WINDOW 함수

indongspace 2025. 3. 7. 01:08

 

 

 

준비

 

계산된 필드 -> 테이블 계산 에서

다양한 종류의 WINDOW 함수를 확인할 수 있다.

 

※ 사용빈도가 높은 윈도우 함수

WINDOW_AVG

WINDOW_COUNT

WINDOW_MAX
WINDOW_MIN
WINDOW_SUM

 

WINDOW ? -> Customizable Calculation Range

 

계산된 필드를 하나 만들고 행 선반에 올린다.

생략된 디폴트를 포함하면 WINDOW_AVG(SUM([Sales]), FIRST(), LAST()) 이다.

result

WINDOW TEST 필드의 결과를 보면 모든 분기에 걸쳐서 145,408 이라는 숫자가 나타나고 있다.

이건 SUM(Sales)의 모든 값을 합계한 이후에 총 16개 항목(=16개의 쿼터)으로 나눠준 값이다.

 

이렇게 변경해보자.

- 0은 자기자신의 위치

- 다른 숫자는 자신을 기준으로 상대적인 위치

result

값이 바뀌었다.

자기자신(75,972)의 위치에서 3만큼 뒤(89,285 & 145,535 & 183,249) 까지 모두 포함한 4개의 값의 평균을 구한 결과값이 123,510 인 것이다. 

그럼 WINDOW TEST의 두번째 막대의 값은 어떻게 나온건지 예상이 될 것이다.

 

-1과 1로 숫자를 바꿔준 결과이다.

103,597 이라는 두번째 막대는 어떻게 나온 결과일까?

= 내 앞에 있는 값(75,972)와 나(89,285) 내 뒤에 있는 값(145,535) 총 3개의 값의 평균을 구한 결과값이다.

 

21년도 1쿼터 값(82,628)은 어떻게 나온 것일까? 

21년도 1쿼터 이전의 값은 존재하지 않기 때문에, 75,972 & 89,285 2개의 값만의 평균을 구한 결과값이다.

 

윈도우 함수 내에서 start와 end는 결국 자기 자신을 중심으로 했을 때의 상대적인 위치다.

 

계산된 필드를 이렇게 바꾼다면 어떻게 될까?

result

21년도 1쿼터와 24년도 4쿼터의 막대가 사라진다.

20년도 4쿼터와 25년도 1쿼터의 값이 없기 때문이다.

WINDOW_COUNT의 값이 2이기 때문에 계산되지 않는 것이다.

WINDOW TEST의 테이블 계산을 열어보면 '값이 부족한 경우 Null' 이라는 체크박스 기능이 있는데, 이것과 똑같은 역할을 한다.

 

 

 

계산된 필드를 처음으로 돌려놓는다. 'WINDOW_AVG(SUM([Sales]), -1, 1)'

Order Date를 불연속형으로 바꾼다.

현재는 WINDOW_AVG(SUM([Sales]), -1, 1) & 테이블 옆으로 가 적용된 화면이다.

 

패널(옆으로) 를 적용시키면

result

WINDOW_AVG(SUM([Sales]), -1, 1) & 패널 옆으로 가 적용된 화면이다.

테이블 옆으로 에서 21년도 4쿼터의 값(133,059)은 (145,535 & 183,249 & 70,392)의 평균으로 구한 결과였다.

패널 옆으로 에서 21년도 4쿼터의 값(164,392)은 22년도 1쿼터의 값(70,392)을 고려하지 않고, 21년도 3,4 쿼터(145,535 & 183,249)의 평균만으로 나온 결과로 바뀌었다.

 

 

IF문을 넣는다면, (계산 방식이 '테이블 옆으로' -> '패널 옆으로' 로 변경된 것을 상기하자) 

result

이렇게 바뀐다.

 

※ '윈도우 안에서 커스터마이즈 할 수 있는 계산의 범위'가 '테이블 계산 전체에서 Configure하는 테이블 or Pane 이라는 범위' 보다 하위의 개념인 것이다. 즉, 전자가 후자에 종속 되어 있다.

 

 

 

윈도우 함수의 Use Case

윈도우 함수는 데이터의 분포가 상이하게 나타나는 차원값에 대해서 Normalize시킬 때 유용하다.

Feature scaling

준비 1
준비 2

INDEX 함수를 만들고, 테이블 계산 -> Region 별로 Customer Name에 대해서 계산(점이 옆으로 퍼지는 기능) 

이제, 계산된 필드 Sales - Normalized 를 행 선반에 넣는다. -> 합계(Sales) 필드를 빼고

테이블 계산 에서 Region 별 Customer Name(고객) 에 대해서 계산 으로 바꿔주면,

result

각 지역별로 매출이 제일 큰 고객에 대해서 매출규모가 정규화된 시각화 차트를 확인할 수 있게 된다.

 

 

 

 

 

공부내용 :

https://www.inflearn.com/course/%ED%83%9C%EB%B8%94%EB%A1%9C-%EC%A4%91%EA%B8%89

 

[지금 무료]태블로 레벨UP 강의 | VizLab - 인프런

VizLab | , 🗒 강의소개 강의를 만들게된 계기가 어떻게 되시나요? 왜 이 강의를 만들게 되신거죠?저는 2015년 말에 태블로라는 툴을 처음 접하게 되었습니다. 당시에도 한국에 태블로가 소개되지

www.inflearn.com

 

 

 

 

 

'[Tableau]' 카테고리의 다른 글

INCLUDE LOD 표현식  (0) 2025.03.11
VLOD (View Level of Detail)  (0) 2025.03.10
테이블 계산 주요 함수 - INDEX, SIZE, RANK, TOTAL  (0) 2025.03.06
테이블 계산 범위 설정 (2)  (0) 2025.03.05
테이블 계산 범위 설정 (1)  (0) 2025.03.05