数据库架构问题 - 非原子数据的维度创建
Database Architecture Question - Dimension Creation for Non-Atomic Data
我正在查看将导入 Power BI 的 Excel 文件。由于工作原因,我不允许访问数据库本身,因此他们给了我一个 Excel 文件供我使用,然后我将上传到 Power BI。
关于“tables”这一事实,他们有这样的数据
s-ID success% late% on-time% schedule
1 10% 2% 5% calculus-1;algebra-2
1 5% 10% 27% Calculus-1
1 5% 3% 80% algebra-2
2 33% 50% 3% null
5 5% 34% 8% English-1;English-10;theatre;art
我意识到这些数字没有任何意义,但这基本上就是数据结构明智的方式。在这个事实“table”中也有大约 100,000 条记录。
我有一个课程维度,但我不确定如何处理这个时间表列。如果我垂直拆分列,度量列将被重复计算。
如何在 Power-BI 中对此进行建模并将计划智能地放入维度中?
我的目标是将数据建模如下:
能够将计划分成单独的行,但同时不会重复计算所有值。
我还想证明s-ID记录有学生参加
class 同时具有微积分 1 和代数。
有时,教授们在谈论适用于两者的话题时,会将 2 class 一起安排到 1 class 中。可以有 2 个 class 在一起,可以有多达 8 个 class 在一起,或者介于两者之间。
在这种情况下桥 table 是否合适?
您可以使用 bridge table。在经典的维度模式中,附加到事实 table 的每个维度都有一个与事实 table 的粒度一致的值。但是在很多情况下,一个维度是合法的多值的。就像你的例子一样,一个学生可以注册很多课程:
我正在查看将导入 Power BI 的 Excel 文件。由于工作原因,我不允许访问数据库本身,因此他们给了我一个 Excel 文件供我使用,然后我将上传到 Power BI。
关于“tables”这一事实,他们有这样的数据
s-ID success% late% on-time% schedule
1 10% 2% 5% calculus-1;algebra-2
1 5% 10% 27% Calculus-1
1 5% 3% 80% algebra-2
2 33% 50% 3% null
5 5% 34% 8% English-1;English-10;theatre;art
我意识到这些数字没有任何意义,但这基本上就是数据结构明智的方式。在这个事实“table”中也有大约 100,000 条记录。
我有一个课程维度,但我不确定如何处理这个时间表列。如果我垂直拆分列,度量列将被重复计算。
如何在 Power-BI 中对此进行建模并将计划智能地放入维度中?
我的目标是将数据建模如下:
能够将计划分成单独的行,但同时不会重复计算所有值。
我还想证明s-ID记录有学生参加 class 同时具有微积分 1 和代数。
有时,教授们在谈论适用于两者的话题时,会将 2 class 一起安排到 1 class 中。可以有 2 个 class 在一起,可以有多达 8 个 class 在一起,或者介于两者之间。
在这种情况下桥 table 是否合适?
您可以使用 bridge table。在经典的维度模式中,附加到事实 table 的每个维度都有一个与事实 table 的粒度一致的值。但是在很多情况下,一个维度是合法的多值的。就像你的例子一样,一个学生可以注册很多课程: