このページでは、Liquid 変数を受け入れる label サブパラメータの一部を指定して Looker の parameter フィールドを使用する便利な方法に重点を置いて説明します。
このページの例では、Liquid に関する理解が必要です。Looker での Liquid の使用については、Liquid 変数リファレンス ドキュメント ページをご覧ください。
動的ビュー名に view_label を使用する
Looker の view_label パラメータは、Explore フィールド ピッカーで、よりコンテキストが明確なわかりやすい名前でディメンションをグループ化するために使用します。ビューラベルの詳細については、(フィールドに関する)view_label ドキュメント ページをご覧ください。
同じ view_label をディメンションに割り当てると、ユーザーに対して Explore が簡素化されます。わかりやすく説明的なフィールドのグループ化により、ユーザーは必要なデータを簡単に見つけることができます。
例: Liquid view_label による DRY(繰り返しを避ける)コードの書き方
たとえば、[在庫項目] という Explore の view_label の財務 & 会計
の下に編成されているフィールドがあるとします。
dimension: cost {
view_label: "Finance & Accounting"
type: number
sql: ${TABLE}.COST ;;
}
dimension: cost_ex_vat {
view_label: "Finance & Accounting"
type: number
sql: ${TABLE}.COST_EX_VAT ;;
}
dimension: cost_eur {
view_label: "Finance & Accounting"
type: number
sql: ${TABLE}.COST_EUR ;;
}
ユーザー向けに view_label の財務 & 会計
を資金ゾーン
に変更するとしたらどうでしょうか。Liquid を使用すると、コードの繰り返しの書き換えを防げます。
Looker の parameter フィールドを使用して、目的のビュー名に関する一種の疑似変数を作成できます。parameter でビュー名を変更すると、すべてのフィールドが更新されます。
parameter: view_label {
type: string
default_value: "The Money Zone"
}dimension: cost {
view_label: "{% parameter view_label %}"
type: number
sql: ${TABLE}.COST ;;
}
dimension: cost_ex_vat {
view_label: "{% parameter view_label %}"
type: number
sql: ${TABLE}.COST_EX_VAT ;;
}
dimension: cost_eur {
view_label: "{% parameter view_label %}"
type: number
sql: ${TABLE}.COST_EUR ;;
}
注: メニューに引用符が表示されないようにするには、parameter を type:unquoted に設定し、default_value をスペースが含まれていない文字列(例: The_Money_Zone)にする必要があります。パラメータが type:string の場合、引用符が表示されます。
動的フィールド ラベル
フィールド名の解釈が異なる複数のユーザーのグループが存在する場合があります。たとえば、ユーザーによっては売上総利益を営業利益と呼ぶ場合がありますが、別のユーザーはユースケースに応じて標準利益と呼ぶ場合もあります。
フィールドの名前は、ユーザー属性と Liquid 変数の組み合わせによってユーザーごとに異なって表示される場合があります。
例: ユーザー属性ごとに異なるラベル
前の例で推定すると、ビジネス ロジックの違いに対応するため、一部のユーザーには [売上総利益] フィールドが [Standard Margin] として表示され、別のユーザーには [営業利益] として表示されます。次の LookML では、ユーザー属性と Liquid 変数を活用しています。
dimension: gross_margin {
label: "{% if _user_attributes['customer'] == 'A' %} Standard Margin
{% elsif _user_attributes['customer'] == 'B' %} Operating Margin
{% else %} Gross Margin
{% endif %}"
type: number
value_format_name: usd
sql: ${sale_price} - ${inventory_items.cost} ;;
}
LookML に基づいて、[売上総利益] フィールドはユーザー A の Explore フィールド ピッカーには [営業利益] と表示されます。
LookML に基づいて、[売上総利益] フィールドはユーザー B の Explore フィールド ピッカーには [Standard Margin] と表示されます。
また、このパターンを使用して、ユーザーごとに簡単なローカライズを行うこともできます。次の例をご覧ください。
例: 複数の Explore のカスタム フィールド名
この例では、前の例の手法を組み合わせて、ユーザーのリージョンに応じて異なるフィールド ラベルを持つ Explore を作成します。
この例では、Finance East と Finance West という 2 つのリージョン チームが Company Sales という Explore を使用しています。どちらのチームも、クエリで利益総額メジャーと総収益メジャーを使用する必要があります。
measure: total_profit {
label: "{{ _explore._name}}: Profit"
type: sum
sql: ${profit} ;;
}
measure: total_revenue {
label: "{{ _explore._name}}: Revenue"
type: sum
sql: ${sale_price} ;;
value_format_name: usd
}
ただし、各チームはフィールド名にチームの地域を反映させたいと考えています。
デベロッパーは、Finance East のユーザーにはある方法で、Finance West のユーザーには別の方法でフィールド名を表示できます。DRY LookML では、次の Liquid パラメータを使用することでこれを実現できます。
from パラメータは、Explore のベースになるビューを指定します。explore_label を使用すると、2 つの別名の Explore(「Company Sales」)に同じ名前を表示することで、両方のチームに同じデータ探索のエクスペリエンスを実現できます。
{{ _explore._name}} Liquid 変数を使用することで、チームのリージョンに応じて変化します。Explore:
explore: Finance_East{
from: order_items
label: "Company Sales"
view_label: "The Money Zone"
}
explore: Finance_West{
from: order_items
label: "Company Sales"
view_label: "The Money Zone"
}
データ探索時に、Finance East チームには [利益総額] が [Finance_East: Profit] と表示され、[総収益] フィールドが [Finance_East: Revenue] と表示されます。
データ探索時に、Finance West チームには [利益総額] が [Finance_West: Profit] と表示され、[総収益] フィールドが [Finance_West: Revenue] と表示されます。
ユーザーへのフィールドの表示方法をカスタマイズするその他の方法については、Explore メニューとフィールド ピッカーの変更のドキュメント ページをご覧ください。