유형 변환
이 문서에서는 Tableau의 유형 변환 함수와 관련 사용법을 소개합니다. 또한 예제를 사용하여 유형 변환 계산을 만드는 방법을 보여 줍니다.
유형 변환 함수를 사용하는 이유
유형 변환 함수를 사용하면 필드를 한 데이터 유형에서 다른 데이터 유형으로 변환할 수 있습니다('캐스팅'이라고도 함). 예를 들어 문자열 데이터 유형의 필드에 날짜 정보가 있는 경우 필드가 날짜 데이터 유형으로 캐스팅(변경)되지 않는 한 날짜 계산에 해당 필드를 사용할 수 없습니다.
예를 들어 DATEDIFF 함수에서 문자열 날짜 필드를 사용하려면 날짜 유형 변환도 사용해야 합니다.
DATEDIFF('day', [Date Field], DATE([String Date Field]) )
DATE 함수가 데이터 유형을 변경하지 않으면 "DATEDIFF가 (문자열, 날짜, 문자열)로 호출되고 있습니다"라는 오류가 발생합니다.
팁: 데이터 패널의 필드에는 기본 데이터 유형이 있습니다. 대부분의 경우 유형 변환 함수를 사용할 필요가 전혀 없습니다. 아이콘을 클릭하여 필드의 데이터 유형을 변경할 수 있습니다. 그러나 경우에 따라 특정 계산에 대해서만 데이터 유형을 변경하는 것이 유용할 수 있습니다. 그렇지 않으면 Tableau가 필드의 콘텐츠를 원하는 데이터 유형으로 올바르게 변환하지 못할 수도 있습니다(예: 날짜 형식을 인식하지 못하는 경우). 그러한 경우 아래 나열된 것과 같은 유형 변환 함수를 사용해야 합니다.
Tableau에서 사용할 수 있는 유형 변환 함수
DATE
구문 | DATE(expression) |
출력 | 날짜 |
정의 | 숫자, 문자열 또는 날짜 식이 주어진 날짜를 반환합니다. |
예 | DATE([Employee Start Date]) DATE("September 22, 2018") DATE("9/22/2018") DATE(#2018-09-22 14:52#) |
참고 | DATEPARSE(링크가 새 창에서 열림)와 달리 DATE는 다양한 표준 날짜 형식을 자동으로 인식하므로 패턴을 제공할 필요가 없습니다. 그러나 DATE가 입력을 인식하지 못하면 DATEPARSE를 사용하여 형식을 지정해 보십시오. MAKEDATE(링크가 새 창에서 열림)도 비슷한 함수이지만 MAKEDATE에는 연도, 월, 일에 대한 숫자 값을 입력해야 합니다. |
DATETIME
구문 | DATETIME(expression) |
출력 | 날짜/시간 |
정의 | 숫자, 문자열 또는 날짜 식이 주어진 날짜/시간을 반환합니다. |
예 | DATETIME("April 15, 2005 07:59:00") = April 15, 2005 07:59:00 |
FLOAT
구문 | FLOAT(expression) |
출력 | 부동 소수점 수(실수) |
정의 | 인수를 부동 소수점 수로 캐스팅합니다. |
예 | FLOAT(3) = 3.000 |
참고 | 정수를 반환하는 INT도 참조하십시오. |
INT
구문 | INT(expression) |
출력 | 정수 |
정의 | 인수를 정수로 캐스팅합니다. 식에서 이 함수는 결과를 0에 가장 근접한 정수로 잘라냅니다. |
예 | INT(8/3) = 2 INT(-9.7) = -9 |
참고 | 문자열을 정수로 변환하는 경우 먼저 실수로 변환된 다음 반올림/반내림됩니다. 십진수를 반환하는 FLOAT도 참조하십시오. |
MAKEDATE
구문 | MAKEDATE(year, month, day) |
출력 | 날짜 |
정의 | 지정된 숫자 년, 월, 일로 구성된 날짜 값을 반환합니다. |
예 | MAKEDATE(1986,3,25) = #1986-03-25# 참고로, 값을 잘못 입력하면 4월 31일이 없다는 오류를 반환하는 대신 MAKEDATE(2020,4,31) = May 1, 2020처럼 날짜가 조정됩니다. |
참고 | Tableau 데이터 추출에 사용할 수 있습니다. 다른 데이터 원본에서는 사용 가능한지 확인해야 합니다. MAKEDATE에는 날짜 부분에 대한 숫자 입력이 필요합니다. 데이터가 날짜를 나타내는 문자열이면 DATE 함수를 사용해 보십시오. DATE는 다양한 표준 날짜 형식을 자동으로 인식합니다. DATE가 입력을 인식하지 못하면 DATEPARSE를 사용해 보십시오. |
MAKEDATETIME
구문 | MAKEDATETIME(date, time) |
출력 | 날짜/시간 |
정의 | 날짜 및 시간을 결합하는 날짜/시간을 반환합니다. 날짜는 날짜, 날짜/시간 또는 문자열 유형일 수 있습니다. 시간은 날짜/시간이어야 합니다. |
예 | MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM# MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM# |
참고 | 이 함수는 MySQL 호환 연결에만 사용할 수 있습니다(Tableau에서는 MySQL 및 Amazon Aurora). MAKETIME은 Tableau 데이터 추출 및 일부 다른 데이터 원본에 사용할 수 있는 유사한 함수입니다. |
MAKELINE
구문 | MAKELINE(<Spatial Point1>,<Spatial Point2>) |
출력 | 기하 도형 공간 개체(라인) |
정의 | 두 점 사이에 라인 마크를 생성합니다. |
예 | MAKELINE(OriginPoint, DestinationPoint) MAKELINE( MAKEPOINT(OriginLat],[OriginLong]) , MAKEPOINT([DestinationLat],[DestinationLong] ) |
참고 | 기점-종점 맵을 구축하는 데 유용합니다. 또한 MAKEPOINT와 함께 사용하여 위도와 경도를 공간 객체로 변환하는 데 유용합니다. |
MAKEPOINT
구문 | MAKEPOINT(<latitude>, <longitude>) |
출력 | 기하 도형 공간 개체(점) |
정의 | 위도 및 경도 열의 데이터를 공간 개체로 변환합니다. |
예 | MAKEPOINT([AirportLatitude],[AirportLongitude]) |
참고 | MAKEPOINT를 사용하면 공간 조인을 사용하여 공간 파일과 조인할 수 있도록 데이터 원본을 공간적으로 사용할 수 있습니다. 자세한 내용은 Tableau에서 공간 파일 조인을 참조하십시오. MAKEPOINT를 사용하려면 데이터에 위도 및 경도 좌표가 포함되어야 합니다. |
MAKETIME
구문 | MAKETIME(hour, minute, second) |
출력 | 날짜/시간. 참고 사항을 참조하십시오. |
정의 | 지정된 시, 분, 초로 구성된 날짜 값을 반환합니다. |
예 | MAKETIME(14, 52, 40) = #1/1/1899 14:52:40# |
참고 | Tableau는 시간 데이터 유형을 지원하지 않고 날짜/시간만 지원하므로 출력은 datetime입니다. 필드의 날짜 부분은 1/1/1899입니다. MAKEDATETIME과 유사한 함수, MYSQL 호환 연결에서만 사용할 수 있습니다. |
STR
구문 | STR(expression) |
출력 | 문자열 |
정의 | 인수를 문자열로 캐스팅합니다. |
예 | STR([ID]) |
캐스트 부울 식
부울을 정수, 실수 또는 문자열로 캐스팅할 수 있지만 날짜로 캐스팅할 수는 없습니다.
True
는 1, 1.0 또는 "1"에 매핑됩니다.False
는 0, 0.0 또는 "0"에 매핑됩니다.Unknown
은Null
에 매핑됩니다.
유형 변환 계산 만들기
아래의 단계를 수행하여 유형 변환 계산을 만드는 방법을 배워 보십시오.
- Tableau Desktop에서 Tableau와 함께 제공된 샘플 – 슈퍼스토어라는 저장된 데이터 원본에 연결합니다.
- 워크시트로 이동합니다.
- 분석 > 계산된 필드 만들기를 선택합니다.
- 열린 계산 에디터에서 Postal Code 필드를 숫자에서 문자열로 변환합니다.
- 계산된 필드 이름을 Postal Code String으로 지정합니다.
- 다음 수식을 입력합니다.
STR([Postal Code])
- 작업을 마쳤으면 확인을 클릭합니다.
새 계산된 필드가 데이터 패널의 차원 아래에 나타납니다. 다른 필드와 마찬가지로, 하나 이상의 비주얼리제이션에서 이 필드를 사용할 수 있습니다.
이 필드를 숫자에서 문자열로 변환하면 Tableau가 필드를 숫자가 아닌 문자열로 취급하게 됩니다. 즉, 필드를 집계하지 않습니다.