私の質問は、データ ウェアハウスでの fact_table のモデリングについてです。たとえば、さまざまなサブジェクトにサブスクライブしているユーザーがいて、いつサブスクライブを開始したかを追跡したいとします。各ユーザーは特定の部門に属しています。ユーザーは部門を変更できます。ファクト テーブルには 2 つの設計があります。
+----------+------------------+-----------------+---------------+------------+
| user_key | subject_key | department_key | start_Date | end_date |
+----------+------------------+-----------------+---------------+------------+
| 1 | 10 | 123 | 2017-09-10 | 2017-09-25 |
| 2 | 11 | 90 | 2017-09-20 | 9999-12-29 |
+----------+------------------+-----------------+---------------+------------+
これは、ユーザーが 2017 年 9 月 10 日に件名 10 を購読し、2017 年 9 月 25 日に購読を解除したことを意味します
もう 1 つの設計は、設計から department_key を削除することです。
+----------+------------------+---------------+------------+
| user_key | department_key | start_Date | end_date |
+----------+------------------+---------------+------------+
| 1 | 123 | 2017-09-10 | 2017-09-25 |
| 2 | 90 | 2017-09-20 | 9999-12-29 |
+----------+------------------+---------------+------------+
集計表は次のようになります。
+---------+-----------+---------------+------------------+
| user_id | user_name | subject_name | department_anem |
+---------+-----------+---------------+------------------+
| 1 | john | politics | sales |
| 2 | Mark | sport | marketing |
+---------+-----------+---------------+------------------+
問題は、ユーザーの部門が変わる可能性があることです。集計でユーザーの現在の部門が必要な場合、質問は、実際のテーブルに department_key を含めて、ユーザーが部門を変更するたびに更新するか、ロジックを集計で処理する必要があるかです。サブジェクト キー以外のディメンション キーのないファクト テーブルは、「本当に」ファクト テーブルですか?
ありがとう