仓库设计:跟踪事件的缺失

时间:2018-12-15 17:38:11

标签: ssas data-warehouse ssas-tabular datamart

即时跟踪课程的出勤情况。有一个用户维度,课程维度和一个事实表。

我需要跟踪用户是否参加了课程以及他们是否未参加课程。

我当时正在考虑在事实表中存储每个用户和课程的记录,如果他们参加了,则记录一个,如果没有参加,则记录一个记录。

我应该存储未出席记录还是缺少记录表明未出席?

1 个答案:

答案 0 :(得分:0)

在您的表格列表中,我还将添加一个日期维度。我可以将用户维度命名为类似于学生维度。

因此您的表列表将如下所示:

事实出勤

Dim_Student

Dim_Course

Dim_Date(以下链接描述了如何构建日期维度: https://www.mssqltips.com/sqlservertip/4054/creating-a-date-dimension-or-calendar-table-in-sql-server/

此事实可以创建为快照事实表。为每天每门课程的每个学生创建一行。这将帮助您生成数据见解,以回答诸如以下问题:

一周/一个月有多少学生参加了该课程? 某个学生在特定日期参加了课程吗?

Kimball巴士矩阵是您的理想起点。

https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/kimball-data-warehouse-bus-architecture/