次の方法で共有


Power BI Desktop でカスタム書式設定文字列を使用する

適用対象: Power BI Desktop Power BI サービス

Power BI Desktop でカスタム書式設定文字列を使用すると、ビジュアルでのフィールドの表示方法をカスタマイズし、意図したとおりにレポートが表示されるようにすることができます。

[書式] ドロップダウン メニューの [カスタム] が強調表示されている、モデリング ビューの Power BI デスクトップのスクリーンショット。

書式指定文字列には、次の 3 つのレベルがあります。

  • モデル。 モデル内のフィールドの書式指定文字列を設定するか、ダイナミック書式指定文字列を使用してメジャーを書式設定することができます。 ビジュアル レベルまたは要素レベルの書式指定文字列によってオーバーライドされない限り、そのフィールドを使用するすべての場所で書式指定文字列が適用されます。
  • ビジュアル。 書式指定文字列が既に含まれている場合でも、ビジュアルにある任意の列、メジャー、またはビジュアル計算で書式指定文字列を設定できます。 その場合、モデル レベルの書式指定文字列がオーバーライドされ、ビジュアル レベルの書式指定文字列が使用されます。 フィールドの集計を変更すると、以前に設定したビジュアル レベルの書式指定文字列が無効になり、書式指定文字列が削除されます。 フィールドに対するビジュアル レベルの書式指定文字列は、フィールドに対して保持されますが、ビジュアル計算には保持されません。 フィールドにビジュアル レベルの書式指定文字列を設定した後に、そのフィールドを削除して同じビジュアルに再度追加すると、ビジュアル レベルの書式指定文字列が復元されます。 一方、ビジュアル計算では、書式指定文字列は復元されません。
  • 要素。 データ ラベルと、新しいカードおよび新しいスライサー ビジュアルの特定の要素に書式指定文字列を設定できます。 このレベルを拡張し、対応項目を増やすことが予定されています。 ここで設定した書式指定文字列は、ビジュアル レベルとモデル レベルで設定された書式指定文字列をオーバーライドします。

これらのレベルは階層構造であり、モデル レベルが最も低いレベルであり、要素レベルが最も高いレベルです。 上位レベルの列、メジャー、またはビジュアル計算に定義された書式指定文字列は、下位レベルで定義されたものをオーバーライドします。

ビジュアル計算はモデルに含まれないため、モデル レベルで書式設定文字列を設定することはできませんが、ビジュアル レベルまたは要素レベルで設定できます。 メジャーと列には、次の 3 つのレベルすべてで書式指定文字列を含めることができます。

Level 影響 以下に対応します。
要素 選択したビジュアルの選択した要素 メジャー、列、ビジュアル計算
ビジュアル 選択した視覚エフェクト メジャー、列、ビジュアル計算
モデル 同じモデル上のすべてのビジュアル、すべてのページ、すべてのレポート メジャー、列

使用できる 3 つのレベルの書式指定文字列 (モデル、ビジュアル、要素) を示す図。ビジュアル計算ではビジュアル レベルと要素レベルの書式指定文字列のみを持つことができ、メジャーと列はすべてのレベルの書式指定文字列を持つことができます。

要素レベルの書式指定文字列は、現時点では特定のビジュアルとデータ ラベルでのみ使用できます。

カスタム書式設定文字列の使用方法

カスタム書式指定文字列を使用するには、最初に作業するレベル (Model、Visual、Element) を決定する必要があります。

モデル レベルの書式指定文字列を追加する

モデルでカスタム書式設定文字列を作成するには、[モデリング] ビューでフィールドを選択し、[プロパティ] ペインで [書式] のドロップダウン矢印を選択します。

[書式] メニューが強調表示されている [プロパティ] ウィンドウのスクリーンショット。

[書式] ドロップダウン メニューから [カスタム] を選択したら、よく使用される書式指定文字列の一覧から選択します。

[書式] メニューのスクリーンショット。[カスタム] が強調表示されています。

ビジュアル レベルの書式指定文字列を追加する

