我正在尝试开发一个合适的 BI 解决方案,其中维度表和事实表具有 1:1 的关系。
举个例子:
Fact_UserData
- 用户身份
- 位置 ID
- 职业编号
- 一堆可以有意义地聚合的数字数据
Dim_User
- 用户身份
- 性别
- 种族
Dim_Location
- 位置 ID
- 区
- 城市
- 状态
Dim_Occupation
- 职业编号
- 职业名称
在此示例中,假设 Fact_UserData 和 Dim_User 将始终通过用户 ID 具有 1:1 的关系。
主要让我失望的是 1:1 关系——我应该有一个专用的用户维度还是应该将这些属性合并到事实表中?我对合并犹豫不决,因为根据Kimball的说法,退化维度应该保留给操作控制编号。我也想知道将职业作为一个专门的维度是否有意义——从业务的角度来看,按职业分组是至关重要的,这就是为什么我最初将其作为自己的维度。
作为对职业维度问题的概括,处理维度只有两个字段:ID 和名称的情况的最佳实践方法是什么?(把它想象成一个典型的客户维度,期望它只有字段客户 ID 和客户名称。)假设该维度有 10 多个条目并且没有任何层次结构。