维度建模 - 地理支腿维度

Dimensional Modeling - Outrigger dimension for geography

目前,我正在研究尺寸建模,并且有一个关于支腿尺寸的问题。 该公司是贸易商,充当客户和供应商之间的经纪人。

对于事实 table,“事实交易”,我们包括 dimCustomer 和 dimSupplier。 这些维度中的每一个都有一个地址。

我的问题是根据地理因素计算支腿尺寸是否正确。通过这种方式,我们可以衡量我们从原产地运送到城市的数量。 dimensional model

我很好奇什么是最佳实践。我希望你能帮助解释应该如何正确建模以及为什么。

希望我的问题很清楚,并且我已将其发布在正确的位置。

提前致谢。

我至少能想到3种可能的选择;您的具体情况将决定哪一个最适合您:

  1. 如果您经常按地理位置过滤您的事实但不需要 company/person 信息(即伦敦和纽约之间有多少交易?)那么我会创建一个独立的地理维度并 link 它直接针对您的事实(两次 - 针对客户和供应商)。这也不会阻止您在 customer/supplier Dims 中使用地理属性,因为维度模型未标准化
  2. 如果地理属性的变化频率明显高于 customer/supplier 属性,并且 customer/supplier Dims 有很多属性,那么可能值得为地理属性创建一个 outrigger dim属性 - 因为这减少了 customer/supplier Dims 所需的维护。但是,鉴于大多数 companies/people 很少更改地址,这可能不太可能
  3. 在 customer/supplier Dims 中保留地理属性。即使我也选择上面的选项 1,我可能还是会这样做

只是出于兴趣 - 客户和供应商是否具有明显不同的属性集(我假设他们都是公司或人)?是否需要为它们创建单独的 Dims?