0

所以我有一个货运维度数据库:

一个货件包含许多包裹。一个包裹包含许多费用。

因为这是维度的并且费用是我最感兴趣的数据,所以我将 3 个表及其多对一关系扁平化为一个费用事实表。这是包含两个包裹,每个包裹重 1 磅的单个货件的快速快照。

在此处输入图像描述

为了使包裹重量可查询,我需要将其推到充电颗粒上。这会导致聚合问题。每个包裹的包裹重量为 1 磅,因此装运的重量应为 2 磅。我找不到以这种方式聚合重量作为衡量标准的方法。我对 SSAS 和 OLAP 很陌生,真的不知道下一步该尝试什么。任何建议将不胜感激。

4

1 回答 1

1

问题在于您对数据进行建模的方式。您的(事实)表的最低粒度级别是“收费金额”......“包裹重量”金额处于更高的粒度级别(包裹级别)。

你有两个选择...

  1. 在您的 ETL 中,您可以在每个包裹的不同收费金额中分配 1 磅(见下面的屏幕截图)。这样,当您按 Shipment 或 Package 对该事实表进行切片时,您将分别看到 2lbs 或 1lbs。

    截屏

  2. 将“包裹重量”字段从该事实表中拉出,并将其放在粒度为包裹级别的位置。

于 2012-01-11T18:11:28.287 回答