以下のデータセットをQuickSightでヒストグラムで表現したいです。
| ID | Year | Month | Count |
IDごとのCountの合計を計算フィールドでsum(count, [ID]) 作成して、YearとMonthでフィルターをかけることで複数月のCountの集計値でヒストグラムを作成したいのですが、MonthでIDが重複する行があるため、ヒストグラムが正しく表現できません。以下のようになっていると思われます。IDの重複をなくしたいです。
| ID | Year | Month | Conut | Sum |
| 1 | 2024| 4 | 10 | 30 |
| 1 | 2024 | 5 | 20 | 30 |
ご質問いただきありがとうございます。
ヒストグラムは、数値フィールドの分布を表現できますが、その数値データの(バケット化した)絶対数を使用します。
代替案としては、以下のような Count を ID ごとに合計する計算フィールド pre_sumOver を作成し、
sumOver(Count, [ID], PRE_AGG)
Count の合計をバケット分類する以下のような計算フィールド bucket を作成します。
ifelse(
{pre_sumOver} <= 15, '0-15',
{pre_sumOver} <= 30, '16-30',
{pre_sumOver} <= 45, '31-45',
{pre_sumOver} <= 60, '46-60',
{pre_sumOver} <= 75, '61-75',
'76-'
)
そして、垂直棒グラフの X 軸に bucket 、グループ/色 に ID、値に ID (個別の値をカウント)を設定することで、棒グラフを作成することが可能です。
ご回答ありがとうございます。
ご教示いただいた内容でIDの重複なくカウントできました。
ただ横軸が100以上になるため、ヒストグラムのように1から順番に並べることができません。
1-10のあとに101-110がきてしまいます。
お試しいただきありがとうございます。
100 以上になる場合、ご指摘いただいている通り文字列で並び替えると 1-10 のあとに 101- が来てしまいます。
ヒストグラムの範囲の始点の値を数値で表現するように変更することで順番に並べることができるようになるかと思います。
そうですね、ifelse()を使ってバケット分類をすると、X軸は文字列となってしまうので、1−10のあとに101−110がきてしまいますね。
X軸のソートにはオフビジュアルフィールドを指定できるので、
計算フィールドで、以下のような強制的にソートさせる数値フィールドを作成して、
そのフィールドでソートさせるしかないように思います。
ありがとうございます。ソートできました。