【Tableau】パラメーターを理解したい

以下のナレッジ・本ブログ記事について

qiita記事と師匠による勉強会でインプットしたもの。 インプットしただけだったので、手を動かして再現することで、理解を深めたいという意図から本記事を作成する。 そのため、作成してみた上での自分のナレッジメモとして記載する。 なお、本ブログ作成に向け使用したダッシュボードはこちら

パラメーターってなに?

Tableauのパラメーターという機能がある。 Tableauのパラメーターとはデータに依存しない外部の変数の箱と言える(そうだ)。

パラメーターは、数値、日付、文字列などのワークブック変数であり、計算、フィルター、リファレンス ラインで定数値の代わりに使用できます

上記の通り、計算フィールド以外でもフィルター、リファレンスラインでも使え、自由度が高い機能だ。

【1】指標を入れ替えたダッシュボード

見る人が指標をころころ変えられるダッシュボードができる。 指標選択という外部の変数を与えて、その変数に出したい値を紐づけてダッシュボードに出す。

参考 https://qiita.com/vizhacker/items/3b7f874411bd01babd28

こんな感じ

見る人にとって指標をクリック1つで変えられるため操作性が高い。そのため実務で使えるシーンが多いと考える。

【2】日付を変えられるダッシュボード

見る人が日付をころころ変えられるダッシュボードもできる。 SQLでbetween A and B と日付指定を書くところをパラメーターにし、 パラメーターで送った値と、データ上の日付データを照らし合わせて、合致する日付を真とする。 その結果、真となったデータのみ反映させる。すると、パラメーターで入力された日付データのみダッシュボードに反映される。

【3】1つのダッシュボードで異なるダッシュボードを出す

動的ゾーン表示というもので、1つのダッシュボード上で異なるダッシュボードダッシュボードを出し分けることができる。 動的ゾーン表示はTableau 2022.3で登場したもの。

動的ゾーン表示機能では、ダッシュボードゾーンの表示と非表示をプログラムで制御する www.tableau.com

かなり便利だ。

  • 1:切り替える用のパラメーターを作る
  • 2:パラメーターをうごかすための計算フィールドを作る(真のときに該当ダッシュボードを出すという感じ)
  • 3:ダッシュボードにグラフをぽいぽい入れる
  • 4:ダッシュボード>レイアウト>値を使用して表示状態を制御する にチェックし、パラメーターに対応するグラフを選択する ※グラフ分対応する

1つのダッシュボードでグラフの出し分けが出来るので、かなり使いやすい。 また、非表示にしたグラフ分のスペースも動的に調整されるのでラクだ! なお、非表示になったグラフで使っているパラメーターが出たまんまになってしまう。もしかしたら動的に出し分けが出来るのかもしれないが、これを動的に非表示する方法はわからなかった。

【4】日付の集計単位の切り替え

ダッシュボードを見る人にとって便利な機能。 ダッシュボード上に用意された集計単位をポチポチ押すことで、集計粒度を変えられる。

手順として以下のイメージだ。

  • 1:集計単位を指定するパラメーターをつくる 
  • 2:パラメーターで指定した集計単位に整える計算フィールドをつくる 
  • 3:2で丸めた集計単位に丸まるようラベルをつくる目的で計算フィールドをつくる ※これをつくらないと丸めた日付粒度の項目名がでない 
  • 4:3で作ったラベルをグラフに入れる 

クリック1つで見たいデータ粒度が変えられるため、便利だ。

【5】TOP N をパラメーターで選択

これもダッシュボードを見る人にとって便利な機能。 ダッシュボード上に用意された「上位」部分で数字をポチポチ押すことで、フィルタするTOP N 部分を変えられる。

手順として以下のイメージだ。

  • 1:上位を指定するパラメーターをつくり、表示する
  • 2:フィルターで下記のような設定をする1で指定したパラメーターを指定する。

