[Looker]label、group_label、view_labelのヒエラルキーを暴いてみる #looker

2020.11.19

Lookerでは、label、group_label、view_labelといったパラメータを用いて、ビジネスユーザーにとってわかりやすく使いやすいExploreを作ることがベストプラクティスとなっています。

(手前味噌ですが、それぞれのパラメータについては下記のブログにまとめています)

一方で、これらのラベル関係のパラメータはそれぞれ似た名称であるだけでなく、これらの中から2種類同時に使うと、機能が重複してしまう箇所が実はあります。

本ブログでは、label、group_label、view_labelについて、機能が重複する際にはどちらが優先されるのか?を検証して、ラベル界隈のヒエラルキーを暴きたいと思います。

検証

exploreパラメータ内のgroup_label と modelファイル直下のlabel

影響がある箇所

この2つのパラメータは下図の赤枠のような、Exploreタブを押した際の上位階層に位置するモデル名を変更する機能があります。

検証内容

下図のように、modelファイル直下に対してlabelを、eventsというexploreパラメータ内にgroup_labelを入れてみます。 これによりeventsのExploreは、labelとgroup_label、どちらで定義した方に含まれるのかを確認してみます。

結果

events(Explore)は、group_labelで定義した方に含まれましたね! modelファイル直下のlabelよりも、exploreパラメータ内で定義したgroup_labelの方が強いことがわかりました。

exploreパラメータ内のview_label と viewパラメータ内のlabel

影響がある箇所

この2つのパラメータは下図の赤枠のように、Explore画面上のフィールドピッカー内の最上位階層であるviewの名称を変更する機能があります。

検証内容

下図のように、eventsというexploreパラメータ内にview_labelを、eventsというviewパラメータ内にlabelを入れてみます。 この状態でeventsのExploreを開き、events.viewにはview_labelとlabel、どちらが適用されているのかを確認してみます。

結果

exploreパラメータに対してview_labelを定義したほうが適用されました! viewパラメータ内のlabelよりも、exploreパラメータ内のview_labelの方が強いことがわかりました。

フィールドパラメータ内のview_label と viewパラメータ内のlabel

影響がある箇所

この2つのパラメータは下図の赤枠のように、Explore画面上のフィールドピッカー内の最上位階層であるviewの名称を変更する機能があります。

1つ前の検証と同じ類なのですが、今度はfieldパラメータ内のview_labelとviewパラメータ内のlabelで比較を行います。

検証内容

下図のように、eventsというviewパラメータ内にlabelを、events.view内にあるidというディメンション内にview_labelを入れてみます。 これにより、idがどちらのview_labelに含まれるのか確かめてみます。

結果

フィールドパラメータ内に対してview_labelを定義したほうが適用されました! viewパラメータ内のlabelよりも、フィールドパラメータ内のview_labelの方が強いことがわかりました。

exploreパラメータ内のview_label と フィールドパラメータ内のview_label

影響がある箇所

この2つのパラメータは下図の赤枠のように、Explore画面上のフィールドピッカー内の最上位階層であるviewの名称を変更する機能があります。

view_label同士で争ってみます。

検証内容

下図のように、eventsというexploreパラメータ内にview_labelを、events.view内にあるidというディメンション内にview_labelを入れてみます。 これにより、idがどちらのview_labelに含まれるのか確かめてみます。

結果

フィールドパラメータ内に対してview_labelを定義したほうが適用されました! exploreパラメータ内のview_labelよりも、フィールドパラメータ内のview_labelの方が強いことがわかりました。

まとめ

今回行った検証結果をまとめてみます。

  • Exploreタブを押した時のmodel名の表記に影響がある「exploreパラメータ内のgroup_label」と「modelファイル直下のlabel」では、「exploreパラメータ内のgroup_label」の方が強い。
  • フィールドピッカーの最上位に位置するview名の表記に影響がある、3種のlabel系パラメータは以下の優先順位で適用される
    • 1番手:フィールドパラメータ内のview_label
    • 2番手:exploreパラメータ内のview_label
    • 3番手:viewパラメータ内のlabel

最後に

いかがでしたでしょうか!

個人的に一番以外だったのが、「exploreパラメータ内のview_label」と「viewパラメータ内のlabel」では「exploreパラメータ内のview_label」が優先される、ということですね。

各フィールド⇛view⇛explore⇛model、という優先順位かと思っていたのですが、そうではないようです…

「やってみないとわからないことが多い」ということが改めて重要だと感じた検証でした!