Dax-functions-dax-format-function

提供:Dev Guides
移動先:案内検索

DAX Text-FORMAT関数

説明

指定された形式に従って値をテキストに変換します。

構文

FORMAT (<value>, <format_string>)

パラメーター

Sr.No. Parameter & Description
1

value

単一の値に評価される値または式。

2

format_string

書式設定スタイルを表す文字列。

  • 数値をフォーマットするには、定義済みの数値フォーマットを使用するか、ユーザー定義の数値フォーマットを作成できます。

この章の最後にあるセクション-FORMAT関数の定義済みの数値形式とカスタム数値形式をご覧ください。

  • 日付と時刻をフォーマットするには、事前定義された日付/時刻フォーマットを使用するか、ユーザー定義の日付/時刻フォーマットを作成できます。

日付と時刻のフォーマットの詳細については、このチュートリアルライブラリのチュートリアル-DAXを参照してください。

戻り値

format_stringで定義された形式の値を含む文字列。

備考

  • 値がBLANK()の場合、FORMAT関数は空の文字列を返します。
  • format_stringがBLANK()の場合、値は(値のデータ型に応じて)「一般的な数値」または「一般的な日付」形式でフォーマットされます。

次の表は、最初の引数値が最初の行に指定され、format_stringが最初の列に指定されたFORMAT関数の結果を示しています。 フォーマット文字列を理解するには、この表の下にあるセクションを参照してください。

"5" "-5" "0.5" "0"
Zero-length string ("") 5 -5 0.5 0
0 5 -5 1 0
0.00 5.00 -5.00 0.50 0.00
,#0 5 -5 1 0
$,0;($,0) $5 ($5) $1 $0
$,0.00;($,0.00) $5.00 ($5.00) $0.50 $0.00
0% 500% -500% 50% 0%
0.00% 500.00% -500.00% 50.00% 0.00%
0.00E+00 5.00E+00 -5.00E+00 5.00E-01 0.00E+00
0.00E-00 5.00E00 -5.00E00 5.00E-1 0.00E00
"$,#0;;\Z\e\r\o" $5 $-5 $1 Zero

FORMAT関数の事前定義された数値形式

次の表は、Format関数の形式スタイル引数の名前で使用できる定義済みの数値形式名を示しています。

シニア

フォーマット文字列と説明

1

「一般番号」

桁区切り記号なしで数値を表示します。

2

"通貨"

必要に応じて、桁区切り記号付きの数値を表示します。

小数点区切り記号の右側に2桁を表示します。

出力はシステムロケール設定に基づきます。

3

"一定"

小数点の左側に少なくとも1桁、右側に2桁を表示します。

4

"標準"

桁区切り記号付きの数値を表示します。少なくとも1桁は左側、2桁は小数点の右側に表示されます。

5

"パーセント"

数値に100を掛けて、すぐ右側にパーセント記号(%)を追加して表示します。

常に小数点の右側に2桁を表示します。

6

「科学」

標準の科学表記法を使用して、2桁の有効数字を提供します。

7

"はい・いいえ"

数値が0の場合、Noが表示されます。 それ以外の場合は、はいを表示します。

8

"正誤"

数値が0の場合、Falseが表示されます。 それ以外の場合は、Trueが表示されます。

9

  • "オンオフ" *

数値が0の場合、オフを表示します。 それ以外の場合は、オンが表示されます。

FORMAT関数のカスタム数値形式

数値のユーザー定義形式式には、セミコロンで区切られた1〜3つのセクションを含めることができます。

Format関数のformat_string引数に定義済みの数値形式の1つが含まれる場合、1つのセクションのみが許可されます。

次の表は、フォーマット中にセクションがどのように適用されるかを示しています。

Sr.No. Number of Section & Format Result
1
  • One section only*

フォーマット式はすべての値に適用されます。

2

Two sections

最初のセクションは、正の値とゼロに適用されます。

2番目は負の値に適用されます。

3

Three sections

最初のセクションは正の値に適用されます。

2番目のセクションは負の値に適用されます。

3番目のセクションはゼロに適用されます。

間にセミコロンを含めない場合、正の値の形式を使用して欠落しているセクションが印刷されます。

次の表に、ユーザー定義の数値形式を作成するために使用できる文字を示します。

シニア

フォーマットの仕様と説明

1

なし

フォーマットせずに番号を表示します。

2

  • 0(ゼロ文字)*

数字プレースホルダー。 数字またはゼロを表示します。

式の書式文字列でゼロが現れる位置に数字がある場合、その数字を表示します。 それ以外の場合は、その位置にゼロを表示します。

書式式にゼロ(小数点の両側)がある場合よりも数字の桁数が少ない場合、先頭または末尾のゼロを表示します。

書式式の小数点記号の右側にゼロがあるよりも、数値の小数点記号の右側の桁数が多い場合、ゼロと同じ数の小数点以下の桁数に丸めます。

書式式の小数点記号の左側にゼロがあるよりも、数値の小数点記号の左側の桁数が多い場合、変更せずに余分な数字を表示します。

  • 式の書式文字列で#文字が表示される位置に数字がある場合、その数字を表示します。
  • それ以外の場合、その位置には何も表示されません。

この記号は0桁のプレースホルダーと同じように機能しますが、形式式の小数点記号の両側の数字が#文字よりも少ない場合、先頭と末尾のゼロは表示されません。

3

  1. (ドット文字)*

10進数のプレースホルダー。 小数点プレースホルダーは、小数点の左右に表示される桁数を決定します。

  • 書式式にこの記号の左側に#文字しか含まれていない場合、1より小さい数字は小数点で始まります。
  • 小数で表示される先行ゼロを表示するには、小数点の左側の最初の桁プレースホルダーとしてゼロを使用します。

一部のロケールでは、コンマが小数点記号として使用されます。 書式付き出力で小数点プレースホルダーとして使用される実際の文字は、システムで認識される数値形式によって異なります。 したがって、小数点のプレースホルダーとしてコンマを使用するロケールを使用している場合でも、形式の小数点プレースホルダーとしてピリオドを使用する必要があります。 フォーマットされた文字列は、ロケールに適した形式で表示されます。

4

%

プレースホルダーの割合。 式に100を掛けます。 パーセント文字(%)は、書式文字列で表示される位置に挿入されます。

5

、(コンマ文字)

千の区切り。 桁区切り記号は、小数点区切り記号の左側に4つ以上の場所がある数値内の桁区切り記号を数百から区切ります。

桁区切り記号(0または#)で囲まれた桁区切り記号が形式に含まれる場合、桁区切り記号の標準使用が指定されます。 小数点区切り記号のすぐ左にある1000の区切り記号(小数点が指定されているかどうかに関係なく)または文字列の右端の文字は、「必要に応じて丸め、数値を1,000で除算してスケーリングする」ことを意味します。

  • 1,000より小さいが500以上の数値は1として表示され、500より小さい数値は0として表示されます。
  • この位置にある2つの隣接する1000個のセパレーターは、100万分の1の倍率でスケールし、追加のセパレーターごとに1,000分の1の倍率があります。
  • 小数点区切り記号のすぐ左または文字列の右端以外の位置にある複数の区切り記号は、千の区切り記号の使用を指定するものとして単純に扱われます。

一部のロケールでは、ピリオドが千単位の区切り文字として使用されます。 フォーマットされた出力で千単位の区切り文字として使用される実際の文字は、システムで認識される数値形式によって異なります。 したがって、ピリオドを千単位の区切り記号として使用するロケールを使用している場合でも、形式の千単位の区切り記号としてコンマを使用する必要があります。 フォーマットされた文字列は、ロケールに適した形式で表示されます。

例-

  • 「#、0」桁区切り記号を使用して、1億という数字を文字列「100,000,000」としてフォーマットします。
  • 「#0 ,.」 1000の因数によるスケーリングを使用して、1億という数値をストリング「100000」としてフォーマットします。
  • 「#、0 ,.」千単位の区切り記号と千単位のスケーリングを使用して、1億という数値を文字列「100,000」としてフォーマットします。

6

:(コロン文字)

時間区切り。 時間の区切り文字は、時間の値がフォーマットされるときに時間、分、および秒を区切ります。

一部のロケールでは、他の文字を使用して時刻区切り記号を表す場合があります。 書式設定された出力で時間区切り記号として使用される実際の文字は、システム設定によって決まります。

7

/(スラッシュ文字)

日付区切り記号。 日付区切り記号は、日付値がフォーマットされる日、月、年を区切ります。

一部のロケールでは、日付区切り記号を表すために他の文字が使用される場合があります。 フォーマットされた出力で日付区切り記号として使用される実際の文字は、システム設定によって決まります。

8

*E-、E +、e-、e +*

科学的フォーマット

形式式にE-、E +、e-、またはe +の左側に少なくとも1桁のプレースホルダー(0または#)が含まれる場合、数値は科学形式で表示され、数値とその指数の間にEまたはeが挿入されます。

  • 左側の桁プレースホルダーの数により、指数の桁数が決まります。
  • E-またはe-を使用して、負の指数の隣にマイナス記号を配置します。
  • E +またはe +を使用して、負の指数の横にマイナス記号を配置し、正の指数の横にプラス記号を配置します。
  • また、正しい書式を取得するには、この記号の右側に数字のプレースホルダーを含める必要があります。

9

-+ $()

リテラル文字。 これらの文字は、フォーマット文字列に入力されたとおりに表示されます。

リストされている文字以外の文字を表示するには、円記号(\)を前に付けるか、二重引用符( "")で囲みます。

10

  • \(バックスラッシュ文字)*

フォーマット文字列の次の文字を表示します。 リテラル文字として特別な意味を持つ文字を表示するには、その前にバックスラッシュ(\)を付けます。

  • バックスラッシュ自体は表示されません。
  • バックスラッシュを使用することは、次の文字を二重引用符で囲むことと同じです。
  • バックスラッシュを表示するには、2つのバックスラッシュを使用します。

ただし、一部の文字はリテラル文字として表示できません。 例えば、

  • 日付書式文字と時刻書式文字(a、c、d、h、m、n、p、q、s、t、w、y、/、および:)
  • 数値フォーマット文字(#、0、%、E、e、コンマ、およびピリオド)
  • 文字列フォーマット文字(@、&、、、!)

11

「ABC」

二重引用符( "")内の文字列を表示します。 コード内からスタイル引数に文字列を含めるには、Chr(34)を使用してテキストを囲む必要があります(34は引用符( ")の文字コードです)。