DRY LookML でのコードの再利用性を最大化: LookML プロジェクト全体で使用する文字列を 1 回定義する

プロジェクトのマニフェスト ファイルで LookML constant パラメータを使用して、プロジェクト全体で使用できる文字列を定義できます。LookML 定数は、数値、名前、フィールド値の HTML 形式など特定の文字列を定義し、プロジェクト全体でその値を再利用する場合に便利です。

このページでは、LookML 定数を使用して再利用可能な文字列値を 1 回定義して維持する以下の例を示します。

構成要素

前提条件

例: 複数の Explore のラベルで同じ文字列を使用する

UI で San Francisco UsersSan Francisco Orders というラベルの付いた 2 つの Explore を作成するが、各ラベルのテキストは手動で入力しないとします。

これを行うには、プロジェクトのプロジェクト マニフェスト ファイルで値 "San Francisco" を持つ定数 place_name を定義します。

constant: place_name {
  value: "San Francisco"
}

この定数は、文字列が受け入れられているプロジェクトの任意の部分で構文 @{place_name} を使用して参照できます。この例では、以下のように label パラメータの値として "@{place_name} Users""@{place_name} Orders" を指定して、usersorders の Explore を定義できます。


explore: users {
  label: "@{place_name} Users"
}

explore: orders {
  label: "@{place_name} Orders"
}

この例では、Looker で Explore メニューと Explore のタイトルに、デフォルトの UsersOrders ラベルではなく San Francisco UsersSan Francisco Orders が表示されます。

すべての San Francisco の単語を Bay Area に更新するとします。

それぞれの単語を手動で更新するのではなく、プロジェクトのマニフェスト ファイルで place_name 定数を 1 回更新するだけで済みます。

constant: place_name {
  value: "Bay Area"
}

place_name 定数を定義したため、複数の場所で San FranciscoBay Area に手動で変更する必要はありません。place_name 定数を持つ San Francisco の単語は Bay Area に置き換えられます。したがって、Looker で Explore メニューと Explore のタイトルに、Bay Area UsersBay Area Orders が表示されます。

例: 複数のフィールドで同じ形式を負の値に適用する

負のデータ値を赤で、括弧で囲んでレポート内に表示するとします。

LookML 定数の値としてこの形式を設定すると、Liquid 変数HTML を使用して形式を 1 回指定するだけでできます。そうすれば、その形式をフィールドに適用するときは、いつでも定数を参照できます。

たとえば、この形式をフィールドに適用するために使用できる negative_format という定数を作成できます。


constant: negative_format {
  value: "{% dynamic if value < 0 %}
            <p style='color:red;'>({{rendered_value}})</p>
          {% dynamic else %}
            {{rendered_value}}
          {% dynamic endif %}"
}

このコードで定数 negative_format を作成します。これは、負のデータ値が赤いフォントで、括弧で囲まれるように指定しています。html パラメータを使用して、この形式をデータセットのディメンションと measure に適用できます。

たとえば、type: sumTotal Amount measure を作成し、html パラメータの値として @{negative_format} を指定できます。


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

表では、Total Amount measure の負の値が、negative_format 定数定義で指定された形式に従い、赤色のフォントで括弧で囲まれています。

他のフィールドで同じ形式を負の値に適用する場合は、それらのフィールドの html パラメータで negative_format 定数を参照できます。