0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QuickSightのコントロールで「すべて」が選ばれた場合の表示制御

Posted at

はじめに

QuickSightでは、コントロールとフィルタを組み合わせることで、ビジュアルに表示するデータの絞り込みを行うことができます。
その際、「すべて」が選ばれている場合は、当然絞り込みは行われず全てのデータが表示されるのが通常の挙動です。
今回は、

  • 特定の要素が選ばれた場合は、その要素についての詳細データを表示する
    image.png
  • 「すべて」が選ばれている場合は全体のサマリーデータを表示する
    image.png

といった少し特殊なビジュアルを作成したので、方法を共有したいと思います。

結論

先に結論というか、要点だけ記述しておきます。

  • コントロールで「すべて」が選ばれた場合に表示したいデータを区別する、フラグ用のカラムを用意します
  • 計算フィールドを使います
  • コントロールで「すべて」が選ばれている場合は、対応するパラメータがNull扱いされます

前提

CSVをイメージした以下のサンプルデータを元に、やりかたを再現していきます。
コントロールでとある県が選ばれた時は属する市のデータを、「すべて」が選ばれた場合は県全体のデータだけを表示するようにしていきましょう。

まとめの列が、今回のやり方における1つ目のポイントとなります。
まとめが「1」のデータが、「すべて」が選ばれているときに表示したいデータとなります。

都道府県 人口(人) まとめ
X県 A市 10000 0
X県 B市 20000 0
X県 C市 30000 0
X県 全体 60000 1
Y県 D市 20000 0
Y県 E市 50000 0
Y県 全体 70000 1

手順

データの読み込み

CSVファイルをQuickSightで扱えるように、Spiceとして取り込むなりATHENAでクエリをかけるなりします。
この部分のやり方は、公式や他の方の記事にお任せします。

ビジュアルの作成

今回はテーブルを使っていこうと思います。
image.png

パラメータの作成

次にパラメータを作成していきます。
左側のメニューの「パラメータ」 -> 「作成」の順にクリック。
image.png

デフォルト値がないと後の計算フィールドで使えないため、「静的デフォルト値=X県」としておきます。
(デフォルトを「すべて」としたい場合は、計算フィールドを作った後に静的デフォルト値を空にすると良いです)

また、高度な設定で予約値をNullにしておきます。
(本来はここで設定した値が「すべて」を選択したときのパラメータの値になる気がするのですが、今の所そうはならないようです。なので推奨値にしておいても動くのですが、念の為)

コントロールの作成

コントロールは、今回はドロップダウンにします。
パラメータの「vマーク」 -> 「コントロールの追加」の順にクリック。
image.png

都道府県フィルタの作成

フィルタを作成して、コントロールで選んだ値に応じて表示の絞り込みが出来るようにします。
左側のメニューの「フィルター」 -> 「フィールドの追加」 -> 「都道府県」の順にクリック。
image.png

この時点では、X県を選ぶと全体のデータも表示されてしまいます。

計算フィールドの作成

ここで2つ目・3つ目のポイントが登場します。
まずは、左上の追加から、計算フィールドを選択します。
image.png

名称はなんでも構いませんが、役割は表示制御なのでここではそのまま「表示制御」としておきます。
計算式は画像のようにifelseとisNullを使います。
image.png

式の説明

まず前提としてコントロールで「すべて」が選ばれた場合、対応するパラメータがNullとして扱われます。
なので
コントロールが「すべて」の場合、Prefectures = Null
コントロールが「X県」の場合、Prefectures = X県
と扱われるわけです。
つまり式の意味は、
コントロールが「すべて」の場合、まとめが「1」となっているデータを「1」、まとめが「0」となっているデータを「0」になる。
コントロールが「すべて」以外の場合、まとめが「1」となっているデータを「0」、まとめが「0」となっているデータを「1」になる。
ということになります。

フィルタ

最後に、作成した「表示制御」を用いてビジュアルにフィルタを設定します。
「表示制御」=1 のデータだけを表示されるようにします。
image.png

先程まではX県全体のデータがありましたが、表示されなくなりましたね。
これで全ての作業が完了です。

結果

用意したコントロールで、「すべて」を選んでみます。
image.png
狙い通り都道府県の全体のデータのみが表示されるようになりました。

おわりに

今回はQuickSightのコントロールで「すべて」が選ばれた場合の表示制御のやり方を共有しました。
もし同じようなことをしたくなった時の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?