FORMAT
지정된 형식에 따라 값을 텍스트로 변환합니다.
구문
FORMAT(<value>, <format_string>[, <locale_name>])
매개 변수
용어 | 정의 |
---|---|
value | 단일 값으로 계산되는 값 또는 식입니다. |
format_string | 서식 템플릿이 있는 문자열입니다. |
locale_name | (선택 사항) 함수에서 사용할 로캘의 이름입니다. 가능한 값은 Windows API 함수 LocaleNameToLCID()에서 허용하는 문자열입니다. |
반환 값
format_string 정의된 대로 서식이 지정된 값을 포함하는 문자열입니다.
참고 항목
값이 BLANK이면 함수는 빈 문자열을 반환합니다.
format_string BLANK이면 값 형식이 "일반 번호" 또는 "일반 날짜" 형식으로 지정됩니다(값 데이터 형식에 따라).
설명
미리 정의된 형식 문자열은 결과의 서식을 지정할 때 모델 문화권 속성을 사용합니다. 기본적으로 모델 문화권 속성은 컴퓨터의 사용자 로캘에 따라 설정됩니다. 새 Power BI Desktop 모델의 경우 모델 culture 속성은 옵션 > 국가별 설정 > 모델 언어에서 변경할 수 있습니다. Analysis Services의 경우 모델 문화권은 인스턴스에서 처음 정의한 언어 속성에 따라 설정됩니다.
DAX FORMAT 함수의 인수로 지원되는 형식 문자열은 .NET Framework에서 사용되는 형식 문자열이 아닌 Visual Basic(OLE Automation)에서 사용되는 형식 문자열을 기반으로 합니다. 따라서 인수가 정의된 형식 문자열과 일치하지 않으면 예기치 않은 결과 또는 오류가 발생할 수 있습니다. 예를 들어 "백분율"의 약어인 "p"는 지원되지 않습니다. 미리 정의된 형식 문자열 목록에 포함되지 않은 FORMAT 함수에 대한 인수로 제공하는 문자열은 사용자 지정 형식 문자열의 일부 또는 문자열 리터럴로 처리됩니다.
FORMAT을 사용하여 로캘을 지정하는 방법에 대한 자세한 내용은 관련 동영상을 참조하세요.
FORMAT을 사용하면 측정값 결과가 텍스트 데이터 형식으로 변경됩니다. 측정값 결과가 원래 숫자 데이터 형식인 경우 FORMAT을 사용하면 값 섹션에 차트와 같은 숫자 데이터 형식이 필요한 시각적 개체에서 측정값을 사용할 수 없습니다. Power BI에서 측정값에 동적 형식 문자열을 사용하여 측정값 의 숫자 데이터 형식을 유지하는 조건부 서식 문자열을 지정할 수도 있습니다.
이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.
예제
형식 문자열
= FORMAT( 12345.67, "General Number")
= FORMAT( 12345.67, "Currency")
= FORMAT( 12345.67, "Fixed")
= FORMAT( 12345.67, "Standard")
= FORMAT( 12345.67, "Percent")
= FORMAT( 12345.67, "Scientific")
HRESULT = NO_ERROR를
12345.67 "일반 번호"는 서식이 없는 숫자를 표시합니다.
$12,345.67 "통화"는 통화 로캘 서식이 지정된 숫자를 표시합니다. 이 샘플에서는 기본 미국 통화 서식을 보여 드립니다.
12345.67 "고정"은 소수 구분 기호의 왼쪽에 적어도 한 자리, 소수 구분 기호 오른쪽에 두 자리 이상을 표시합니다.
12,345.67 "표준"은 소수 구분 기호의 왼쪽에 적어도 한 자리, 소수 구분 기호 오른쪽에 두 자리 이상을 표시하며 천 개의 구분 기호를 포함합니다. 이 샘플에서는 기본 미국 숫자 서식을 보여줍니다.
1,234,567.00% "백분율"은 숫자의 오른쪽에 서식을 지정하고 백분율 기호를 단일 공백으로 구분하여 백분율(100을 곱한 값)으로 표시합니다.
1.23E+04 "Scientific"은 10진수가 두 자리인 과학적 표기법으로 숫자를 표시합니다.
선택적 locale_name 있는 날짜/시간
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-US" )
= FORMAT( dt"2020-12-15T12:30:59", BLANK(), "en-GB" )
= FORMAT( dt"2020-12-15T12:30:59", "mm/dd/yyyy", "en-GB" )
HRESULT = NO_ERROR를
2020년 12월 15일 오후 12:30:59 여기서 월은 12시간 형식입니다.
2020년 15월 12일 12:30:59 전월과 시간은 24시간 형식입니다.
2020년 12월 15일 12:30:59 이전 달과 시간은 24시간 형식입니다. 로캘이 아닌 종속 형식 문자열이 지정되었으므로 로캘이 적용되지 않고 로캘이 아닌 형식이 반환됩니다.
미리 정의된 숫자 형식
format_string 인수에 다음과 같이 미리 정의된 숫자 형식을 지정할 수 있습니다.
서식 | 설명 |
---|---|
"General Number" |
천 단위 구분 기호가 없는 숫자를 표시합니다. |
"Currency" |
1,000개의 구분 기호가 있는 숫자를 표시합니다(해당하는 경우). 는 소수 구분 기호 오른쪽에 두 숫자를 표시합니다. 출력은 시스템 로캘 설정에 따릅니다. |
"Fixed" |
소수 구분 기호 왼쪽으로 최소 한 자릿수, 오른쪽으로 두 자릿수를 표시합니다. |
"Standard" |
1000개의 구분 기호가 있는 숫자를 표시합니다. 왼쪽에는 한 자리 이상, 소수 구분 기호의 오른쪽에는 두 자리가 있습니다. |
"Percent" |
오른쪽에 바로 백분율 기호(%)가 추가된 100을 곱한 숫자를 표시합니다. 은 항상 소수 구분 기호 오른쪽에 두 자릿수를 표시합니다. |
"Scientific" |
표준 과학적 표기법을 사용하여 두 개의 유효 숫자를 제공합니다. |
"Yes/No" |
숫자가 0이면 아니요를 표시합니다. 그렇지 않으면 예를 표시합니다. |
"True/False" |
숫자가 0이면 False를 표시합니다. 그렇지 않으면 True를 표시합니다. |
"On/Off" |
숫자가 0이면 끄기, 그렇지 않으면 On을 표시합니다. |
사용자 지정 숫자 형식
숫자에 대한 사용자 지정 형식 식은 세미콜론으로 구분된 1~3개의 섹션을 가질 수 있습니다. 형식 문자열 인수에 명명된 숫자 형식 중 하나가 포함된 경우 하나의 섹션만 허용됩니다.
사용하는 경우 | 결과 |
---|---|
섹션 하나만 | 서식 식은 모든 값에 적용됩니다. |
두 섹션 | 첫 번째 절은 양수 값 및 0에 두 번째 절은 음수 값에 적용됩니다. |
세 섹션 | 첫 번째 절은 양수 값에 두 번째 절은 음수 값에 세 번째 절은 0에 적용됩니다. |
"$#,##0;($#,##0)"
세미콜론 사이에 아무 것도 포함하지 않으면 누락된 섹션은 양수 값의 형식을 사용하여 정의됩니다. 예를 들어 다음 형식은 첫 번째 섹션의 형식을 사용하여 양수 및 음수 값을 표시하고 값이 0이면 "Zero"를 표시합니다.
"$#,##0"
세미콜론 사이에 아무 것도 포함하지 않으면 양수 값의 형식을 사용하여 누락된 섹션이 표시됩니다.
사용자 지정 숫자 서식 문자
format_string 인수에는 다음과 같은 사용자 지정 숫자 서식 문자를 지정할 수 있습니다.
문자 | 설명 |
---|---|
None | 형식을 지정하지 않고 숫자를 표시합니다. |
(0) | 숫자 자리 표시자. 숫자 또는 0을 표시합니다. 식에 서식 문자열에 0이 표시되는 위치에 숫자가 있으면 표시합니다. 그렇지 않으면 해당 위치에 0을 표시합니다. 숫자의 숫자가 형식 식의 0(10진수 양쪽)보다 적은 경우 선행 또는 후행 0을 표시합니다. 숫자의 소수 구분 기호 오른쪽에 있는 숫자가 서식 식의 소수 구분 기호 오른쪽에 있는 0보다 많은 경우 숫자를 0만큼 소수 자릿수로 반올림합니다. 숫자의 소수 구분 기호 왼쪽에 소수 구분 기호 왼쪽에 0보다 더 많은 숫자가 있는 경우 수정하지 않고 여분의 숫자를 표시합니다. |
(#) | 숫자 자리 표시자. 숫자를 표시하거나 아무 것도 표시하지 않습니다. 형식 문자열에서 #이 나타나는 식의 위치에 숫자가 있으면 해당 숫자를 표시하고, 그렇지 않으면 해당 위치에 아무 것도 표시하지 않습니다. 이 기호는 0자리 자리 표시자처럼 작동합니다. 단, 숫자의 자릿수가 형식 식의 소수 구분 기호 양쪽에 있는 #문자보다 같거나 적은 경우 선행 및 후행 0이 표시되지 않는다는 점을 제외하면 이 기호는 0자리 자리 표시자처럼 작동합니다. |
(.) | 소수 자리 표시자입니다. 일부 로캘에서는 소수 구분 기호로 쉼표를 사용합니다. 소수 자리 표시자는 소수 구분 기호 왼쪽 및 오른쪽에 표시되는 자릿수를 결정합니다. 형식 식에 이 기호 왼쪽에 있는 숫자 기호만 포함된 경우 1보다 작은 숫자는 소수 구분 기호로 시작합니다. 소수 자릿수로 표시된 선행 0을 표시하려면 소수 구분 기호 왼쪽의 첫 번째 자리 표시자로 0을 사용합니다. 형식이 지정된 출력에서 소수 자리 표시자로 사용되는 실제 문자는 시스템에서 인식하는 숫자 형식에 따라 다릅니다. |
(%) | 백분율 자리 표시자. 식에 100을 곱합니다. 백분율 문자(%)는 서식 문자열에 표시되는 위치에 삽입됩니다. |
(,) | 천 단위 구분 기호입니다. 일부 로캘에서는 천 단위 구분 기호로 마침표를 사용합니다. 천 단위 구분 기호는 소수 구분 기호 왼쪽에 네 개 이상의 자릿수가 있는 숫자 내에서 천 단위를 구분합니다. 숫자 자리 표시자(0 또는 #)로 묶인 천 단위 구분 기호가 형식에 포함되어 있으면 천 단위 구분 기호의 표준 사용이 지정됩니다. 소수 구분 기호 바로 왼쪽에 있는 2개의 인접한 천 단위 구분 기호나 천 단위 구분 기호(소수 구분 기호 지정 여부와 관계 없음)는 “숫자를 1000으로 나눈 후 필요에 따라 반올림하는 것”을 의미합니다. 예를 들어, 형식 문자열 “##0,,”을 사용하여 1억을 100으로 나타낼 수 있습니다. 100만보다 작은 숫자는 0으로 표시됩니다. 소수 구분 기호 바로 왼쪽이 아닌 위치에 있는 두 개의 인접한 천 단위 구분 기호는 천 단위 구분 기호 사용을 지정하여 간단히 처리됩니다. 형식이 지정된 출력에서 천 단위 구분 기호로 사용되는 실제 문자는 시스템에서 인식하는 숫자 형식에 따라 다릅니다. |
(:) | 시간 구분 기호. 일부 로캘에서는 시간 구분 기호를 나타내는 데 다른 문자를 사용할 수 있습니다. 시간 구분 기호는 시간 값의 형식을 지정할 때 시간, 분 및 초를 구분합니다. 형식이 지정된 출력에서 시간 구분 기호로 사용되는 실제 문자는 시스템 설정에 따라 결정됩니다. |
(/) | 날짜 구분 기호. 일부 로캘에서는 다른 문자를 사용하여 날짜 구분 기호를 나타낼 수 있습니다. 날짜 구분 기호는 날짜 값의 형식을 지정할 때 일, 월 및 년을 구분합니다. 형식이 지정된 출력에서 날짜 구분 기호로 사용되는 실제 문자는 시스템 설정에 따라 결정됩니다. |
(E- E+ e- e+) | 지수 형식. 형식 식에서 E-, E+, e- 또는 e+ 오른쪽에 한 자리 이상의 자리 표시자(0 또는 #)가 포함되어 있으면 숫자는 지수 형식으로 표시되고 E 또는 e가 숫자와 지수 사이에 삽입됩니다. 오른쪽의 숫자 자리 표시자의 수는 지수의 자릿수를 결정합니다. 음수 지수 옆에 빼기 기호를 추가하려면 E- 또는 e-를 사용합니다. 음수 지수 옆에 빼기 기호를, 양수 지수 옆에 더하기 기호를 추가하려면 E+ 또는 e+를 사용합니다. |
- + $ ( ) | 리터럴 문자를 표시합니다. 나열된 문자 중 하나 이외의 문자를 표시하려면 앞에 백슬래시(\ )를 추가하거나 큰따옴표(" ")로 묶습니다. |
(\) | 형식 문자열에서 다음 문자를 표시합니다. 특별한 의미가 있는 문자를 리터럴 문자로 표시하려면 앞에 백슬래시(\ )를 줍니다. 백슬래시 자체는 표시되지 않습니다. 백슬래시를 사용하는 것은 다음 문자를 큰따옴표로 묶는 것과 같습니다. 백슬래시 자체를 표시하려면 백슬래시를 두 개(\\ ) 사용하세요. 리터럴 문자로 표시할 수 없는 문자의 예로는 날짜 서식 및 시간 서식 문자(a, c, d, h, m, n, p, q, s, t, w, y, /, 및 :), 숫자 서식 문자(#, 0, %, E, e, 쉼표 및 마침표) 및 문자열 서식 문자(@, & <>및 !)가 있습니다. |
(“ABC”) | 문자열을 큰따옴표(“ ”)로 묶어 표시합니다. |
미리 정의된 날짜/시간 형식
format_string 인수에 다음과 같은 미리 정의된 날짜/시간 형식을 지정할 수 있습니다. 이 이외의 형식을 사용하는 경우 사용자 지정 날짜/시간 형식으로 해석됩니다.
서식 | 설명 |
---|---|
"General Date" |
날짜 및/또는 시간을 표시합니다. 예를 들어 2008년 3월 12일 오전 11:07:31입니다. 날짜 표시는 애플리케이션의 현재 문화권 값에 따라 결정 됩니다. |
"Long Date" 또는 "Medium Date" |
현재 문화권의 긴 날짜 형식에 따라 날짜를 표시합니다. 예를 들어 2008년 3월 12일 수요일입니다. |
"Short Date" |
현재 문화권의 짧은 날짜 형식을 사용하여 날짜를 표시합니다. 예를 들어 2008년 3월 12일입니다. |
"Long Time" 또는 |
현재 문화권의 긴 시간 형식을 사용하여 시간을 표시합니다. 일반적으로 시간, 분, 초를 포함합니다. 예를 들어 오전 11:07:31입니다. |
"Medium Time" |
시간을 12시간 형식으로 표시합니다. 예를 들어 오전 11:07입니다. |
"Short Time" |
시간을 24시간 형식으로 표시합니다. 예를 들어 11:07입니다. |
사용자 지정 날짜/시간 형식
다음 형식 문자를 format_string 지정하여 사용자 지정 날짜/시간 형식을 만들 수 있습니다.
문자 | 설명 |
---|---|
(:) | 시간 구분 기호. 일부 로캘에서는 시간 구분 기호를 나타내는 데 다른 문자를 사용할 수 있습니다. 시간 구분 기호는 시간 값의 형식을 지정할 때 시간, 분 및 초를 구분합니다. 형식이 지정된 출력에서 시간 구분 기호로 사용되는 실제 문자는 시스템 설정에 따라 결정됩니다. |
(/) | 날짜 구분 기호. 일부 로캘에서는 다른 문자를 사용하여 날짜 구분 기호를 나타낼 수 있습니다. 날짜 구분 기호는 날짜 값의 형식을 지정할 때 일, 월 및 년을 구분합니다. 형식이 지정된 출력에서 날짜 구분 기호로 사용되는 실제 문자는 시스템 설정에 따라 결정됩니다. |
(\) | 백슬래시. 다음 문자를 리터럴 문자로 표시합니다. 따라서 서식 문자로 해석되지 않습니다. |
(") | 큰따옴표입니다. 큰따옴표 안에 묶인 텍스트가 표시됩니다. 따라서 서식 문자로 해석되지 않습니다. |
c | 날짜를 해당 순서대로 ddddd 표시하고 시간을 표시 ttttt 합니다. 날짜 일련 번호에 소수 부분이 없는 경우 날짜 정보만 표시합니다. 정수 부분이 없는 경우 시간 정보만 표시합니다. |
d | 선행 0(1-31)이 없는 숫자로 하루를 표시합니다. |
dd | 일 수를 앞에 0(01-31)으로 표시합니다. |
ddd | 요일을 약어(일-토)로 표시합니다. 지역화됨. |
dddd | 하루를 전체 이름으로 표시합니다(일요일-토요일). 지역화됨. |
ddddd | 날짜를 시스템의 짧은 날짜 형식 설정에 따라 서식이 지정된 전체 날짜(일, 월 및 연도 포함)로 표시합니다. 기본 간단한 날짜 형식은 mm/dd/yyyy 입니다. |
dddddd | 시스템에서 인식하는 긴 날짜 설정에 따라 날짜 일련 번호를 전체 날짜(일, 월 및 연도 포함)로 표시합니다. 기본 긴 날짜 형식은 dddd, mmmm d, yyyy 입니다. |
w | 요일을 숫자로 표시합니다(일요일의 경우 1부터 토요일의 경우 7까지). |
ww | 연도의 주를 숫자로 표시합니다(1-54). |
분 | 월을 선행 0(1-12)이 없는 숫자로 표시합니다. m 바로 뒤에 h 오거나 hh 월이 아닌 분이 표시됩니다. |
mm | 월을 앞에 0(01-12)이 있는 숫자로 표시합니다. mm 바로 뒤에 h 오거나 hh 월이 아닌 분이 표시됩니다. |
mmm | 월을 약어(Jan-Dec)로 표시합니다. 지역화됨. |
mmmm | 월을 전체 월 이름으로 표시합니다(1월-12월). 지역화됨. |
q | 연도의 분기를 숫자(1-4)로 표시합니다. |
y | 연도의 날을 숫자로 표시합니다(1-366). |
yy | 연도를 2자리 숫자(00-99)로 표시합니다. |
yyyy | 연도를 4자리 숫자(100-9999)로 표시합니다. |
시간 | 앞에 오는 0(0-23)이 없는 숫자로 시간을 표시합니다. |
hh | 시간을 앞에 0(00-23)이 있는 숫자로 표시합니다. |
n | 분을 앞에 오는 0(0-59)이 없는 숫자로 표시합니다. |
nn | 분을 앞에 오는 0(00-59)이 있는 숫자로 표시합니다. |
s | 앞에 오는 0(0-59)이 없는 숫자로 두 번째 값을 표시합니다. |
ss | 두 번째 숫자를 앞에 0(00-59)이 있는 숫자로 표시합니다. |
ttttt | 시간을 시스템에서 인식하는 시간 형식으로 정의된 시간 구분 기호를 사용하여 서식이 지정된 전체 시간(시간, 분 및 초 포함)으로 표시합니다. 앞에 오는 0 옵션이 선택되고 시간이 오전 10:00 이전인 경우 앞에 0이 표시됩니다. 기본 시간 형식은 h:mm:ss 입니다. |
AM/PM | 12시간 시계를 사용하고 정오 이전의 모든 시간에 대문자 AM을 표시하고, 정오와 오후 11시 59분 사이의 모든 시간에 대문자 PM을 표시합니다. |
am/pm | 12시간 시계를 사용하고 정오 이전의 시간에 소문자 AM을 표시합니다. 는 정오부터 오후 11시 59분까지의 시간에 소문자 PM을 표시합니다. |
A/P | 12시간 시계를 사용하고 정오 이전의 시간에 대문자 A를 표시합니다. 는 정오부터 오후 11시 59분까지의 시간에 대문자 P를 표시합니다. |
a/p | 12시간 시계를 사용하고 정오 이전의 시간에 소문자 A를 표시합니다. 정오부터 오후 11시 59분까지의 시간에 소문자 P를 표시합니다. |
AMPM | 12시간제를 사용하며 정오 이전의 모든 시간에 시스템에 정의된 AM 문자열 리터럴을 표시하고 정오와 오후 11시 59분 사이의 모든 시간에 시스템에 정의된 PM 문자열 리터럴을 표시합니다. AMPM은 대문자이거나 소문자일 수 있지만 표시된 문자열의 대/소문자는 시스템 설정에 정의된 문자열과 일치합니다. 기본 형식은 AM/PM입니다. 시스템이 24시간 시계로 설정된 경우 문자열은 일반적으로 빈 문자열로 설정됩니다. |
날짜/시간 서식은 현재 사용자 로캘을 사용하여 문자열의 서식을 지정합니다. 예를 들어 2020년 6월 25일 날짜를 고려합니다. 형식 문자열 "m/d/yyyy"를 사용하여 형식이 지정되면 다음과 같습니다.
- 사용자 로캘은 미국(en-US)의 미국: "2020년 6월 25일"
- 사용자 로캘은 독일(de-DE): "6.25.2020"
사용자 지정 날짜/시간 형식 예제
다음 예제에서는 2020년 6월 25일 목요일 오후 1:23:45에 날짜/시간을 사용합니다. 독일(de-DE)은 24시간 시스템을 사용합니다. AM/PM에 해당하는 항목은 없습니다.
형식 | 결과(en-US) | 결과(de-DE) |
---|---|---|
"c" |
06/25/2020 13:23:45 | 25.06.2020 13:23:45 |
"d" |
25 | 25 |
"dd" |
25 | 25 |
"ddd" |
목요일 | 수행 |
"dddd" |
목요일 | Donnerstag |
"ddddd" |
06/25/2020 | 25.06.2020 |
"dddddd" |
2020년 6월 25일 목요일 | 도너태그, 25세. Juni 2020 |
"w" |
5 | 5 |
"ww" |
26 | 26 |
"m" |
6 | 6 |
"mm" |
06 | 06 |
"mmm" |
6월 | 6월 |
"mmmm" |
6월 | Juni |
"q" |
2 | 2 |
"y" |
177 | 177 |
"yy" |
20 | 20 |
"yyyy" |
2020 | 2020 |
"""Year"" yyyy" |
2020년 | 2020년 |
"yyyy \Qq" |
2020년 2분기 | 2020년 2분기 |
"dd/mm/yyyy" |
25/06/2020 | 25.06.2020 |
"mm/dd/yyyy" |
06/25/2020 | 06.25.2020 |
"h:nn:ss" |
13:23:45 | 13:23:45 |
"h:nn:ss AMPM" |
오후 1:23:45 | 1:23:45 |
"hh:nn:ss" |
13:23:45 | 13:23:45 |
"hh:nn:ss AMPM" |
오후 01:23:45 | 01:23:45 |
"ttttt" |
13:23:45 | 13:23:45 |
"ttttt AMPM" |
오후 13:23:45 | 13:23:45 |
"mm/dd/yyyy hh:nn:ss AMPM" |
2020년 6월 25일 오후 01:23:45 | 6.25.2020 01:23:45 |