ダッシュボードで期間を選択式にして集計の絞り込みを行う方法

  • 24 March 2020
  • 1 reply
  • 210 views

Userlevel 1

Lookerでは、高度フィルタ(matches Advanced)を使えば、日付項目などに対して柔軟な絞り込み条件をセット可能です。詳しくは、こちらのページを参照ください。


ただ、エンドユーザーのユーザビリティを考えた場合、もっとシンプルに期間を指定したい、というご要望を何度かお聞きしました。そこで、以下の画面例のように絞り込み期間の選択肢をダッシュボード上に表示し、簡単に期間を選択できるようにする方法をご説明いたします。今回の例では、「直近一週間」、「直近一ヶ月」、「直近一年」の選択肢を作成いたします。



1. パラメータの追加

まずはじめに、オプションボタンで表示する選択肢を用意します。絞り込み対象となるビューに、以下のパラメータを追加します。


parameter: search_duration_selection {
type: unquoted
default_value: "1w"
allowed_value: {
label: "直近1週間"
value: "1w"
}
allowed_value: {
label: "直近1ヶ月"
value: "1m"
}
allowed_value: {
label: "直近1年"
value: "1y"
}
}

2. ディメンションの追加

先ほどと同じビューに、パラメータで選択した選択肢に従って、期間が変化するディメンションを追加します。


※ こちらはBigQueryでの期間指定例になりますので、お使いのDBで利用可能な書式に変更してください。また、${TABLE}.event の部分は、絞り込みに使う日付項目に適宜置き換えてください。


  dimension: duration {
type: yesno
sql:
{% case search_duration_selection._parameter_value %}
{% when '1w' %}
DATE_ADD(CURRENT_DATE(), INTERVAL -8 DAY) < CAST(${TABLE}.event AS DATE) AND CAST(${TABLE}.event AS DATE) < CURRENT_DATE()
{% when '1m' %}
DATE_ADD(CURRENT_DATE(), INTERVAL -1 MONTH) < CAST(${TABLE}.event AS DATE) AND CAST(${TABLE}.event AS DATE) < CURRENT_DATE()
{% when '1y' %}
DATE_ADD(CURRENT_DATE(), INTERVAL -1 YEAR) < CAST(${TABLE}.event AS DATE) AND CAST(${TABLE}.event AS DATE) < CURRENT_DATE()
{% else %}
null
{% endcase %}
;;
}

3. Exploreでの検索

先ほど追加したパラメータとディメンションをFilterにセットし、任意のディメンションとメジャーで検索を実行します。


※ 2で追加したディメンションの値は、必ず”Yes”のままにしてください。"No"にすると、指定期間外のレコードが検索対象となりますので。



期間のパラメータを変更した場合に、想定通りの条件文に変わるか、SQL文をお確かめください。


4. ダッシュボードに追加し、フィルターを設定する

Exploreで、期待通りに絞り込み期間が変わりましたら、ダッシュボードに追加し

フィルターを設定します。この時、タイプはフィールドにし、1で追加したパラメータを参照するようにします。



4. ダッシュボード(ベータ版)にアップグレードする

従来のダッシュボードですと、実行時になぜか選択肢に応じた期間で絞り込まれないので、ベータ版のダッシュボードに変更します。画面右上のギアアイコンをクリックし、表示されたサブメニューから、"Dashboardにアップグレード(ベータ版)"を選択します。


※ ベータ版のダッシュボードを使うには、メニューバーの 管理(Admin) → Labs に移動し、 "New Dashboard Experience"を有効にしてください。Labsの詳しい説明は、こちらのページの説明を参照ください。



5. ベータ版のダッシュボードで、オプションボタンに変更

ベータ版のダッシュボードで、選択した期間で絞り込まれ、正しく表示されることをご確認ください。その上で、ダッシュボード右上にある""をクリックし、 表示されたサブメニューから"Dashboardの編集"をクリックし、ダッシュボードの編集画面に移動します。



編集画面に移動後に、期間のフィルター条件の部分に表示される"ペンアイコン"をクリックし、編集画面に移動します。



フィルターの設定画面が表示されますので、以下の画面例のように、Controlでは"ラジオボタン"を、Locationでは"インライン"を選択し、画面最下部にある"Update"ボタンをクリックして更新します。



ダッシュボード編集画面に戻りますので、画面右上にある"保存"ボタンをクリックします。そうすると、一番初めに挙げた画面例のようにラジオボタンで絞り込み期間を指定できるようになります。絞り込み期間を指定後、ダッシュボードの更新(実行)ボタンをクリックすることで、指定された期間で最集計されてグラフの表示内容が変わります。


今回は期間をフィルター条件に使いましたが、パラメータやディメンションの内容を変えることにより、様々なパターンのフィルター条件がが作れますので、ぜひお試しください。


1 reply

Lookerが上手だね。ありがとうございました。

Reply