ytkd
1
複数の値の画面を様々な粒度で作成したいのですが、現時点ではそれを表現するためには多数の画面を作成しなければならず作成負担やダッシュボードのスペースをとってしまう為、複数の値の表示項目を切替られるようにしたいです。
具体的な例を挙げると値1,2,3の3つの値がある場合
・値3つすべてを表示させる画面×1
・値3つのうち2つを表示する画面×3
・値1つのみを表示させる画面×3
の3つの粒度で作成したい場合合計で7つの画面が必要です。
そこで下の図のように一つのグラフに値表示したい全値を入れて、フィルターのような感じで値の表示する項目を切替られるようにしたいです。
ytakahr
2
ご質問ありがとうございます。
現在のデータは以下のようにいわゆる横持のテーブルになっているかと思います。
| operator_id | 値1 | 値2 | 値3 |
| A12345 | 30 | 40 | 50 |
| A12346 | 40 | 60 | 20 |
| A12347 | 90 | 30 | 40 |
値の列でフィルタを作成したい場合、まずは以下のような横持テーブルに変換して値1/値2/値3をディメンジョンとして扱えるようにする必要があります。
| operator_id | 値名 | 値 |
| A12345 | 値1 | 30 |
| A12345 | 値2 | 40 |
| A12345 | 値3 | 50 |
| A12346 | 値1 | 40 |
| A12346 | 値2 | 60 |
| A12346 | 値3 | 20 |
| A12347 | 値1 | 90 |
| A12347 | 値2 | 30 |
| A12347 | 値3 | 40 |
現状、このような横持→縦持の変換(SQLのUNPIVOT)はQuickSight内に完結して行うことはできないため、上流のデータソース側でこのような変換をご検討いただけますでしょうか。
2 Likes
ytkd
3
ご回答ありがとうございます。
お伝えする情報が不足してしまい申し訳ございません。
現在それぞれの値1,2,3を計算式で作成している状況なのですが、その際は何か方法はありますでしょうか?
ytakahr
4
補足のご説明ありがとうございます。
値1, 2, 3がそれぞれ個別のフィールドになっている限り、グルーピングのディメンションとして使うことはできません。
計算フィールドで行っている値の作成処理を含めデータソース側で行っていただき、縦持ちの状態になったところでQuickSightで可視化いただければと思います。
なお、ご参考までにそのような事前のデータ準備を行うツールとして、AWSではAWS Glueと言うサービスを提供しております。Glueにはノーコード/ローコードでデータ準備を行う機能として、Glue DataBrewとGlue Studio Visual ETLがあり、前者は完全なノーコードとなっておりデータアナリストやデータサイエンティストなどビジネス寄りの方、後者は必要に応じてコーディングでの処理も可能なためデータエンジニアの方をそれぞ想定したツールとなっております。いずれのツールも今回必要な以下の処理が可能です。
- 既存カラムから新たなカラムを作成
- UNPIVOT(横持→縦持の変換)
以下、それぞれのご紹介動画のリンクになります。よろしければご覧になってみてください。
1 Like
ytkd
5
ご回答ありがとうございます。
Glueの活用も視野に入れて作成しようと思います。
この度はご回答ありがとうございました。
1 Like