このページでは、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: "{% dynamic if _user_attributes['customer'] == 'A' %} Standard Margin {% elsif _user_attributes['customer'] == 'B' %} Operating Margin {% dynamic else %} Gross Margin {% dynamic 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 と総収益 measure を使用する必要があります。
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 メニューとフィールド ピッカーの変更のドキュメント ページをご覧ください。