是否可以使用条件OLAP维度聚合器?

时间:2015-04-24 21:54:22

标签: data-warehouse olap olap-cube dimensional-modeling snowflake-schema

我有一组OLAP多维数据集,以雪花模式的形式,每个都代表一个工厂。

我有三个概念,一些工厂明显表现为三维,而其他工厂显然表现为二维。

概念总是相同的:“产品”,“销售代理”和“客户”。

但是对于某些情况,我怀疑是否应该将其建模为纯粹的三维立方体,或者我应该使用二维立方体进行一些调整或技巧。

案例A和B对我来说是明确的,案例C是产生我的奇迹的案例。

案例A:显然是一个三维立方体

任何代理商都可以向任何公司出售任何产品。对于同一组客户,可以使用多个代理商。

我将此案例建模为:

enter image description here

案例B:显然是一个二维立方体

每个代理商都对客户组合负有责任,他只能向客户销售任何产品。分析是“当前对投资组合的责任”,因此如果代理离开公司,他的所有客户都会被重新分配给新代理,而客户唯一属于新代理。

我将此案例建模为:

enter image description here

案例C:我的疑惑

可能已为客户分配了一个代理商或一组代理商,每个代理商负责一个ProductCategory。

例如:

  • Alice管理TablesAndWoods ltdGreenForest ltd
  • Bob管理Chairs ltdFastWheels ltd
  • Carol仅为Forniture ltd管理ProductType = 'machinery',并为任何类型的产品管理FrozenBottles ltd
  • Dave还管理Forniture ltd,但仅限ProductType = 'consumables',并且还管理HighCeilings ltd任何类型的产品。

问题:

在此示例中,“案例C”:

customeragent个独立尺寸是因为Forniture ltdCarolDave有关系,所以它是3D立方体吗?

或者它是一个2D多维数据集,其中agent不是一个独立的维度,但它是由customer产品聚合器以某种方式“调节”的ProductCategory聚合器?

我想看看你如何塑造这个。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

以下是我的模型:

您的事实表是销售。

您的尺寸(可能)是日期,产品,客户和代理商。这最接近你的案例A.

将雪花(白色实体)折叠到尺寸中。这些实体的存在表明您应该考虑是否需要2型缓慢变化的维度进行及时分析。

考虑使用Bridge表来捕获Agent和Product之间的多对多关系。

相关问题