見出し画像

[Tips]選択した日付にリファレンスラインを引く[DATA Saber挑戦 #Week3]

DATA Saber BridgeプロジェクトにApprenticeとして参加しています。
週一note更新目指します。

[はじめに]Tableau PublicにVizを投稿しました

所沢と都心部の気温比較 #DATASaberBridge

首都圏3地点の気温の差を表現するVizを作成しました。

左下の折れ線グラフをクリックすると、右側の各要素がクリックした日でフィルターされます。

今回は左下の折れ線グラフの作成方法について、ご紹介します。
・折れ線グラフを1/1~12/31までつなげる
・選択した日にリファレンスラインを引く
ということを実現するにはひと手間必要です。

リファレンスラインがあることで、今どの日付を選択しているかが容易に確認できる

[実装方法]1.複数年間にまたがって、同じ月日を集計する

気温の複数年の平均を出す場合、同じ月日のデータを集計する必要があります。
(11/27の平均気温を出す場合、2012/11/27の気温・2013/11/27の気温・2014/11/27の気温… を集計する必要がある)

現在のTableauの機能では「不連続」であれば同じ月日で簡単に集計することができるのですが、「連続」のまま同月日集計ができません。

不連続であれば簡単に平均気温の折れ線グラフは出せるのだが……
(ただし、月の切れ間は線が切れている)

「連続」で表現したい場合は、日付型フィールドがすべて同じ年となるよう計算フィールドを1つ作ることで実現可能です。
具体的には、以下のように日付のフィールドの「年」をすべて同じ年に揃えた計算フィールドを作成することになります。

今回は日付型の[年月日]の年をすべて1970年に揃えた

こうすることで、日付の列を連続で表現可能になります。

画像上部の列シェルフのフィールドが連続(緑色背景)になった
ついでに折れ線グラフも1/1~12/31まで繋がっている

ただ、仮で置いた「年」がViz上で見えてしまうと混乱を招くので、隠します。
先ほど作成した計算フィールドの既定の日付形式を「mm/dd」に設定しておくことで、年の情報はViz上からは見えなくなります。

作成した日付型計算フィールドを右クリックして、既定のプロパティ>日付形式… を選ぶ
mm/dd とすることで、"01/18"のような表示形式となる
ちなみに、m/d とすれば"1/18"のようにゼロ埋めがなくなる

[実装方法]2.リファレンスラインを作成する

リファレンスラインの作成自体は全く難しくありません。
まずは、日付型のパラメーターを作成します。

できればここで表示形式を先ほどの日付型計算フィールドと合わせておく

そして、先ほど作成した折れ線グラフにリファレンスラインを設定します。

折れ線グラフの日付を連続にしたおかげで、日付にリファレンスラインを設定できる
(=縦のリファレンスラインも引ける)
日付が不連続だと設定ができない
値に先ほど作成したパラメーターを設定すればよい

[実装方法]3.クリックした日付にリファレンスラインが表示されるようにする

最後に、選択した日付とリファレンスラインが同期するようにします。
一旦ダッシュボードにシートを配置し、それから設定していきます。

具体的には、アクションの「パラメーターの変更」で設定していくことになります。

ウィンドウ上部の「ダッシュボード」内の「アクション」から編集可能

この際、選択項目をクリアした際の値に「1972/1/1」を設定しました。
選択がクリアされた際に、リファレンスラインをグラフの端に追いやりたかったからです。

グラフの表示範囲外であれば、別に何年でもよい

しかし、このままだと選択解除した際にリファレンスラインが画面に表示されてしまい、不格好です。

1972/1/1にリファレンスラインが引かれてしまい、軸の範囲が自動的に拡張されてしまった

これを避けるため、横軸(日付)の範囲は固定してしまいます。

前年12/12あたり~翌年1/20くらいに設定しておけばおそらく大丈夫
ラベル表示などが入りきらない場合は適宜変更すればよい

このような設定を行うことで、選択した日付にリファレンスラインを引く+選択解除したらリファレンスラインを消す、ということが実現可能となります。


この記事が気に入ったらサポートをしてみませんか?