こんにちは。分析官のA.K.です。今回はTableauの軸の範囲設定を自動にしたり、手動にしたり切り替えることができるボタンを実装する方法をご紹介しようと思います。Tableauってダッシュボードを作る人と使う人が別々な状況が多いかと思います。今回はそんな、使う人が「UI側で軸の範囲を切り替えたい」みたいな状況の時に使用できるTipsです。
作成するシートのイメージ
今回はTableauのサンプルスーパーストアのデータを使用してご説明します。カテゴリ別の利益の推移が分かる折れ線グラフで、[軸範囲の設定]のボタンが「自動」になっている時は、各グラフの縦軸が独立した範囲で設定されています。
次に、[軸範囲の設定]のボタンを「手動」に変更すると、各グラフの縦軸が[上限値(下限値)を設定]で入力されている値に統一されます。
作り方
全体の流れ
大まかには、下記の流れで作成していきます。
-
- ①シートの作成
-
- ②各パラメータ([軸範囲の設定]、[上限値を設定]、[下限値を設定])の作成
-
- ③[軸範囲の設定]パラメータの値で返す値が変わる計算フィールドの作成
-
- ④無色のリファレンスラインを設定
- ⑤シート上の軸範囲を編集
①シートの作成
非常に簡単なシートになるので、詳細な説明は割愛しますが、下記の画像通りに計算フィールドを配置すれば完了です。(今回は見やすさのためにフィルターを使用して、2022年のデータのみ表示させています。)
②各パラメータ([軸範囲の設定]、[上限値を設定]、[下限値を設定])の作成
自動/手動を切り替えるためのボタンをパラメータを使用して作っていきます。[パラメータの作成]から下記画像の様に設定したパラメータを作成します。
次に軸範囲の上限値を設定する用のパラメータを作成します。[パラメータの作成]から下記画像の様に設定します。(下限値に対しても同様のパラメータを作成します。)
③[軸範囲の設定]パラメータの値で返す値が変わる計算フィールドの作成
[軸範囲の設定]パラメータの値によって、返す値が変わる計算フィールドを作成します。今回は、[軸範囲の設定]が自動の場合NULLを返して、[軸範囲の設定]が手動の場合[上限値を設定]パラメータの値を返す計算フィールドを作成します。作成する計算フィールドは下記の通りです。
下限値に対しても同様に計算フィールドを作成してください。
④無色のリファレンスラインを設定
①で作成したシートに、③で作成した計算フィールドを使用してリファレンスラインを追加します。マークカードの詳細に[軸の上限値]を最大値で配置したら、シート上の縦軸を右クリックして[リファレンスラインの追加]から下記の様に設定したリファレンスラインを追加します。
下限値に対しても、[軸の下限値]の計算フィールドを使用して同様のリファレンスラインを追加します。
⑤シート上の軸範囲を編集
シート上の縦軸を右クリックして[軸の編集]から下記の様に軸範囲を設定したら完成です。
解説
今回実装した機能は、パラメータによって変更されるリファレンスラインを設定することで、疑似的に軸範囲を設定しています。[軸範囲の設定]が自動の場合リファレンスラインで引かれる線の値はNULLの為、折れ線グラフの値の範囲に沿って軸が決まります。一方で、[軸範囲の設定]が手動の場合[軸の上限値](または[軸の下限値])の値を使用してリファレンスラインが引かれる為、軸の範囲は[軸の上限値](または[軸の下限値])の値によって決められます。
さいごに
今回紹介したTipsの注意点として、リファレンスラインを使用している為、折れ線グラフの値(実測値)を無視して軸を狭めることができないです。ただ、普段は変化を捉えやすくするために拡大されたグラフを表示させておき、グラフ間での比較を行いたい時には手動に切り替える、みたいな使い方ができるかと思います。基本的なTableauの操作のみで、少し凝った機能を実装できるので、試して見てはいかがでしょうか。