문자열 함수

이 문서에서는 Tableau의 문자열 함수와 관련 사용법을 소개합니다. 또한 예제를 사용하여 문자열 계산을 만드는 방법을 보여 줍니다.

문자열 함수를 사용하는 이유

문자열 함수를 사용하여 문자열 데이터(예: 텍스트로 구성된 데이터)를 조작할 수 있습니다. Tableau는 문자열을 비교할 때 현재 ICU(International Components for Unicode) 라이브러리를 사용합니다. 문자열 정렬 및 비교 방법은 언어와 로캘에 기준을 둡니다. ICU는 언어 지원을 개선하기 위해 지속적으로 업데이트되므로 비주얼리제이션이 변경될 수 있습니다.

예를 들어 고객의 이름 및 성을 모두 포함하는 필드가 있다고 가정합니다. 한 멤버는 Jane Johnson입니다. 이 경우 문자열 함수를 사용하여 모든 고객의 성을 가져와 새 필드에 저장할 수 있습니다.

계산은 다음과 비슷한 모양입니다.

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

즉, SPLIT('Jane Johnson' , ' ', 2) = 'Johnson'입니다.

Tableau에서 사용할 수 있는 문자열 함수

ASCII

구문ASCII(string)
출력숫자
정의<string>에서 첫 번째 문자의 ASCII 코드를 반환합니다.
ASCII('A') = 65
참고CHAR 함수의 반대입니다.

CHAR

구문CHAR(number)
출력문자열
정의ASCII 코드 <number>로 인코딩되는 문자를 반환합니다.
CHAR(65) = 'A'
참고ASCII 함수의 반대입니다.

CONTAINS

구문CONTAINS(string, substring)
출력부울
정의주어진 문자열에 지정한 부분 문자열이 포함되어 있으면 true를 반환합니다.
CONTAINS("Calculation", "alcu") = true
참고추가 함수 설명서(링크가 새 창에서 열림)에서 논리 함수(링크가 새 창에서 열림) IN과 지원되는 RegEx도 참조하십시오.

ENDSWITH

구문ENDSWITH(string, substring)
출력부울
정의주어진 문자열이 지정한 부분 문자열로 끝나면 true를 반환합니다. 후행 공백은 무시됩니다.
ENDSWITH("Tableau", "leau") = true
참고추가 함수 설명서(링크가 새 창에서 열림)에서 지원되는 RegEx도 참조하십시오.

FIND

구문FIND(string, substring, [start])
출력숫자
정의

문자열에서 부분 문자열의 인덱스 위치를 반환하거나, 부분 문자열을 찾을 수 없으면 0을 반환합니다. 문자열에서 첫 번째 문자가 위치 1입니다.

선택적 숫자 인수 start를 추가하면 이 함수는 시작 위치 앞에 나타나는 부분 문자열의 인스턴스를 무시합니다.

FIND("Calculation", "alcu") = 2
FIND("Calculation", "Computer") = 0
FIND("Calculation", "a", 3) = 7
FIND("Calculation", "a", 2) = 2
FIND("Calculation", "a", 8) = 0
참고추가 함수 설명서(링크가 새 창에서 열림)에서 지원되는 RegEx도 참조하십시오.

FINDNTH

구문FINDNTH(string, substring, occurrence)
출력숫자
정의문자열 내 부분 문자열에서 n번째 일치 항목의 위치를 반환합니다. 여기서, n은 occurrence 인수로 정의됩니다.
FINDNTH("Calculation", "a", 2) = 7
참고

FINDNTH는 일부 데이터 원본에 사용할 수 없습니다.

추가 함수 설명서(링크가 새 창에서 열림)에서 지원되는 RegEx도 참조하십시오.

LEFT

구문 LEFT(string, number)
출력문자열
정의문자열의 가장 왼쪽에서 <number>개 문자를 반환합니다.
LEFT("Matador", 4) = "Mata"
참고또한 MIDRIGHT을 참조하십시오.

LEN

구문LEN(string)
출력숫자
정의문자열의 길이를 반환합니다.
LEN("Matador") = 7
참고공간 함수(링크가 새 창에서 열림) LENGTH와 혼동하지 마십시오.

LOWER

구문LOWER(string)
출력문자열
정의제공된 <string>을 모두 소문자로 반환합니다.
LOWER("ProductVersion") = "productversion"
참고또한 UPPERPROPER을 참조하십시오.

LTRIM

구문 LTRIM(string)
출력문자열
정의모든 선행 공백을 제거하여 제공된 <string>을 반환합니다.
LTRIM(" Matador ") = "Matador "
참고RTRIM도 참조하십시오.

MAX

구문MAX(expression) 또는 MAX(expr1, expr2)
출력인수와 동일한 데이터 유형이거나, 인수의 일부가 null인 경우 NULL 값이 출력됩니다.
정의

두 인수의 최대값을 반환합니다(두 인수가 동일한 데이터 유형이어야 함).

MAX 함수를 단일 필드에 집계로 적용할 수도 있습니다.

MAX(4,7) = 7
MAX(#3/25/1986#, #2/20/2021#) = #2/20/2021#
MAX([Name]) = "Zander"
참고

문자열의 경우

MAX는 일반적으로 사전순으로 마지막에 오는 값입니다.

데이터베이스 데이터 원본의 경우 MAX 문자열 값은 데이터베이스가 해당 열에 정의한 정렬 순서에서 가장 높은 값을 찾습니다.

날짜의 경우

날짜의 경우 MAX는 가장 최근 날짜입니다. MAX가 집계인 경우 결과에 날짜 계층 구조가 없습니다. MAX가 비교인 경우 결과에 날짜 계층 구조가 유지됩니다.

집계 형식

MAX(expression)는 집계 함수이며 단일 집계 결과를 반환합니다. 이는 비주얼리제이션에서 AGG(expression)와 같이 표시됩니다.

비교 형식

MAX(expr1, expr2)는 두 값을 비교하여 행 수준 값을 반환합니다.

MIN도 참조하십시오.

MID

구문(MID(string, start, [length])
출력문자열
정의

지정된 start 위치에서 시작하는 문자열을 반환합니다. 문자열에서 첫 번째 문자가 위치 1입니다.

선택적 숫자 인수 length를 추가하면 반환된 문자열에 문자 수만 포함됩니다.

MID("Calculation", 2) = "alculation"
MID("Calculation", 2, 5) ="alcul"
참고추가 함수 설명서(링크가 새 창에서 열림)에서 지원되는 RegEx도 참조하십시오.

MIN

구문MIN(expression) 또는 MIN(expr1, expr2)
출력인수와 동일한 데이터 유형이거나, 인수의 일부가 null인 경우 NULL 값이 출력됩니다.
정의

두 인수의 최소값을 반환합니다(두 인수가 동일한 데이터 유형이어야 함).

MIN 함수를 단일 필드에 집계로 적용할 수도 있습니다.

MIN(4,7) = 4
MIN(#3/25/1986#, #2/20/2021#) = #3/25/1986#
MIN([Name]) = "Abebi"
참고

문자열의 경우

MIN은 일반적으로 사전순으로 맨 처음 나타나는 값입니다.

데이터베이스 데이터 원본의 경우 MIN 문자열 값은 데이터베이스가 해당 열에 정의한 정렬 순서에서 가장 낮은 값을 찾습니다.

날짜의 경우

날짜의 경우 MIN은 가장 이른 날짜입니다. MIN가 집계인 경우 결과에 날짜 계층 구조가 없습니다. MIN가 비교인 경우 결과에 날짜 계층 구조가 유지됩니다.

집계 형식

MIN(expression)는 집계 함수이며 단일 집계 결과를 반환합니다. 이는 비주얼리제이션에서 AGG(expression)와 같이 표시됩니다.

비교 형식

MIN(expr1, expr2)는 두 값을 비교하여 행 수준 값을 반환합니다.

MAX도 참조하십시오.

PROPER

구문PROPER(string)
출력문자열
정의

각 단어의 첫 글자를 대문자로 표시하고 나머지 글자를 소문자로 표시하도록 제공된 <string>을 반환합니다.

PROPER("PRODUCT name") = "Product Name"
PROPER("darcy-mae") = "Darcy-Mae"
참고

문장 부호와 같은 영숫자 외 문자와 공백은 구분 기호로 처리됩니다.

또한 LOWERUPPER을 참조하십시오.

데이터베이스 제한 사항PROPER는 일부 플랫 파일과 추출에만 사용할 수 있습니다. PROPER를 지원하지 않는 데이터 원본에서 PROPER를 사용해야 하는 경우 추출을 사용하는 것이 좋습니다.

REPLACE

구문REPLACE(string, substring, replacement
출력문자열
정의<string>에서 <substring>을 검색하여 <replacement>로 바꿉니다. <substring>이 없으면 문자열이 변경되지 않습니다.
REPLACE("Version 3.8", "3.8", "4x") = "Version 4x"
참고추가 함수 설명서(링크가 새 창에서 열림)에서 REGEXP_REPLACE도 참조하십시오.
구문RIGHT(string, number)
출력문자열
정의문자열의 가장 오른쪽에서 <number>개 문자를 반환합니다.
RIGHT("Calculation", 4) = "tion"
참고또한 LEFTMID을 참조하십시오.

RTRIM

구문RTRIM(string)
출력문자열
정의모든 후행 공백을 제거하여 제공된 <string>을 반환합니다.
RTRIM(" Calculation ") = " Calculation"
참고또한 LTRIMTRIM을 참조하십시오.

SPACE

구문SPACE(number)
출력문자열(특히 공백)
정의지정된 숫자만큼 반복된 공백으로 구성된 문자열을 반환합니다.
SPACE(2) = "  "

SPLIT

구문SPLIT(string, delimiter, token number)
출력문자열
정의구분 기호 문자를 사용하여 문자열을 토큰 시퀀스로 분할하는 방식으로 문자열에서 부분 문자열을 반환합니다.
SPLIT ("a-b-c-d", "-", 2) = "b"
SPLIT ("a|b|c|d", "|", -2) = "c"
참고

문자열은 구분 기호와 토큰이 교대로 나타나는 형식으로 해석됩니다. 따라서 구분 문자가 '-'인 문자열 abc-defgh-i-jkl의 경우 토큰은 (1) abc, (2) defgh, (3) i 및 (4) jlk입니다.

SPLIT는 토큰 번호에 해당하는 토큰을 반환합니다. 토큰 번호가 양수인 경우 토큰은 문자열의 왼쪽 끝에서부터 계산되고, 토큰 번호가 음수인 경우 토큰은 오른쪽에서부터 계산됩니다.

추가 함수 설명서(링크가 새 창에서 열림)에서 지원되는 REGEX도 참조하십시오.

데이터베이스 제한 사항

분할 및 사용자 지정 분할 명령을 사용할 수 있는 데이터 원본 유형은 Tableau 데이터 추출, Microsoft Excel, 텍스트 파일, PDF 파일, Salesforce, OData, Microsoft Azure Market Place, Google 애널리틱스, Vertica, Oracle, MySQL, PostgreSQL, Teradata, Amazon Redshift, Aster Data, Google Big Query, Cloudera Hadoop Hive, Hortonworks Hive 및 Microsoft SQL Server입니다.

일부 데이터 원본은 문자열 분할에 제한이 있습니다. 이 항목 뒷부분의 SPLIT 함수 제한 사항을 참조하십시오.

STARTSWITH

구문STARTSWITH(string, substring)
출력부울
정의stringsubstring으로 시작하면 true를 반환합니다. 선행 공백은 무시됩니다.
STARTSWITH("Matador, "Ma") = TRUE
참고추가 함수 설명서(링크가 새 창에서 열림)에서 CONTAINS와 지원되는 REGEX도 참조하십시오.

TRIM

구문TRIM(string)
출력문자열
정의선행 공백과 후행 공백이 모두 제거된 <string>을 반환합니다.
TRIM(" Calculation ") = "Calculation"
참고또한 LTRIMRTRIM을 참조하십시오.

UPPER

구문UPPER(string)
출력문자열
정의제공된 <string>을 모두 대문자로 반환합니다.
UPPER("Calculation") = "CALCULATION"
참고또한 PROPERLOWER을 참조하십시오.

문자열 계산 만들기

아래의 단계를 수행하여 문자열 계산을 만드는 방법을 배워 보십시오.

  1. Tableau Desktop에서 Tableau와 함께 제공된 샘플 – 슈퍼스토어라는 저장된 데이터 원본에 연결합니다.

  2. 워크시트로 이동합니다.

  3. 데이터 패널의 차원에서 Order ID선반에 끌어 놓습니다.

    모든 Order ID에는 국가(예: CA 및 US), 연도(2011) 및 주문 번호(100006)에 대한 값이 포함됩니다. 이 예제에서는 필드에서 주문 번호만 가져오는 계산을 만듭니다.

  4. 분석 > 계산된 필드 만들기를 선택합니다.

  5. 계산 에디터가 열리면 다음을 수행합니다.

    • 계산된 필드의 이름을 Order ID Numbers로 지정합니다.

    • 다음 수식을 입력합니다.

      RIGHT([Order ID], 6)

      이 수식은 문자열의 오른쪽부터 지정된 자릿수(6)를 가져와서 새 필드에 저장합니다.

      즉, RIGHT('CA-2011-100006' , 6) = '100006'입니다.

    • 작업을 마쳤으면 확인을 클릭합니다.

      새 계산된 필드가 데이터 패널의 차원 아래에 나타납니다. 다른 필드와 마찬가지로, 하나 이상의 비주얼리제이션에서 이 필드를 사용할 수 있습니다.

  6. 데이터 패널에서 Order ID Numbers선반에 끌어 놓습니다. 필드를 Order ID 오른쪽에 배치합니다.

    이제 필드가 어떻게 달라지는지 확인합니다.

데이터 원본별 SPLIT 제한 사항

일부 데이터 원본은 문자열 분할에 제한이 있습니다. 다음 표에서는 음수 토큰 번호(오른쪽부터 분할)를 지원하는 데이터 원본과 데이터 원본에 따라 허용되는 분할 수에 제한이 있는지 여부를 보여 줍니다.

이러한 데이터 원본에서는 음수 토큰 번호가 지정되어 다른 데이터 원본에서는 유효한 SPLIT 함수가 다음 오류를 반환합니다. "오른쪽부터 분할하는 기능은 데이터 원본에서 지원되지 않습니다."

데이터 원본왼쪽/오른쪽 제약 조건최대 분할 수버전 제한
Tableau 데이터 추출둘 다제한 없음 
Microsoft Excel둘 다제한 없음 
텍스트 파일둘 다제한 없음 
Salesforce둘 다제한 없음 
OData둘 다제한 없음 
Google 애널리틱스둘 다제한 없음 
Tableau 데이터 서버둘 다제한 없음버전 9.0에서 지원됩니다.
Vertica왼쪽만10 
Oracle왼쪽만10 
MySQL둘 다10 
PostgreSQL9.0 이전 버전에서는 왼쪽만, 9.0 이상 버전에서는 둘 다10 
Teradata왼쪽만10버전 14 이상
Amazon Redshift왼쪽만10 
Aster Database왼쪽만10 
Google BigQuery왼쪽만10 
Hortonworks Hadoop Hive왼쪽만10 
Cloudera Hadoop왼쪽만10Impala는 버전 2.3.0부터 지원됩니다.
Microsoft SQL Server둘 다102008 이상

참고 항목

Tableau의 함수

Tableau 함수(사전순)

Tableau 함수(범주별)

Tableau에서 계산 서식 지정

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!