0

我正在为销售分析构建一个维度模型,该模型具有一个名为 Sales 的事实并与 Product 维度相关联。

关键是产品库存每天都会发生变化,并且此信息对于他们分析特定产品未售出的原因很重要(例如,在 XX/XX 天,产品 123456 未售出,因为没有产品在库存中)。

我想知道模拟这种情况的最佳选择,如果可能的话,简要解释一下它是如何工作的。

提前致谢!

4

1 回答 1

1

这是一个相当广泛的讨论问题,所以这里有一些讨论。

维度表

--  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

它很快变得复杂。同样,很大程度上取决于您有哪些可用信息以及您的仓库会询问哪些问题。

于 2014-06-16T18:28:22.960 回答