我有一组OLAP多维数据集,格式为雪花模式,每个表示一个工厂。
我有三个概念,对于某些工厂来说,它们显然是三维的,而对于其他的工厂,它们的行为显然是二维的。
概念总是一样的:“产品”、“销售代理”和“客户”。
但在某些情况下,我怀疑我是否应该把它建模成一个纯三维立方体,或者我应该用一个二维立方体来玩一些调整或戏法。
案例A和B对我来说是明确的,而C则是引起我惊奇的案例。
案例A:清晰的三维立方体
任何代理商都可以把任何产品卖给任何公司。多个代理可为同一组客户共同负责。
我给这个案例建模如下:

案例B:清晰的二维立方体
每个代理商都要对一个客户组合“负责”,他可以销售任何产品,但只能卖给他的客户。分析的是‘当前对投资组合的责任’,因此,如果一个代理人离开公司,他的所有客户被重新分配到一个新的代理和客户唯一属于新的代理。
我给这个案例建模如下:

案例C:我的怀疑
客户可能被分配了一个代理或多个代理集合,每个代理负责一个ProductCategory。
例如:
Alice管理TablesAndWoods ltd和GreenForest ltd。Bob管理Chairs ltd和FastWheels ltd。Carol只为ProductType = 'machinery'管理Forniture ltd,也为任何类型的产品管理FrozenBottles ltd。Dave还管理Forniture ltd,但只管理ProductType = 'consumables',也管理任何类型产品的HighCeilings ltd。问题:
在本例中,“案例C":
customer和agent是独立的维数,因为Forniture ltd与Carol和Dave都有关系,所以它是一个三维立方体吗?
或者它是一个2D立方体,其中agent不是一个独立的维度,但它是ProductCategory产品聚合器以某种方式“条件”的customer的聚合器?
我想看看你会怎么模仿这个。提前谢谢。
发布于 2015-04-25 11:28:25
下面是我给它建模的方法:
你的事实表是销售。
您的维度可能是日期、产品、客户和代理。这最接近你的案子A。
将你的雪花(白色实体)折叠到维度中。这些实体的存在表明,您应该考虑类型2缓慢变化的尺寸是否需要在时间上进行分析。
考虑一个桥表来捕获代理和Product之间的多到多关系。
https://stackoverflow.com/questions/29858167
复制相似问题