Amazon QuickSight 計算フィールドで四則演算するときにフィールドの集計を合わせる方法

今更になって四則演算のお作法を知りました。
2024.02.21

ある数値のフィールドと、ある数値のフィールドで四則演算するための計算フィールドを作成し保存ボタンを押したらエラーになることはありませんか?

試して得られた結果から QuickSight で計算することの初歩を学べたのでまとめます。

学んだことまとめ

  • 計算フィールドでフィールド通しの四則演算するには、フィールドの集計を同じに合わせる必要がある
  • 集計関数を使って得た実行結果はカスタム集計になる
  • 合計集計のフィールドに集計関数sumを使うことで値を変更せずにカスタム集計に変換できる
項番 フィールドAの集計 演算子 フィールドBの集計 実行結果
1 合計 + 合計 成功
2 合計 + カスタム エラー
3 カスタム + カスタム 成功
4 sum(合計) + カスタム 成功
5 合計 + sum(カスタム) エラー
6 sum(合計) + sum(カスタム) エラー

関数の種類

QuickSight で関数と呼ばれるものは 7 種類もあります。

  1. 集計関数
  2. 条件関数
  3. 日付関数
  4. 数値関数
  5. 数学関数
  6. 文字列関数
  7. テーブル計算

集計関数にはsumavgなどがあり、条件関数にはifelseinなどがあります。

テーブル形式で四則演算した結果を表示

Value-AValur-Bの足し算をしたいときは以下の計算フィールドで実現できます。

# 計算フィールド add-A-B の式
{Value-A} + {Value-B}

Value-AValur-B+で足し算できるのは、双方のフィールドの集計が同じ合計集計だからです。

集計が異なるときはどうしたら良いのか

テーブル表示では同じ数値に見えても、集計がカスタムになってることもあります。計算フィールドで集計関数を使用して求めた結果は集計がカスタムになります。よく見かけるケースですが、合計集計とカスタム集計のフィールド同士で四則演算はできません。四則演算するにはどうしたらよいのでしょうか。

解決方法

集計を合計か、カスタムに合わせないと四則演算できません。そのため、合計をカスタムに合わせるということを私はよくやっています。集計関数を使うとカスタム集計になるという仕様を利用します。

計算フィールド式に集計が含まれていると、それはカスタム集計になります。

引用: 集計関数 - Amazon QuickSight

合計集計となっているValue-Aの数値に影響を与えずにカスタム集計扱いにするため、集計関数sumで対象のフィールドを括ってあげます。これでカスタム集計 + カスタム集計の扱いとなり四則演算ができます。

# 計算フィールド add-sample-2 の式
sum({Value-A}) + {change-cutom-A}

集計の組み合わせ違いの実行結果

どのパターンなら四則演算できるのか検証した結果、集計が一致しないと計算できないことを知りました。

合計は合計集計、カスタムはカスタム集計を指します。

項番 フィールドAの集計 演算子 フィールドBの集計 実行結果
1 合計 + 合計 成功
2 合計 + カスタム エラー ※1
3 カスタム + カスタム 成功
4 sum(合計) + カスタム 成功
5 合計 + sum(カスタム) エラー ※2
6 sum(合計) + sum(カスタム) エラー ※2

カスタム集計から合計集計に戻す方法を私はが把握していないだけで、合計に戻すことができればその方法もありです。

エラー1

エラー2

おわりに

計算フィールドで四則演算するときに知っておいた方が良い基本的な内容を取り上げました。私はよく理解もせずに適当にsumでエラー解消しないかとやっていたので今回はじめて意味を知ることができました。