필드를 날짜 필드로 변환
데이터베이스마다 날짜 필드를 저장하는 방식이 조금씩 다릅니다. Tableau는 날짜 필드를 최대한 정확하게 해석하려고 하지만 Tableau에서 날짜 필드를 텍스트 문자열이나 숫자 필드로 가져오는 경우가 있습니다. 이러한 경우 문제를 해결하려면 몇 가지 단계를 거쳐야 합니다.
날짜 필드 확인
데이터 원본 페이지에서 날짜 필드가
| 또는 데이터 패널에서 문자열로 나타날 수 있습니다.
|
날짜가 문자열로 해석되면 날짜 필드 작업의 모든 기능과 편의성이 상실됩니다. 예를 들어 날짜를 드릴다운하거나, 날짜 계산을 사용하거나, 연속형 및 불연속형 측정값 전환을 사용할 수 없게 됩니다.
날짜가 올바르게 해석되지 않으면 다음 단계를 순서대로 수행하십시오.
필드의 데이터 유형 변경
날짜 필드 해석 문제를 해결하기 위한 첫 번째 단계는 데이터 유형이 날짜 또는 날짜 및 시간으로 설정되어 있는지 확인하는 것입니다.
데이터 원본 또는 데이터 패널에서 데이터 유형 아이콘을 클릭하고 데이터 유형을 날짜 또는 날짜 및 시간으로 변경합니다.
뷰 또는 데이터 원본 패널에서 데이터를 검토합니다. 많은 Null 값이 보이는 경우 데이터 유형을 문자열로 되돌리고 DATEPARSE 함수를 사용하여 계산 만들기 단계를 진행하여 문제를 해결하십시오.
DATEPARSE 함수를 사용하여 계산 만들기
날짜는 거의 무한한 형식으로 저장됩니다. 어떤 날짜 필드는 월 앞에 연도가 있고, 어떤 날짜 필드는 날짜 구성 부분을 마침표로 구분하고, 어떤 날짜 필드는 여러 형식의 조합을 사용합니다. Tableau가 날짜 필드를 해석할 수 없는 경우 특정 형식을 변환할 수 없기 때문일 수 있습니다.
DATEPARSE 함수를 사용하면 필드의 어느 부분이 날짜의 어떤 부분인지 명확히 정의할 수 있습니다. 다시 말하면, Tableau가 문자열을 날짜 필드로 변환하는 데 사용할 수 있는 맵을 만들어야 합니다. 이 맵을 형식이라고 합니다.
참고: 이 기능은 레거시가 아닌 Excel 및 텍스트 파일 연결, Amazon EMR Hadoop Hive, Cloudera Hadoop, Google 스프레드시트, Hortonworks Hadoop Hive, MapR Hadoop Hive, MySQL, Oracle, PostgreSQL 및 Tableau 추출 커넥터를 통해 사용할 수 있습니다. 일부 형식은 일부 연결에 사용할 수 없습니다.
참고: DATEPARSE는 Hive 버전에서 지원되지 않습니다. Denodo, Drill 및 Snowflake에서만 지원됩니다.
DATEPARSE 계산 만들기
날짜 필드의 현재 형식을 검토합니다. 필드에서 월, 연도, 시간 및 일이 표시되는 위치를 기록합니다. DATEPARSE 함수에 이 정보가 필요합니다.
A. 일(매월)
B. 월
C. 년
D. 시, 분, 초, 밀리초, 기간
차원 패널의 날짜 필드를 마우스 오른쪽 단추로 클릭하고 만들기 > 계산된 필드를 선택합니다.
대화 상자에서 DATEPARSE 함수를 작성합니다. DATEPARSE 함수는 형식과 문자열의 두 부분으로 구성됩니다. 문자열은 변환하려는 필드로, 문자열 데이터 유형이어야 합니다.
A. 형식
B. 문자열
형식은 Tableau가 문자열을 날짜로 해석하기 위해 사용하는 지침입니다. 아래 표에서 볼 수 있는 것처럼, 날짜 또는 시간 문자열의 각 부분에는 일치하는 기호가 있습니다. 형식은 날짜가 표시되는 방식을 정확하게 재현해야 합니다. 예를 들어 문자열에 2자리 연도 코드("97")가 있을 때 단일 연도 코드("Y")를 사용하면 계산에서 Null 값이 반환됩니다.
참고: 형식이 표시되는 문자열을 정확하게 재현해야 한다는 것에 대한 예외는 날짜의 긴 형식 부분("September")을 네 자리 기호로 형식화할 수 있다는 것입니다("September" = "MMMM").
형식에는 문자열을 올바르게 해석할 수 있도록 모든 공백, 하이픈 및 기타 비영숫자 기호가 포함되어야 합니다.
날짜 필드 기호
날짜 부분 기호 예제 문자열 예제 형식 연도 y 97, 2017 yy, y 또는 yyyy "주(1년 기준)"의 연도 Y 1997 Y 표준 시간대 Z, z -0800, PST-08:00, PST Z, ZZZZ, zzz 월 M 9, 09, Sep, September M, MM, MMM, MMMM 주(1년 기준)(1-52) w 8, 27 w, ww 연도의 분기 Q Q2, 2nd quarter QQQ, QQQQ 요일 E Mon, Monday EEE, EEEE 일(매월) d 1, 15 d, dd 일(1년 기준)(1-365) D 23, 143 D, DD, DDD 기간(am/pm 마커) a AM, am, PM aa, aaaa 시(1-12), 시(0-23) h, H 1, 10, 16 h, hh, HH 분 m 8, 59 m, mm 분의 초 s 5, 05 s, ss 소수 자릿수 초 S 2, 23, 235, 2350 S, SS, SSS, SSSS 하루 단위의 밀리초 A 34532 AAAAA 보다 자세한 날짜 기호의 전체 목록에 대해서는 Unicode 페이지의 국제 구성 요소에 대한 날짜 및 시간 형식 지정 개요(영문)(링크가 새 창에서 열림)를 참조하십시오.
참고: 일부 날짜 형식은 일부 데이터베이스 및 파일 형식에서 지원되지 않습니다.
Tableau에 표시된 문자열과 비교하여 형식을 확인하십시오. 기호 및 형식 지정이 올바른 경우 확인을 선택하여 새 계산된 필드를 만듭니다. 계산된 필드는 뷰에서 날짜 필드로 작동합니다.
Hyper 추출
.hyper 추출 데이터 원본의 경우 Unicode Consortium에서 기호를 정의합니다. 자세한 내용을 보려면 추출 데이터 원본에 대한 DATEPARSE 함수의 형식 구문으로 이동하여 .hyper 추출에서 DATEPARSE 함수와 함께 사용할 수 있는 하위 필드 유형 및 기호 집합을 확인하십시오.
로캘 고려 사항
DATEPARSE 함수는 컴퓨터 설정에 지정된 로캘을 기반으로 변환하려는 문자열을 해석하고 표시합니다. 구체적으로 말하면, 로캘은 특정 형식이 인식될 수 있는지 여부를 결정합니다. 즉, 형식이 로캘에서 지원되지 않으면 Null 값이 표시되거나 값이 반환되지 않을 수 있습니다. 예를 들어 데이터에 다음과 같은 문자열이 있다고 가정해 보겠습니다.
12Sep2016:9:8:8.6546
이 문자열에 대해 DATEPARSE 함수에서 반환되는 값은 로캘에 따라 달라집니다. 영어 로캘에서는 특정한 값을 얻게 되지만 일본어 로캘에서는 아무 값도 얻지 못합니다. 이 경우 일본어 로캘에서 “Sep”가 인식되지 않으므로 아무 값도 반환되지 않습니다.
날짜/시간 값
영어 로캘 | 일본어 로캘 |
---|---|
#9/12/2016 9:08:09 AM# | - |
모든 날짜에서 DATEPARSE 함수를 사용하여 문자열을 날짜/시간 유형으로 변환한 후 기본적으로 로캘의 기본 형식으로 날짜/시간 값이 표시됩니다. 로캘이 변경되면 DATEPARSE 함수의 결과에서 새 날짜/시간 값이 다른 형식으로 표시될 수 있습니다.
참고: Access 데이터 원본에서 만든 추출에서는 Jet의 제한 때문에 DATEPARSE 함수가 컴퓨터 설정에 지정된 로캘 정보를 올바르게 식별할 수 없습니다. 이 문제를 해결하려면 Access 데이터를 Excel로 내보내십시오.
DATE 함수를 사용하여 계산 만들기
작업 중인 데이터에 DATEPARSE 함수를 사용할 수 없거나 변환하려는 필드가 숫자 데이터 유형인 경우 DATE 함수를 대신 사용할 수 있습니다.
DATE 함수는 숫자, 문자열 또는 날짜 식을 날짜 유형으로 변환합니다. DATE 함수를 사용하는 계산을 만들면 Tableau 데이터 원본에 날짜 데이터를 날짜 유형으로 사용할 수 있게 해 주는 새 필드가 만들어집니다. DATE 함수를 사용하여 숫자, 문자열 또는 날짜 식에서 날짜 값을 생성하려면 Tableau가 문자열의 구성 요소를 날짜 부분으로 해석할 수 있어야 합니다. 날짜 구성 요소가 식별되면 Tableau가 컴퓨터 로캘을 사용하여 날짜의 기본 형식을 결정합니다.
예를 들어 작업하는 테이블에 "Original Date"라는 날짜 데이터 열이 포함되어 있다고 가정합니다. "Original Date" 열은 문자열 유형입니다.
Original Date |
---|
03Jan2017 |
05Jan2017 |
07Mar2017 |
19Mar2017 |
30Apr2017 |
이 경우 "New Date"라는 계산된 필드를 만들 수 있습니다. 이 필드는 DATE 함수에서 식을 사용하여 "Original Date" 필드의 문자열 값을 날짜 값으로 변환합니다.
이 예제에서 날짜 식은 요일 구성 요소를 분리하는 LEFT 함수, 월 구성 요소를 분리하는 MID 함수 및 연도 구성 요소를 분리하는 RIGHT 함수로 구성됩니다.
DATE (LEFT([Original Date], 2) + "/" + MID([Original Date],3,3) + "/" + RIGHT([Original Date],4))
"New Date" 계산은 다음과 같은 열을 생성합니다.
New Date |
---|
1/3/2017 |
1/5/2017 |
3/7/2017 |
3/19/2017 |
4/30/2017 |
이 예에서 새 날짜 값은 영어 로캘과 기본 서식 지정에 기반합니다.
참고 항목
ISO-8601 주 및 연도를 사용하여 날짜 형식 지정(링크가 새 창에서 열림)
STR() Function Ignores the Default Date and Number Formatting(링크가 새 창에서 열림)(STR() 함수가 기본 날짜 및 숫자 형식을 무시함)(Tableau 기술 자료)