@FUJII 様
QuickSight の計算フィールドは大きく二種類に分類することができます。
1.単一行オペレーション/single-row operations
- 各行に対し列を付け加える操作
文字列結合・ウインドウ関数によるカラムの追加など、列を加え行数が変わらないもの - 対応する関数カテゴリ
条件関数、日付関数、数値関数、数学関数、文字列関数、テーブル計算(一部除く)
2.集計オペレーション/aggregate operations
- 複数行をまとめた結果を出力する操作
ピボットテーブルにおけるSUM/AVGなど、グルーピングごとに単一の結果を返すもの - 対応する関数カテゴリ
集計関数
それぞれのオペレーションについては以下の Community Post の Aggregate Function と Window Function の画像をご覧頂くとよりイメージがわきやすいかと思います。
※ Aggregate → 集計オペレーション、Windows → 単一行オペレーションのイメージです。
また、各カテゴリの関数に何が該当するかについてはこちらをご覧ください。
上記を踏まえご質問の件に戻りますと、以下のような整理となります。
「データセットの計算フィールド」の役割
- データセットを分析で使用する前のデータ加工(準備)のための操作
- データの列に対する操作のみ行い行数は変更しない (ビジュアル操作は分析で行う)
→上記1.の操作のみ可能
「分析にある計算フィールド」の役割
- テーブル・ピボットテーブル・各グラフなどビジュアル表示のための操作
- ビジュアル・表示タイミング・フィルタ・関数によって行・列の表示を増減させる
→上記1./2.いずれの操作も可能
最後に、同じ関数でもデータセットと分析で動作が異なる例を記載します。
SUM 関数(集計オペレーション)
-
データセットの計算フィールド
SUM({profit}) → OK:データセットの各行に対する合計列の追加の操作
SUM({profit},[{Hospital}]) → NG:Hospital 単位に集計して答えを返す操作(*1)
(*1)Hospital 単位の集計結果を列追加したい場合、テーブル計算関数 sumOver を使用 -
分析の計算フィールド
SUM({profit}) → OK:ビジュアルに応じた集計操作
SUM({profit},[{Hospital}]) → OK:ビジュアルに応じた集計操作
上記、計算フィールド動作に関するご理解の一助となりますと幸いです。