数据仓库/BI 建模:事实还是维度?

Data Warehouse / BI modeling: Fact or Dimension?

我正在使用著名的 facts/dimensions 星型方案构建数据仓库。 目前正在实施员工绩效数据。

我有两个来源:

  1. 我得到的票务系统
fact: spent time, billed amount 

dimension: Employee, Date, Customer, type-of-time (billed, not-billed, internal, service, driving-time ...)
  1. 计时系统,我得到
fact: worked hours 

dimension: Employee, Date

"correct" 方法是什么:

A. 将工作时间添加为单独的事实?

B. 只是有一个 "time spent" 事实并将工作时间作为一个维度添加到时间类型维度中?

目标是创建一个仪表板,其中包含计费时间与工作时间、未计费时间等信息。

根据 OP 的建议,这里我的评论作为答案:

这取决于您的事实结构/聚合级别。示例:员工 A 在 2020 年 3 月 2 日工作 9.5 小时。他为客户 X 工作 4 小时,为客户 Y 工作 5 小时。此外,他还有 30 分钟的休息时间(不计费)。您的票务系统肯定包含 2 行 - 每个客户一行。时钟系统只有一个聚合行,因为它不区分客户。因此,在这种情况下,我建议为工作时间创建一个单独的事实 table。