📝

【QuickSight】散布図を使用した、層別散布図を再現する荒業

2023/04/18に公開

QuickSightは非常に安価に使用できるBIツールで、手軽にデータの可視化ができるのですが、ネット上にコミュニティや記事がそれほど多くないと思っているので、自分がQuickSightを使用するうえで、ちょいちょい感じたことや小技みたいなものをちまちま書いていきたいと思います。

なにも考えずにQuickSightでやってみる。

層別散布図とは、ある特定の基準でグルーピングされた散布図で、主に色分けして表示されていることが多いかと思います。
層別散布図の例

これを何も考えずにQuickSightで作成しようとすると、ビジュアルの散布図を選択し、

フィールドウェルの【色】の要素に調べたい要素となるディメンションを追加すればできるのでは?とやってみたところ

こんな感じで、複数のデータを追加したディメンション単位でまとまった1つの点が出てきてしまうので、この方法では手軽に再現はできませんでした。

無理くり再現する方法

層別なので調べたい要素だけレイヤーを分けてフィルタリングしたものを重ねてビジュアライズすればいいのでは?と考え無理くり重ねてみました。

具体的な手順

  1. シートを「設定」から「フリーフォーム」にする
  2. 分けたい層の分だけビジュアライズの散布図を作成し、チャートの色を別々の色にする
  3. パラメーターを分けたい層の分だけ作成する
  4. 複数作成した散布図の一枚だけにタイトルとX軸・Y軸のタイトルをつける
  5. すべてのビジュアライズのX軸・Y軸の範囲を「カスタム」にし、統一させる
  6. 各ビジュアルごとに、分けたい要素のフィルタリングを作成する
  7. 一番下のレイヤーになるもの以外、「スタイル」の「背景色」「境界色」「選択色」をOFFにする
  8. 同じ位置に重ねる。出来上がり。
    完成図

詳細

【①】 シートの設定を開き、これを選択します。
【②】 各ビジュアルを同じ設定で作成し、チャートの色をすべて違う色にする。
【⑤】 X軸・Y軸ともに「カスタム」設定にして値をすべてのビジュアライズで統一する。この値を設定しないと、フィルタリングをかけた際に軸の値がぶれるので、きれいに重ならないです。
【⑥】 3で設定したパラメータを各ビジュアルにフィルタリングとして追加する。2つ以上の要素とその他を比較したい場合は、含まないフィルタも忘れずに。
【⑦】「スタイル」設定で背景を透明にして重ねることができる。

後は、2で設定したパラメータを「コントロールに追加」し、画面上部のコントロールからフィルタリングを行い、層別散布図が再現できる。

制限

無事に私が期待する層別散布図は再現できたのですが、荒業でやったこともあり、いくつか制限やめんどくさい部分があります。

  • すべてのビジュアライズで設定したX軸とY軸の上限値と下限値が固定される
    これによって、フィルタリングによって調べたい粒度が動くようなデータを扱う際には、表示領域外のデータが生じたり、みにくいビジュアルになってしまう。
  • 各ビジュアルの設定値を変更する場合、一枚ずつずらして選択して変更しなくてはいけない
    ビジュアルを保守する際に、シンプルに設定変更がめんどくさい。
  • フィルタリングした結果データがない場合、大きく「データなし」が表示されてしまう
    見やすさの問題なので、これに関しては人によるかなと思います。

X軸・Y軸の上限値・下限値が固定されることが一番厄介な問題かなと思います。
ある程度定められた値に基づいてレイヤーを分けたいときには気にならないかとは思いますが、なかなかそうはいかないケースも多々あるかと思いますので。
(上限値や下限値にもパラメータが適用できるようになることや荒業を使用しなくても簡単にできるようになることを願います…)

Discussion