設定はかなり簡単!

【6】リファレンスラインにパラメータをつかう

カーソルをあわせるとリファレンスラインがついてきてくれるような挙動。ここではパラメーターアクションを使う。 カーソルをあわせたときに、オーダー日が値にはいるようなパラメーターアクションの指定を行うことで可能になる。

  • 1:パラメーターを作成
  • 2:リファレンスラインの値に作ったパラメーターを指定
  • 3:ワークシート>アクションからパラメーターアクションを指定する

アクションを活用することで、ユーザーの動きに対応した値を返す。 いつもなら計算フィールドで、「このパラメーターにこの値をいれます」と書くところを、アクションで指定している理解だ。

【7】文字列のフィルタにパラメータをつかう

検索条件(前方一致や正規表現での一致)を指定し、文字列でソートできるようにするもの。 なにか複数条件掛けてパッとクロス集計を確認したい時などに便利そう。

  • 1:パラメーターを作成(「部分一致」「後方一致」等の検索条件をいれる)
  • 2:パラメーターを作成(キーワードを自由入力できる欄をつくる)
  • 3:1と2の条件を照合させた時に合致するか否かを真/偽で返すcase式を計算フィールドで書く
  • 4:3で作ったものをフィルタにいれ、「真」のみ反映されるようにする

個人的には「3」部分が一番大事だと思っている。 パラメーターに入れた値が何のときに、何でソートするのかを記載している部分だ。

CASE [照合方法]   // 手順1で作ったパラメーター名が「照合方法」
WHEN '完全一致' THEN [メーカー]=[キーワード] // 手順2で作ったパラメーター名が「キーワード」
WHEN '部分一致' THEN CONTAINS([メーカー],[キーワード])
WHEN '前方一致' THEN STARTSWITH([メーカー],[キーワード])
WHEN '後方一致' THEN ENDSWITH([メーカー],[キーワード])
WHEN '正規表現' THEN REGEXP_MATCH([メーカー],[キーワード])
END

後方一致も部分一致もすべて式で書けるところがとても学びになった。

【8】ダッシュボードの並び順変更にパラメータをつかう

何を軸でソートし、かつ昇順/降順も自由に設定できるパラメーターをダッシュボードに用意するもの。 こちらもダッシュボードを見るだけの人にとってはフレンドリーな内容であり、実用性が高い。 が、どうやるのだっけ?というところがわかりにくいので、メモしておきたい。

重要なことは、並び替え用の値を先頭に作って配置することだ。 「??」となるのだが、下記図を見てほしい。

グラフの先頭に「メジャー集計(ソート用)」という情報がある。これを使って並び替えている。 今回の場合、利益を軸に降順で並べているが、利益の値にマイナスをかけたものが「メジャー集計(ソート用)」に入っている。 降順なのだから正の値を掛けるだろうとぼんやり思っていたが値を入れるとわかりやすいのでメモとして記載する。

手順は以下の通り。

  • 1:パラメーターを作成(何の項目を軸に、という部分をリスト形式で作る)
  • 2:パラメーターを作成(昇順or降順を作る 整数でリストを作成するが-1を降順に、1を昇順にする)
  • 3:並び替え用の値の前段階のものを計算フィールドで作る。ソートキーで指定された値を返すようにする
  • 4:並び替え用の値を計算フィールドで作る。手順3の計算フィールド×手順2のパラメーターを掛けたもの ※後に不連続&非表示

最終は下記画像のようになる。

まとめ

  • 動的になにか値を出し分けたい時にパラメーターは便利
  • パラメーターは作ればつくるほどワークブックに増えていき、そこの管理だけ面倒
  • いざパラメーターを作るとき、最初にパラメーターを作る。
  • その次にパラメーターを受けて何をするのか?という情報を作っていくとよさそう。その情報は計算フィールドでもあるし、パラメーターアクションかもしれないし、ここの汎用性が高い。