ビジュアル レベルの書式指定文字列を作成するには、最初にビジュアルにフィールドまたはビジュアル計算を追加します。 次に、ビジュアルを選択した状態で、書式設定ウィンドウを開き、書式設定ウィンドウの [全般] セクションに移動します。 [データの書式指定] 設定に移動し、書式指定文字列を構成します。

ビジュアルの [書式] ペインのスクリーンショット。[全般] セクションの [データの書式指定] 設定が表示されています。

Note

ここでは、VBA 書式指定文字列ではなく .NET 書式指定文字列を入力する必要があります。 これは一時的な問題であり、将来のリリースで解決されます。

要素レベルの書式指定文字列を追加する

要素レベルの書式指定文字列を作成するには、書式ペインを開き、書式を設定する要素の書式指定文字列セクションに移動します。 すべての要素が書式指定文字列をサポートしているわけではないことに注意してください。 データ ラベルに書式指定文字列を設定するには、書式ペインの [ビジュアル] セクションを開き、[データ ラベル]>[値]>[表示ユニット] をカスタムに設定し、書式指定コードを入力します。

ビジュアルの [書式] ペインのスクリーンショット。[ビジュアル] セクションで、[データ ラベル] の [値の書式] 設定が表示されています。

サポートされているカスタム書式設定構文

カスタム書式設定文字列は、Excel や他の Microsoft 製品に共通する VBA スタイルの構文に従いますが、他の製品で使用されるすべての構文がサポートされているわけではありません。

Note

現時点では、ビジュアル レベルの書式指定文字列では、代わりに .NET 書式指定文字列を入力する必要があります。 これは一時的な問題であり、将来のリリースで解決されます。

次の表では、Power BI でサポートされている構文を定義します。

サポートされている日付記号

記号 範囲
d 1 - 31 (先行ゼロを含まない月の通算日)
dd 01 - 31 (先行ゼロを含む月の通算日)
m 1 - 12 (先行ゼロを含まない月、1 月 = 1)
mm 01 - 12 (先行ゼロを含む月、1 月 = 01)
mmm 月の省略名を表示します (イスラム暦の月の名前には省略形がありません)
mmmm 月の完全な名前を表示します
yy 00 - 99 (年の最後の 2 桁)
yyyy 100 - 9999 (3 桁または 4 桁の年)

サポートされている時刻記号

記号 範囲
h 0 - 23 (1 - 12 の場合は "AM" or "PM" を付加します) (時刻、先行ゼロなし)
hh 00 - 23 (01 - 12 の場合は "AM" or "PM" を付加します) (時刻、先行ゼロあり)
n 0 - 59 (分、先行ゼロなし)
nn 00 - 59 (分、先行ゼロあり)
m 0 - 59 (分、先行ゼロなし)。 前に h または hh がある場合のみ
mm 00 - 59 (分、先行ゼロあり)。 前に h または hh がある場合のみ
s 0 - 59 (秒、先行ゼロなし)
ss 00 - 59 (秒、先行ゼロあり)

カスタム値文字列の書式設定方法のを参照してください。

ユーザー定義の数値式では、1 から 3 個のセクションをセミコロンで区切って指定できます。 セミコロンの間に何もない場合、欠落しているセクションは表示されず、代わりに "" が表示されます。 セミコロンを指定しない場合は、正の書式設定が使用されます。

さまざまな値文字列のさまざまな書式設定の例を次に示します。

書式設定文字列 書式設定文字列 書式設定文字列 書式設定文字列
0.00;-0.0;"Zero" 0.00;; 0.00;-0.0; 0.00;
-1.234 -1.2 $ -1.2 $
0 "Zero" $ $ 0.00
1.234 1.23 1.23 1.23 1.23

次の表では、定義済みの名前付きの日付と時刻の書式設定を示します。

書式設定名 説明
一般の日付 日付と時刻を表示します (例: 4/3/93 05:34 PM)。 小数部分がない場合は、日付のみを表示します (例: 4/3/93)。 整数部分がない場合は、時刻のみを表示します (例: 05:34 PM)。 日付の表示は、システム設定によって決まります。
長い日付 システムの長い日付形式に従って日付を表示します。
短い日付 システムの短い日付形式を使用して日付を表示します。
長い時刻 システムの長い時刻形式を使用して時刻を表示します。時、分、秒が含まれます。
短い時刻 24 時間形式を使用して時刻を表示します (例: 17:45)。

