我正在为销售分析建立一个维度模型,这个模型有一个叫做sales的事实,并与产品维度相关联。
要点是,对于每天的产品库存都会发生变化,这些信息对于他们分析为什么某个特定的产品没有被出售是很重要的(例如,在XX/XX日,由于库存中没有产品,所以产品123456没有出售)。
我想知道对这种情况建模的最佳选择,如果可能的话,简要解释一下它是如何工作的。
提前感谢!
发布于 2014-06-16 18:28:22
这是一个相当广泛的讨论问题,所以这里有一些讨论。
维数表
-- Products -----
ProductId
Name
(etc.)在跟踪的每个产品中包含一行,ProductId应该是一个代理键。
-- Time --------
TimeId
ReportingPeriod (Q1, week 17, whatever as desired)
(etc.)包含每天被跟踪的一行。一旦了解了一天活动的结果,就可以将其添加到仓库
请注意,TimeId不必是代理项键。
事实表
-- Inventory -------------------------
ProductId
TimeId一旦了解了一天活动的结果,就可以将其添加到仓库中的每个产品的一行(每天),列出当天结束时可用的库存。
但是,它变得复杂了:只需要什么数据,可用的数据是什么?假设数据为一天,跟踪和记录的可能事实包括:
StartingInventory -- What you had at the start of the day
UnitsReceived -- Units received for storage today
UnitsSold -- Units sold (that cannot be sold again) but not yet shipped
UnitsShipped -- Units shipped (sold or otherwise)
EndingInventory -- Units in stock at end of day很快就会变得复杂。同样,这在很大程度上取决于您拥有哪些信息,以及您的仓库将被问到什么问题。
https://stackoverflow.com/questions/24249475
复制相似问题