ファクトテーブルの加算/半加算/非加算ファクト

スポンサーリンク
データエンジニアリング
スポンサーリンク

ファクトテーブルは、現実世界のビジネス活動から生まれる測定可能なデータを格納し、分析のための基礎となる。ファクトテーブルで測定される数値データは、Additive(加算ファクト), Semi-Additive(半加算ファクト), Non-Additive Facts(非加算ファクト)に分類可能である。日本語では、加法、半加法、非加法ファクトとも表現できる。

スポンサーリンク

加算ファクト

あらゆる次元で合計することができるファクトである。例として、売上金額は、製品毎、店舗毎、時間毎と、あらゆる次元で合計することができる。

日付商品ID店舗ID売上金額販売数量
2024-01-01111,000円5個
2024-01-01121,500円7個
2024-01-0211800円4個
2024-01-02122,000円10個

売上金額は、すべての次元で合計可能なので、加算ファクトである。

  • 日付別合計: 1/1 = 2,500円、1/2 = 2,800円
  • 商品ID別合計: 商品1 = 5,300円
  • 店舗ID別合計: 店舗1 = 1,800円、店舗2 = 3,500円

半加算ファクト

一部の次元で合計することができるファクトである。例として、残高は、製品毎、店舗毎で合計することができるが、時間毎で合計しても意味がない。

日付商品ID倉庫ID在庫数在庫金額
2024-01-0111100個10,000円
2024-01-0112150個15,000円
2024-01-021190個9,000円
2024-01-0212140個14,000円

在庫数は、倉庫IDで合計可能であるが、時間軸では合計しても意味をなさないので、半加算ファクトである。

  • 倉庫別合計(2024/1/1時点): 倉庫1 = 100個, 倉庫2 = 150個
  • 日付別合計: 1/1 = 250個は、意味をなさない
  • 時間軸での集計: 倉庫1の平均 = 95個, 倉庫2の平均 = 145個

非加算ファクト

どの次元でも合計することができないファクトである。例として、比率、単価は合計しても意味がない。非加算ファクトはできるだけ、データモデリングのダウンストリームで計算するのが良い。

日付商品ID店舗ID単価
2024-01-0111200円
2024-01-0112210円
2024-01-0211200円
2024-01-0212220円

単価は、どの次元での合計も意味がないので、非加算ファクトである。このようなものは統計値として扱うことができる。

  • 店舗別合計: 店舗1 = 400円、店舗2 = 430円は意味をさなさい

ファクトテーブルはデータ分析において重要な役割を果たし、各ファクトの特性を理解することが分析の精度を高めることに繋がる。

参考資料

コメント

タイトルとURLをコピーしました