Lookerで作成したダッシュボードのURLデータを選んだらそのままURL先に移動できるリンクを作る #looker

初めてのLookerエントリ
2019.09.30

こんちは。DA事業本部@大阪オフィスの玉井です。

GA等の、Webページのデータを分析するとき、ページ単位の分析(どのページが一番見られているか等)を行うことがあると思います。そういうページ単位の分析に関するダッシュボードがあったとしたら、そこからすぐにそれらのページを確認できるようにしておくと、分析が捗ると思います。

今回はデータにURLが入っている場合、そこにLookまたはダッシュボードからそのまま遷移できるリンクを貼る設定を行ってみました。

環境

  • Winodow 10 Pro
  • Google Chrome 77.0.3865.90
  • Looker 6.20.10

準備

データの用意とLookMLプロジェクトの立ち上げ

下記を参考に、データベースとLookMLプロジェクトを作成します。ちなみに今回使用しているのは、まさにこのブログ「Developes IO」のデータです。

設定をやってみる

該当テーブルのViewファイル内のURLにあたるカラムの定義を確認する

LookMLプロジェクトを作成すると、自動的にテーブルの定義がModelファイル、各テーブルのカラムの定義がViewファイルとしてそれぞれ用意されます。

URLが格納されているデータをそのまま使用しても遷移しない

今回はブログの記事のデータなので、レコード毎にその記事のURLが格納されています(名前はそのまま「URL」)。Viewファイルでは下記のように定義されています。

dimension: url {
    type: string
    sql: ${TABLE}.url ;;
  }

一度、この状態でLookを作成してみましょう。使用するテーブル(Explore)は下記の通りです。記事データしか使わないのでシンプルにしています(一応、著者マスタを左結合しています)。

explore: t_blogposts {
  label: "ブログデータ"
  join: m_user {
    type: left_outer
    foreign_key: author_id
    relationship: many_to_one
    }
}

modelファイルのメニューからそのままExploreに移動できます。

フィルタで著者を私が書いたものだけに絞り込んで、タイトル、URL、閲覧数を表示します。要するに自分が書いたブログで一番見られているランキングですね。

へえ~Tableau Prepのエントリが1位なんだ~、みたいな感想を抱きつつ、無意識にURLをクリックしてみますが、そのURLに移動することはできません。実は、URLへの遷移についても、LookMLで定義してあげる必要があります。

linkの設定

「URL」というカラムがどう定義されているかは上述の通りです。そのURLに飛べるよう設定するには、下記の記述を追加します。

dimension: url {
    type: string
    link: {
      label: "記事を見る"
      url: "{{value}}"
    }
    sql: ${TABLE}.url ;;
  }

ディメンジョンの中に、linkというパラメータを定義し、そこにラベル名と遷移するURLを設定します。遷移先はこのカラムの値そのものなので、"{{value}}"と書きます。linkの詳細は下記をどうぞ。

アイコン画像とかも設定できるようです。

確認してみる

追加後、Viewファイルを保存して、先程のLookを再読み込みします。すると、URLに下記のようなメニューが表示されます。

先程設定したラベル名があるので、クリックしてみると、そのURL先に移動します。

おわりに

こうやって一度定義しておけば、他の人が無意識にURLを使用したLookやダッシュボードを使用しても、ちゃんとこのlinkが表示されるようになります。こういった部分がLookerの便利なところですね。