FORMAT
指定した formatに従って、value をテキストに変換します。
構文
FORMAT(<value>, <format_string>[, <locale_name>])
パラメーター
用語 | 定義 |
---|---|
value |
1 つの valueに評価される valueor 式。 |
format_string |
書式設定テンプレートを含む文字列。 |
locale_name |
(省略可能)関数で使用されるロケールの名前。 可能な |
value を返す
value
によって定義 format_string
書式が設定された文字列。
手記
If
value
BLANK、関数は空の文字列を返します。
If
format_string
が BLANKされている場合、value は "General Number" or "General Date" format (value
データ型に従って) で書式設定されます。
備考
定義済みの format 文字列では、結果の書式設定時にモデル カルチャ プロパティが使用されます。 既定では、モデル カルチャ プロパティはコンピューターのユーザー ロケールに従って設定されます。 新しい Power BI Desktop モデルの場合、[オプション] > [地域設定] > [モデル言語] でモデル カルチャ プロパティを変更できます。 Analysis Services の場合、モデル カルチャは、インスタンスによって最初に定義された Language プロパティに従って設定されます。
DAX FORMAT 関数の引数としてサポートされる format 文字列は、.NET Framework で使用される format 文字列に not、Visual Basic (OLE オートメーション) で使用される format 文字列に基づいています。 したがって、引数が定義された format 文字列と一致しない errorifor、予期しない結果が発生する可能性があります。 たとえば、"Percent" の省略形としての "p" はサポートされていません。 定義済みの format 文字列の一覧に含まれていない FORMAT 関数の引数として指定した文字列は、文字列リテラルとして or カスタム format 文字列の一部として処理されます。
FORMATでロケールを指定する方法の詳細については、この ビデオを参照してください。
FORMAT を使用すると、measure 結果がテキスト データ型に変更されます。 measure の結果が元の数値データ型である If、FORMATでは、measure は、グラフなどの数値データ型が values セクションに必要なビジュアルでは使用できません。 Power BI では、メジャーに動的 format 文字列 使用、measureの数値データ型を保持する条件付き format 文字列を指定することもできます。
この関数は、行レベル セキュリティ (RLS) 規則 or 計算列で使用する場合に、DirectQuery モードで使用するためにサポート not。
例
Format 文字列
= 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")
収益:
12345.67 [一般番号] には、書式設定なしで番号が表示されます。
$12,345.67 "Currency" は、currency ロケールの書式設定で数値を表示します。 ここでの sample は、既定の米国 currency の書式設定を示しています。
12345.67 "Fixed" は、小数点区切り記号の left に少なくとも 1 桁 and 小数点区切り記号の right に 2 桁を表示します。
12,345.67 "Standard" は、小数点区切り記号の right に 2 桁 and 小数点区切り記号の left に少なくとも 1 桁を表示 and、桁区切り記号を含みます。 ここでの sample は、既定の米国番号の書式設定を示しています。
1,234,567.00 % "Percent" は、数値をパーセント (100 で乗算) として表示し、1 つのスペースで区切られた数値の right の signand パーセントを書式設定します。
1.23E+04"Scientific" は、数値を 2 桁の 10 進数で指数表記で表示します。
Datetime (省略可能な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" )
収益:
12/15/2020 12:30:59 PMmonth の前 dayandtime は 12-hourformatです。
15/12/2020 12:30:59day が monthandtime の前にある場所は 24-hourformatです。
2020 年 12 月 15 日 12:30:59month 前の dayandtime は 24hourformatです。 ロケールに依存しない format 文字列が指定されているため、ロケール以外の format が返 andnot ロケールが適用されます。
定義済みの数値形式
format_string
引数には、次の定義済みの数値書式を指定できます。
Format |
形容 |
---|---|
"General Number" |
桁区切り記号のない数値を表示します。 |
"Currency" |
桁区切り記号付きの数値を表示 if 適切です。では、小数点の right に 2 桁の数字が表示されます。 出力は、システム ロケールの設定に基づいています。 |
"Fixed" |
小数点区切り記号の right に leftand 2 桁以上の数字を表示します。 |
"Standard" |
桁区切り記号付きの数値を表示します。小数点の right に 2 桁 leftand 少なくとも 1 桁の数字を表示します。 |
"Percent" |
100 を乗算した数値を表示し、rightに sign パーセント (%) を追加します。では、小数点の right に常に 2 桁の数字が表示されます。 |
"Scientific" |
標準の指数表記を使用し、2 桁の有効桁数を提供します。 |
"Yes/No" |
[No if number is 0] を表示します。それ以外の場合は、[はい] と表示されます。 |
"True/False" |
数値が 0 Falseif 表示されます。それ以外の場合は、True表示されます。 |
"On/Off" |
表示オフ if 数値は 0 です。それ以外の場合は、[オン] と表示されます。 |
カスタム数値形式
数値のカスタム format 式には、セミコロンで区切られた 1 ~ 3 つのセクションを含めることができます。 名前付き数値形式の 1 つ containsformat 文字列引数を If、使用できるセクションは 1 つだけです。
使用する If | 結果は次のようになります。 |
---|---|
1 つのセクションのみ | format 式は、allvaluesに適用されます。 |
2 つのセクション | first セクションは、正 valuesand ゼロに適用され、second は負の valuesに適用されます。 |
3 つのセクション | first セクションは、正の values、負の valuesに second、3 番目 and ゼロに適用されます。 |
"$#,##0;($#,##0)"
セミコロンの間に何もないセミコロンを含める If、不足しているセクションは、正の valueの format を使用して定義されます。 たとえば、次の format では、first セクションの format を使用して正 and 負の values を表示 and、value が 0 if "ゼロ" と表示されます。
"$#,##0"
セミコロンの間に何も含まれていない If、正の valueの format を使用して不足しているセクションが表示されます。
ユーザー設定の数値 format 文字
format_string
引数には、次のカスタム数値 format 文字を指定できます。
文字 | 形容 |
---|---|
None | 書式設定なしで数値を表示します。 |
(0 ) |
数字のプレースホルダー。 0 or 数字を表示します。 式 If、format 文字列に 0 が表示される位置に数字が含まれている場合は、それを表示します。それ以外の場合は、その位置にゼロを表示します。If 数値の桁数が、format 式の 0 (10 進数の両側) よりも少ない場合は、先頭 or 末尾のゼロが表示されます。 If format 式の小数点区切り記号の right に対してゼロが存在するよりも、小数点の right に対する桁数が多い round、小数点以下の桁数は 0 と同じ数になります。 If format 式の小数点区切り記号の left にゼロがあるよりも、小数点の left の桁数が多い場合は、変更せずに余分な数字を表示します。 |
(# ) |
数字のプレースホルダー。 数字 or 何も表示しません。 式 If#が format 文字列に表示される位置に数字が含まれている場合は、それを表示します。それ以外の場合は、その位置に何も表示されません。 この記号は 0 桁のプレースホルダーと同様に機能します。except、format 式の小数点区切り記号の両側に # 文字がある場合と同じ or 数が少ない if、末尾の 0 の先頭 and が表示されません。 |
(. ) |
10 進プレースホルダー。 ロケールによっては、小数点区切り記号としてコンマが使用されます。 小数点のプレースホルダーは、小数点区切り記号の leftandright に表示される桁数を決定します。 format 式を Ifcontains、この記号の left に対してのみ符号が付きます。1 より小さい数値は小数点区切り記号で始まります。 小数部で表示される先頭のゼロを表示するには、小数点の left の first 桁プレースホルダーとして 0 を使用します。 書式設定された出力で 10 進プレースホルダーとして使用される実際の文字は、システムによって認識 Format 数値によって異なります。 |
(% ) |
パーセンテージプレースホルダー。 式に 100 を乗算します。 パーセント文字 (% ) は、format 文字列に表示される位置に挿入されます。 |
(, ) |
桁区切り記号。 一部のロケールでは、ピリオドが桁区切り記号として使用されます。 桁区切り記号は、小数点区切り記号の left に対して 4 or 以上の桁数を持つ数内の数百から数千を区切ります。 桁区切り記号の標準的な使用は、桁のプレースホルダー (0 or# ) で囲まれた桁区切り記号 formatcontainsif 指定されます。 隣接する 2 つの桁区切り記号 or 小数点区切り記号の left に直ちに 1000 を or します (10 進数 ornot 指定するかどうか) は、"必要に応じて 1000 で除算して数値を小数点以下桁数を調整する" を意味します。たとえば、format 文字列 "##0" を使用して、1 億を 100 として表すことができます。 100 万未満の数値は 0 として表示されます。 小数点区切り記号の left の直前以外の任意の位置にある 2 つの隣接する桁区切り記号は、単に桁区切り記号の使用を指定するものとして扱われます。 書式設定された出力で桁区切り記号として使用される実際の文字は、システムで認識される数値 Format によって異なります。 |
(: ) |
Time 区切り記号。 ロケールによっては、他の文字を使用して time 区切り記号を表すこともできます。 time values が書式設定されている場合、time 区切り記号は時間、分、and 秒を区切ります。 書式設定された出力で time 区切り記号として使用される実際の文字は、システム設定によって決まります。 |
(/ ) |
Date 区切り記号。 ロケールによっては、他の文字を使用して date 区切り記号を表すこともできます。 date 区切り記号は、datevalues の書式設定時に day、month、andyear を区切ります。 書式設定された出力で date 区切り記号として使用される実際の文字は、システム設定によって決まります。 |
(E- E+ e- e+ ) |
科学 format.
format 式 contains 少なくとも 1 桁のプレースホルダー (0 or# ) を E、E+、e、or e+ の right に If、指数 formatand Eに数値 or eが指数 and 挿入されます。
right の数字プレースホルダーの数によって、指数部の桁数が決まります。 負の指数に負の signnext を配置するには、E- or e- を使用します。 正の指数にプラス signnextand 負の指数に負の signnext を配置するには、E+ or e+ を使用します。 |
- + $ ( ) |
リテラル文字を表示します。 一覧に含まれている文字以外の文字を表示するには、その前に円記号 (\ ) を付けて、二重引用符 (" ") で囲 or。 |
(\\ ) |
format 文字列に next 文字を表示します。 特別な意味を持つ文字をリテラル文字として表示するには、その前に円記号 (\ ) を付けます。 円記号自体は表示されません。 円記号の使用は、next 文字を二重引用符で囲むのと同じです。 円記号を表示するには、2 つの円記号 (\\ ) を使用します。 リテラル文字として表示できない文字の例としては、date-formatting andtime-formatting 文字 (a、 c、d、h、m、n、p、q、s、t、w、y、/、and :)、数値書式設定文字 (#、0、%、E、e、コンマ、and ピリオド)、文字列形式の文字 (@、&、<、>、and!) を and します。 |
("ABC") | 二重引用符 (" ") 内に文字列を表示します。 |
定義済みの date/time 形式
format_string
引数には、次の定義済みの date/time 形式を指定できます。 これら以外の形式を使用する場合は、カスタム date/timeformatとして解釈されます。
Format | 形容 |
---|---|
"General Date" |
date and/ortimeを表示します。 たとえば、2008 年 3 月 12 日午前 11:07:31 などです。 Date 表示は、アプリケーションの現在のカルチャ valueによって決まります。 |
"Long Date" or "Medium Date" |
現在のカルチャの長い dateformatに従って date を表示します。 たとえば、2008 年 3 月 12 日水曜日などです。 |
"Short Date" |
現在のカルチャの短い dateformatを使用して date を表示します。 たとえば、2008 年 3 月 12 日などです。 |
"Long Time" or |
現在のカルチャの長い timeformatを使用して time を表示します。通常、時間、分、秒が含まれます。 たとえば、午前 11:07:31 などです。 |
"Medium Time" |
12 hourformatで time を表示します。 たとえば、午前 11 時 7 分です。 |
"Short Time" |
24 hourformatで time を表示します。 たとえば、11:07 です。 |
カスタム date/time 形式
format_string
では、次の format 文字を指定して、カスタムの date/time 形式を作成できます。
文字 | 形容 |
---|---|
(: ) |
Time 区切り記号。 ロケールによっては、他の文字を使用して time 区切り記号を表すこともできます。 time values が書式設定されている場合、time 区切り記号は時間、分、and 秒を区切ります。 書式設定された出力で time 区切り記号として使用される実際の文字は、システム設定によって決まります。 |
(/ ) |
Date 区切り記号。 ロケールによっては、他の文字を使用して date 区切り記号を表すこともできます。 date 区切り記号は、datevalues の書式設定時に day、month、andyear を区切ります。 書式設定された出力で date 区切り記号として使用される実際の文字は、システム設定によって決まります。 |
(\ ) |
バックスラッシュ。 next 文字をリテラル文字として表示します。 そのため、not 書式設定文字として解釈されます。 |
(" ) |
二重引用符。 二重引用符で囲まれたテキストが表示されます。 そのため、not 書式設定文字として解釈されます。 |
c |
date を表示 ddddd and、time を ttttt 順に表示します。
date シリアル番号の小数部がない if、date 情報のみを表示します。は、整数部分がない iftime 情報のみを表示します。 |
d |
day を先頭にゼロ (1 から 31) を付けずに数値で表示します。 |
dd |
day を先頭に 0 (01 から 31) の数値で表示します。 |
ddd |
day を省略形 (Sun-Sat) として表示します。 ローカライズ された。 |
dddd |
day を完全な名前 (Sunday-Saturday) として表示します。 ローカライズ された。 |
ddddd |
date を、システムの短い dateformat 設定に従って書式設定された完全な date (day、month、andyearを含む) として表示します。 既定の短い dateformat は mm/dd/yyyy です。 |
dddddd |
システムで認識される長い date 設定に従って書式設定された完全な date (day、month、andyearを含む) として date シリアル番号を表示します。 既定の長い dateformat は dddd, mmmm d, yyyy です。 |
w |
週の day を数値として表示します (日曜日は 1、土曜日は 7)。 |
ww |
year の週を数値 (1 から 54) で表示します。 |
m |
month を先頭にゼロ (1 から 12) を付けずに数値で表示します。
If
m
h
or
hh のすぐ後に、month ではなく minute が表示されます。 |
mm |
month を先頭に 0 (01 から 12) の数値で表示します。
If
mm
h
or
hh のすぐ後に、month ではなく minute が表示されます。 |
mmm |
month を省略形 (Jan-Dec) として表示します。 ローカライズ された。 |
mmmm |
完全な month 名 (January-December) として month を表示します。 ローカライズ された。 |
q |
year の quarter を数値 (1 から 4) で表示します。 |
y |
year の day を数値として表示します (1 から 366)。 |
yy |
year を 2 桁の数字 (00 から 99) で表示します。 |
yyyy |
year を 4 桁の数字 (100 から 9999) で表示します。 |
h |
hour を先頭にゼロ (0 から 23) を付けずに数値で表示します。 |
hh |
hour を先頭に 0 (00 から 23) の数値で表示します。 |
n |
minute を先頭にゼロ (0 から 59) を付けずに数値で表示します。 |
nn |
minute を先頭に 0 (00 から 59) の数値で表示します。 |
s |
second を先頭にゼロ (0 から 59) を付けずに数値で表示します。 |
ss |
second を先頭に 0 (00 から 59) の数値で表示します。 |
ttttt |
システムによって認識される timeformat によって定義された time 区切り記号を使用して書式設定された完全な time (hour、minute、andsecondを含む) として time を表示します。
time が午前 10 時 or 午後 10 時より前 and、先頭のゼロ オプションが選択 if、先頭に 0 が表示されます。既定の timeformat は h:mm:ss です。 |
AM/PM |
12hour クロックを使用 and、午前 1 時前に任意の hour で大文字の AM を表示します。午後 11 時 59 分の正午から午後 11 時 59 分 and までの hour で大文字の PM を表示します。 |
am/pm |
12hour クロックを使用 and、正午までに任意の hour で小文字の AM を表示します。午後 11 時 59 分の and 正午から午後 11 時 59 分までの hour で小文字の PM を表示します。 |
A/P |
12hour クロックを使用 and、正午までに任意の hour で大文字の A を表示します。午後 11 時 59 分の and 正午から午後 11 時 59 分までの hour で大文字の P を表示します。 |
a/p |
12hour クロックを使用 and、正午までに任意の hour で小文字の A を表示します。午後 11 時 59 分の正午から午後 11 時 59 分 and までの hour で小文字の P を表示します。 |
AMPM |
12hour クロックを使用 and、システムで定義されている AM 文字列リテラルを正午の前に任意の hour で表示します。午後 11 時 59 分の正午から午後 11 時 59 分 and までの hour を使用して、システムで定義されている PM 文字列リテラルを表示します。AMPM は大文字 or 小文字にすることができますが、表示される文字列の大文字と一致する文字列は、システム設定で定義されている文字列と一致します。 既定の format は AM/PM です。 システムが 24hour クロックに設定されている If、文字列は通常、空の文字列に設定されます。 |
Date/time 書式設定では、現在のユーザー ロケールを使用して文字列を format します。 たとえば、2020 年 6 月 25 日 date について考えてみます。 文字列 "m/d/yy" format 使用して書式設定すると、次のようになります。
- ユーザー ロケールは米国 (en-US): "6/25/2020"
- ユーザーロケールはドイツ (de-DE): "6.25.2020"
カスタム date/timeformat の例
次の例では、2020 年 6 月 25 日木曜日の午後 1:23:45 に date/time を使用します。 ドイツ (de-DE) は、24hour システムを使用します。 AM/PM に相当するものはありません。
Format | 結果 (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 日 (木) | Donnerstag、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" |
Year 2020 | Year 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 PM | 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 日午後 1 時 23 分 45 分 | 6.25.2020 01:23:45 |