Tableau

[기본 계산] 기본 계산 함수 정리

응엉잉 2023. 7. 5. 16:02

기본 계산?

데이터 원본에 대한 행 수준 계산 또는 집계 계산

  행 수준 계산 ex) SPLIT

  집계 계산 ex) COUNT

 

기본 계산 종류

  • 숫자 함수
  • 문자열 함수
  • 날짜 함수
  • 유형 변환
  • 논리 함수
  • 집계 함수

 

숫자함수

필드의 데이터 값에 대한 계산 수행 가능

숫자값을 포함하는 필드에서만 사용 가능

  • ABS() 절댓값
  • CEILING() 올림 (소숫점 이하는 무조건 올림)
  • FLOOR() 내림 (소숫점 이하는 무조건 버림)
  • ROUND() 반올림
  • ZN() null 값을 0으로 변경

 

문자함수

문자열 데이터(텍스트) 조작 가능

문자열 분할, 합체 해서 새로운 필드에 저장 가능

SPLIT(), CONTAINS(), LEN(), LEFT(), MID(), RIGHT(), REPLACE() 등이 있음

 

ex01) Name이라는 차원에 이름-성 형태로 데이터가 존재하는 경우 성만 가져오고 싶을 때

SPLIT([Name], '-', 2)

문자열을 나눌 기준에 따라 나누고, 그중의 몇번째 값을 가져올지

 

ex02) 이름을 하이픈 없이 저장하고 싶을 떄 (이름성 형태로)

REPLACE([Name], '-', '')

- 를 no공백으로 대체

 

ex03) 가장 왼쪽에 있는 2개 글자만 가져오고 싶을 때

LEFT([Order ID], 2)

 

날짜함수

데이터 원본의 날짜 조작 가능

기존 값에서 새로운 날짜 값을 만들 수 있음

 

DATERUNC(), DATEADD(), DATEDIFF(), DATEPARSE(), DATEPART() 등이 있음 

 

ex) Order Date의 6 후 날짜를 보고싶은 경우

DATEADD('month', 6, [Order Date])

DATEADD는 날짜에 + 를 해줌

 

 

ex) Order Date의 주문만 보고싶은 경우

DATEPART('month', [Order Date])

 

DATEPART는 날짜를 정수로 반환 

 

 

ex) 분기가 나눠지는 시작일을 보고싶은 경우

DATETRUNC('quater', [Order Date])

 

ex) 주문일과 배송일간 일수 차이를 보고싶은 경우

DATEDIFF('day', [Order Date], [Ship Date])

DATEDIFF는 날짜간 차이를 반환

 

유형변환함수

필드를 한 데이터 유형에서 다른 데이터 유형으로 변환 가능

숫자를 문자열 값으로 변환하여 집계하지 않게 할 수 있음

STR(), DATEPARSE(), FLOAT(), INT() 등

ex) Order Date 라는 날짜필드를 문자열로 변환

STR([Order Date])

 

논리함수

특정 조건이 참인지 거짓인지 여부를 결정 가능

특정 임계값 위 또는 아래인지 판단 가능

CASE WHEN ~, IF ~ ELSE IF ~, OR, AND, ISNULL(), IFNULL()

 

ex) Profit에 따라 구분하고 싶은 경우 -> IF문 조건식 이용

IF [Profit] > 0 THEN 'profitable'
ELSEIF [Profit] = 0 THEN 'breakeven'
ELSE 'loss'
END

IF문으로 계산된 필드 작성 후 색상 마크에 드래그 >> 조건에 따라 색상이 다르게 표현됨

 

ex) Region에 따라 구분하고 싶은 경우 -> CASE WHEN 문 이용해서 원하는 값과 매칭

CASE [Region]
    WHEN 'West' THEN 1
    WHEN 'East' THEN 2
    WHEN 'South' THEN 3
    ELSE 4
END

 

 

집계함수 

데이터를 요약하거나 세부 수준을 변경 가능

특정 연도의 주문 수를 요약하여 비주얼리제이션에 표시

COUNT(), COUNTD(), AVG(), MAX(), MIN(), SUM()

 

ex) 고유한 Customer Name의 Count

COUNTD([Customer Name])