数値書式のローカライズ

数値形式のローカライズは、多くの場合、モデルのローカライズとユーザー インターフェースの言語選択と組み合わせて使用します。これらのトピックの詳細については、LookML モデルのローカライズサポートされているユーザー インターフェース言語のドキュメントをご覧ください。

Looker では、データテーブルとビジュアリゼーションに表示される数値の形式はデフォルトで 1,234.56 に設定されています。ただし、この数値書式は次のいずれかに設定できます。

  • 1,234.56: 数千個の値をカンマで区切ります。小数点はピリオドで区切ります
  • 1.234,56: ピリオドで区切られた数千件、カンマで区切られた小数点
  • 1 234,56: 数千をスペースで区切る、小数点をカンマで区切る

ユーザーの数値書式の設定

次のいずれかの方法で数値書式を設定できます。

  • 個々のユーザーの数値形式を設定するには: [管理] パネルの [ユーザーを編集] ページの [数値形式] プルダウン メニューから目的の形式を選択して、ページの下部にある [保存] をクリックします。

  • ユーザー グループの数値形式を設定するには: 特定のユーザー グループnumber_format ユーザー属性に目的の形式を割り当てます。グループ内のユーザーが number_format にカスタム値を設定している場合は、そのカスタム値がグループに割り当てられた値よりも優先されます。これを回避するには、number_format ユーザー属性の [User Access] が [Edit] に設定されていないことを確認します。
  • インスタンスの数値形式を設定するには: 上の表のいずれかのコードを、[管理] パネルの [ローカライズ] ページの [数値形式] フィールドに割り当てます。

Lookerのデフォルトの数値書式は次のようになります。

数値の形式を「1.234,56」に変更すると、次のようになります。

他の方法を使用した数値書式設定

LookML パラメータ value_format_name または value_format を使用してモデルのフィールドをフォーマットする場合、[数値形式] 設定または number_format ユーザー属性で選択された数値形式は、LookML パラメータで指定された形式に適用されます。例:

同様に、ビジュアリゼーションの [Edit] メニューで [Value Format] フィールドを使用すると、[Number format] 設定または number_format ユーザー属性で設定した数値形式が、[Value Format] フィールドで選択した形式に加えて適用されます。

LookML のパラメータや、ビジュアリゼーションの [Edit] メニューの [Value Format] 項目で、書式を 1.234,56 や 1 234,56 に設定することはできません。これらの形式を設定するには、[数値形式] 設定または number_format ユーザー属性を使用する必要があります。value_formatvalue_format_name値の形式では、Excel 形式の書式設定文字列を使用します。

strict_value_format で数値形式設定をオーバーライドする

通常、数値形式の設定または number_format ユーザー属性で設定された数値形式は、LookML パラメータによって適用される形式よりも優先されます。

ただし、[数値形式] 設定または number_format ユーザー属性の影響を受けない数値形式を作成する場合は、named_value_format モデル パラメータを使用して数値形式を作成し、strict_number_format サブパラメータを yes に設定します。作成した書式は、value_format_name パラメータを使用して項目に適用でき、数値形式number_format の影響を受けません。

たとえば、最初にモデルファイルにカスタム形式を作成し、strict_value_format サブパラメータを yes に設定します。

named_value_format: dollar_formatting {
  value_format: "$#,###.00"
  strict_value_format: yes
}

次に、ビューファイル内の1つまたは複数のフィールドにその書式を適用します。

measure: average_sale_price {
  type: average
  value_format_name: dollar_formatting
  sql: ${sale_price} ;;
}

そうすると、次のようなLookになります。