名前付きの数値書式設定

次の表では、定義済みの名前付きの数値の書式設定を示します。

書式設定名 説明
一般的な数字 桁区切り記号を付けずに数値を表示します。
通貨 桁区切り記号を付けて数値を表示します。 小数点の後に 2 桁を表示します。 出力はシステムのロケール設定に基づいきます。
固定 小数点の前に少なくとも 1 桁、小数点の後に 2 桁を表示します。
Standard 桁区切り記号付きで、小数点の前に 1 桁以上、小数点の後に 2 桁を表示します。
Percent 数値を 100 倍し、パーセント記号 (%) を付けて表示します。 常に小数点の後に 2 桁を表示します。
科学的表記 標準的な科学的表記法を使用します。

次の表では、ユーザー定義の日付/時刻書式設定を作成するために使用できる文字を示します。

文字 説明
時刻の区切り記号。 ロケールによっては、他の文字を使用して時刻区切り記号が表される場合があります。 時刻の値を書式設定するときに、時刻区切り記号で時、分、秒を区切ります。 書式設定された出力で時刻区切り記号として実際に使用される文字は、システム設定によって決まります。
日付の区切り記号。 ロケールによっては、他の文字を使用して日付区切り記号が表される場合があります。 日付の値を書式設定するときに、日付区切り記号で日、月、年を区切ります。 書式設定された出力で日付区切り記号として実際に使用される文字は、システム設定によって決まります。
d 先頭に 0 を付けずに数値で日を表示します (1 – 31)。
dd 先頭に 0 を付けて数値で日を表示します (01 – 31)。
ddd 省略形で曜日を表示します (Sun – Sat)。 ローカライズされます。
dddd 完全な名前で曜日を表示します (Sunday – Saturday)。 ローカライズされます。
m 先頭に 0 を付けずに数値で月を表示します (1 – 12)。 m が h または hh の直後にある場合、月ではなく分が表示されます。
mm 先頭に 0 を付けて数値で月を表示します (01 – 12)。 m が h または hh の直後にある場合、月ではなく分が表示されます。
mmm 省略形で月を表示します (Jan – Dec)。 ローカライズされます。
mmmm 完全な月の名前で月を表示します (January – December)。 ローカライズされます。
yy 年を 2 桁の数字で表示します (00 - 99)。
yyyy 年を 4 桁の数字で表示します (100 - 9999)。
h 先頭に 0 を付けずに数値で時刻を表示します (0 – 23)。
hh 先頭に 0 を付けて数値で時刻を表示します (00 – 23)。
n 先頭に 0 を付けずに数値で分を表示します (0 – 59)。
nn 先頭に 0 を付けて数値で分を表示します (00 – 59)。
s 先頭に 0 を付けずに数値で秒を表示します (0 – 59)。
ss 先頭に 0 を付けて数値で秒を表示します (00 – 59)。
tt 12 時間制を使用し、正午より前の時刻には大文字の AM を表示します。正午から午後11:59 までの時刻には、大文字の PM を表示します。

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

文字 説明
なし 書式設定なしで数値を表示します。
( 0 ) 数字のプレースホルダー。 数字または 0 を表示します。 式の書式設定文字列で 0 が出現する位置に数字がある場合は、それを表示します。 それ以外の場合は、その位置に 0 を表示します。 数値の桁数が、書式設定式のゼロ (小数点の両側) の数より少ない場合は、先頭または末尾に 0 が表示されます。 小数点以降で数値の桁数が 0 の数より多い場合、数値は 0 で表示されている小数位までに丸められます。 小数点以前で数値の桁数が 0 の数より多い場合、余分な桁の数字は変更されることなく表示されます。
数字のプレースホルダー。 数字を表示するか、または何も表示しません。 式の書式設定文字列で # が出現する位置に数字がある場合は、それを表示します。それ以外の場合は、その位置に何も表示しません。 この記号は、0 桁のプレースホルダーのように機能します。 ただし、数値の桁数が、形式表現の小数点のいずれかの側で # 文字の数と同じかそれよりも少ない場合、先頭と末尾のゼロは表示されません。
小数点のプレースホルダー。 ロケールによっては、小数点区切り記号としてコンマが使用されます。 小数点プレースホルダーにより、小数点の前後に表示される桁数が決まります。 形式表現でこの記号の左側に番号記号のみがある場合、1 より小さい数値は小数点で始まります。 小数部の前にゼロを表示するには、小数点区切り記号の左側の最初の桁プレースホルダーとして 0 を使用します。 書式設定された出力で、小数点プレースホルダーとして実際に使用される文字は、システムによって認識される数値書式によって異なります。
パーセント プレースホルダー。 式に 100 が乗算されます。 パーセント文字 ( % ) は、書式設定文字列内で出現する位置に挿入されます。
桁区切り記号。 ロケールによっては、桁区切り記号としてピリオドが使用されます。 桁区切り記号は、小数点区切り記号の左側に 4 桁以上ある数値で、千の位と百の位を区切ります。 数字プレースホルダー (0 または #) で囲まれた桁区切り記号が書式に含まれる場合に、桁区切り記号の標準的な使用方法が指定されます。 2 つの隣接する桁区切り記号がある場合、または小数点区切り記号のすぐ左に桁区切り記号がある場合は (小数点が指定されているかどうかにかかわらず)、"必要に応じて、数値が 1000 で除算されて丸められます。" たとえば、100 万を 100 と表すために書式指定文字列 "##0,," を使用できます。 100 万より小さい数値は 0 と表示されます。 小数点区切り記号のすぐ左側以外の任意の位置にある 2 つの隣接する桁区切り記号は、単に桁区切り記号の使用の指定として処理されます。 書式設定された出力で、桁区切り記号として実際に使用される文字は、システムによって認識される数値書式によって異なります。
時刻の区切り記号。 ロケールによっては、他の文字を使用して時刻区切り記号が表される場合があります。 時刻の値を書式設定するときに、時刻区切り記号で時、分、秒を区切ります。 書式設定された出力で時刻区切り記号として実際に使用される文字は、システム設定によって決まります。
日付の区切り記号。 ロケールによっては、他の文字を使用して日付区切り記号が表される場合があります。 日付の値を書式設定するときに、日付区切り記号で日、月、年を区切ります。 書式設定された出力で日付区切り記号として実際に使用される文字は、システム設定によって決まります。
( E- E+ e- e+ ) 科学的表記形式。 形式表現で、E-、E+、e-、e+ 以降に少なくとも 1 つの桁プレースホルダー (0 または #) がある場合、数値は科学的形式で表示され、E または e が数値とその指数の間に挿入されます。 桁プレースホルダーの数によって、指数の桁数が決まります。 負の指数の横にマイナス記号を付けるには、E- または e- を使用します。 負の指数の横にマイナス記号を付け、正の指数の横にプラス記号を付けるには、E+ または e+ を使用します。
リテラル文字を表示します。 異なる文字を表示するには、その文字の前に円記号 (\) を付けるか、または二重引用符 (" ") で囲みます。
書式設定文字列内の次の文字を表示します。 リテラル文字として特別な意味を持つ文字を表示するには、その文字の前に円記号 (\) を付けます。 円記号自体は表示されません。 円記号の使用は、次の文字を二重引用符で囲むことと同じです。 円記号を表示するには、円記号を 2 つ続けて (\\) 使用します。 日付書式設定と時刻書式設定の文字 (a、c、d、h、m、n、p、q、s、t、w、/、:) は、リテラル文字、数値書式設定の文字 (#、0、%、E、e、コンマ、ピリオド)、文字列書式設定の文字 (@、&、<、>、!) として表示することはできません。
("ABC") 二重引用符 (" ") の内側にある文字列を表示します。

考慮事項と制限事項

  • 文字列型またはブール型のフィールドにカスタム書式指定文字列を設定することはできません。

詳細については、以下を参照してください: