数据库架构问题 - 非原子数据的维度创建

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 中对此进行建模并将计划智能地放入维度中?

我的目标是将数据建模如下:

有时,教授们在谈论适用于两者的话题时,会将 2 class 一起安排到 1 class 中。可以有 2 个 class 在一起,可以有多达 8 个 class 在一起,或者介于两者之间。

在这种情况下桥 table 是否合适?

您可以使用 bridge table。在经典的维度模式中,附加到事实 table 的每个维度都有一个与事实 table 的粒度一致的值。但是在很多情况下,一个维度是合法的多值的。就像你的例子一样,一个学生可以注册很多课程: