[Looker]group_labelの宣言場所における違いをまとめてみる #looker

2020.10.30

Lookerのgroup_labelパラメータは、宣言する場所によって挙動が異なります。

以下の2つのパターンに分けられるため、この2つの違いについてまとめてみます。

  • exploreパラメータ内
  • 各種フィールドパラメータ内(dimension、measure等)

exploreパラメータ内

仕様

exploreパラメータ内でgroup_labelを使用すると、Lookerの画面上部に表示されているExploreを押した時、設定したgroup_labelごとにExploreが分類されるようになります。

こちらは実際の画面を見たほうが理解が早いと思うため、実例をお見せします。

「modelファイル名:sagara_test、explore名:events」という前提の元、確認します。

まず、group_labelを何も入れていない場合は下図のように表示されます。modelファイル名の下にexplore名が連なる形ですね。

続いて、eventsというexploreパラメータ内で、「group_label: "イベント関係"」と追記してみます。すると、下図のように設定したgroup_label名の下にexplore名が連なる形に変わりました!

主な用途

例えば、1つのmodelファイル内でexploreパラメータを使いすぎてしまい、使いたいExploreを探すことが難しくなったときに、group_labelで分類分けして使いたいExploreを探すことをより容易にすることが出来ます。

ただ、私個人の考えとしては、group_labelをexploreパラメータに1つでも使用する際は、運用方法を明確にした上でそのLookerインスタンス内のすべてのexploreに対してgroup_labelを設定すべきだと考えています。

なぜかというと、「あるexploreはmodelファイル名の元に連なり、あるexploreはgroup_labelで定めたグループの元に連なる」という状況になると、exploreやmodelファイルが増えてきたときに、何がどこにあるかわからなくなってしまうことが予想されるためです。

アプリ開発でもディレクトリの構造を最初に設計しますし、事務系業務でもフォルダ構造は明確にしないとどのファイルがどこにあるかわからなくなってしまいますよね?それはLookerにも同じことが言えると私は思っています。

ひとまずここでお伝えしたいのは、「exploreパラメータ内におけるgroup_labelは中途半端に使うと逆に混乱を招くリスクもあること」です。 ここだけご注意ください!

各種フィールドパラメータ内(dimension、measure等)

仕様

dimensionなどのフィールドパラメータ内でgroup_labelを使用すると、フィールドピッカー内でdimension_groupのように1つ階層が追加されます。

こちらも実際の画面を見たほうが理解が早いと思うため、実例をお見せします。

cityとcountryという2つのディメンションを対象にやってみます。

まず、group_labelを設定しないと、下図のようにDIMENSIONSの直下にcityとcountryがあることがわかります。

次に、cityとcountry、それぞれに対して「group_label: "地理情報"」と入れてみます。 すると、DIMENSIONSとcity&countryの間に「地理情報」という階層が追加されました。

主な用途

一つのviewファイルの中でフィールドの数が増えすぎた時、フィールドピッカー内でフィールドをgroup_labelごとに分類することで、使いたいフィールドを探すことがより容易になります。

具体的には「ID」「金額」「商品情報」などのフィールドの内容に応じてカテゴライズしてgroup_labelを使用したり、ある指標を計算するメジャーが複雑で日、月、年ごとにフィールドが別れてしまっているならば「日別指標」「月別指標」「年別指標」とまとめてみるのも良いと思います。

注意事項

1つだけ、group_labelをフィールドパラメータ内で使用するときの注意事項があります。 それは、dimension_groupに対してgroup_labelを使用したとき、dimension_groupの階層がなくなりgroup_labelにすべて寄ってしまうことです。

以下、具体例を記します。

まず下図のように、createdとdeliveredという時間系のdimension_groupがあったとします。 このままだと、それぞれcreated、deliveredという階層ごとに各時間系のディメンションが集まるようになります。

ここで同じ時間系のdimension_groupのため、下図のように「group_label: "時間系"」と入れることで、1つの階層にまとめてみたいと考えてみました。 しかし、下図の右側のように、時間系という階層の中にcreatedとdeliveredのディメンションがすべてまとまってしまいました。

これでも良いという考えもあるかもしれませんが、dimension_groupに対してgroup_labelを設定する際はご注意ください。

最後に

いかがでしたでしょうか。 group_labelを有効に使えるとExploreが整理できて、Exploreを使用するユーザーにとってLookerがより使いやすいツールとなると思います。

ただ、特にExploreパラメータ内でgroup_labelを使う際は運用方法を明確にしておかないと余計に整理がつかなくなってしまうリスクも有るため、運用方法を事前に関係者で明確にしておき使うことがベストだと私は考えています。

ぜひ使い方に気をつけて、group_labelを有効活用してみてください!