🙌

【QuickSight】散布図で指定したものだけ色を変えるTips

2023/07/13に公開

ユーザーが選択したデータに対して、散布図上で目立つ形で色を変えて、
選んだのはこれですよー的な感じで見せていくためのTips

最終的なイメージ

やり方の順番

  1. 散布図のビジュアライズを作成
  2. データを指定するための、パラメータを用意しシートに追加する
  3. パラメータで指定したものに対して、特別な値を設定する計算フィールドを作る
  4. 色のフィールドウェルに3の計算フィールドをディメンションに追加
  5. 全体の色と選択した色を設定する

散布図作成

テストデータとして、

id impression like
1 67 98
2 21 11
3 31 45
... ... ...
200 12 54

といったように、idがユニークな200までの数字になっており、impressionとlikeに関しては1~100までのランダムな数値を持つデータセットがあるときに、散布図として、X軸に「impression」、Y軸に「like」をディメンションに追加したときに散布図はこうなります。

今回は「id」を指定して、指定したidがどこにプロットしているのか、色で判別するものを作成します。

パラメータ作成

idをユーザー指定するためのパラメータを作成します。今回テキストフィールドでidを指定したいので文字列でパラメータを作成します。

作成されたら、コントロールかシートに追加してidを入力指定できるようにします。

パラメータで指定した値に対して、特定な値を設定する

作成したパラメータを元に、特定の値を指定する計算フィールドを作成します。

ifelse(
    ${idSelect}=toString(id),'999999',
    toString(id)
)

この時、idの最大値は200のテストデータなので、絶対にデータに入っている値とかぶらないかつ、この200よりも文字列の順番的に後に来る値を設定します。(今回は'999999'にしましたが、文字列なので例えば「'選択'」といったような日本語でも問題ないです。)

作成した計算フィールドを「色」のフィールドウェルに追加します。

それぞれの色を選択

指定したidの色と、チャート全体の色を選択します。まず最初にチャート全体の色を選択します。

その後、計算フィールドで設定した値に対して、色の選択をします。今回の場合は、「999999」に対して色を指定します。

これでシートに追加したパラメーターに対して値を変更した時に色の変更が可能になります。

おまけ

今回はidをテキストで入力して指定しましたが、impressionの大きい順で並んでいる表から指定する場合は、ナビゲーションアクションを追加して指定します。

こうすることで、左の表から大きいimpressionのデータをクリックすると、その値がどこにプロットされているかわかりやすくなります。

「id」の181を選択した場合
こういう使い方が多いかなと思います。

Discussion