0

私の質問は、データ ウェアハウスでの 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 を含めて、ユーザーが部門を変更するたびに更新するか、ロジックを集計で処理する必要があるかです。サブジェクト キー以外のディメンション キーのないファクト テーブルは、「本当に」ファクト テーブルですか?

ありがとう

4

1 に答える 1