🍊

Tableauでパネルチャートを作りながらハイライト避け機能を実装した

2024/07/06に公開

はじめに

最近知った知識を記録のために書き起こします。
今回はパネルチャートとハイライト避け機能です。ひとつずつこの記事で紹介し,最後はそのかけ合わせたVizを紹介します。

パネルチャートつくる

そもそもパネルチャートって?

こういうやつ。特定の要素(グラフやディメンションなど)を一列や一行でなく,X行*Y列の状態で並べたビジュアライゼーションのこと。
パラメータなどでパネルを並べるときの列数を調整できます。

パネルチャートの作り方

必要な計算フィールドは2種類,パラメータが1種類。後者のパラメータに関しては,決め打ちの列数でパネルを構成させたければその数で代用してもいいので,必須ではないです。

要素をパネルに並べるときの列の値を計算するフィールドです。
ここではサンプルスーパーストアのサブカテゴリをパネル状に並べましょう。

INDEX()は表計算で,サブカテゴリ以外の要素に左右されずに表計算してほしいので,規定の表計算を,「サブカテゴリを使う」設定に変更しておくとよいです。
数式の意味は,1始まりのINDEX()を0始まりにしておいて,%を使って剰余数を計算することで,パネルの横の位置を定める,というものです。

// column_index
(INDEX()-1)%[パラメーター 1]

一方,パネルの横がパラメータによるMod演算のように余りに注目する形になりましたが,パネルの縦の位置は「商」を使います。余りを元の数から引き算すると,パネルで横に並ぶ要素たちは同じディメンションを返してくれます。

// index_row
INDEX() - (INDEX()-1)%[パラメーター 1]

これらを列シェルフ行シェルフに格納し,ラベルマークにサブカテゴリを格納して,グラフの調整を行なえば完成です。パラメータ値を変更するとパネルのサイズが変わります。

ハイライト避け機能を実装したい

2つ目の技術紹介です。
全面的にもりたひろあきさんの記事が知識の源泉です。勝手に紹介させてください。
この記事では自分の理解もかねてその方法をなぞらせてください。

https://note.com/hiroakimo/n/na762fac26310

解決したいこと

選択すると,選択したデータがハイライトされ,それ以外がウォッシュアウト(明度が落ちる)されてしまい,正直視認性が悪くなることがあります。選択データを強調するにはいいんですけどね。
ときにこれをオフにしたいことがあります。それをハイライト避けとして下で紹介します。
(このgif撮ったときはピルの名前が間違っているバージョンなので,そこは気にしないでください。)

解決方法

手順としては下記の通り。

  1. データペインで新しい計算フィールドを作成して,適当に名前をつける
  2. 詳細カードに上の関数を置く
  3. アクション>アクションの追加>ハイライトを選択する
  4. ハイライトさせたくないワークシート(もしくはダッシュボード)をソースシートおよびターゲットシートとして選択する
  5. ターゲットのハイライトに,1.で作った関数を選択する

1.には「highlight avoidance」と銘打って,''を返す計算フィールドを作成。

5.ではその計算フィールドを使って,次のように設定。

今回の記事で紹介した技術のかけ合わせでできるViz

パラメータによりパネルチャートで横に並べる要素数を調整し,それを選択したときにハイライトさせない,次のようなVizが出来上がります。
(このgif撮ったときはピルの名前が間違っているバージョンなので,そこは気にしないでください。)

おわりに

使い所が限られるかもしれませんが,見やすいViz作りのためには知っておいて損はないと思う技術の紹介でした。

Discussion