|
数据分析讲堂
第六课 TM1应用实例(2)
第三讲 库存吞吐立方体
3. 输入内容 有10个来自不同数据源的内容输入到库存立方体。相对于前面描述的库存维,下面的部分描述了其中的7个,模式如下: ( Foodsource. USite. UTime. ) 1) 内容源声明 输入变量在定义中按照它们所来源的外部表进行分组。 “Qty received” {Kg}, “Qty rejected at receipt” {Kg}, L.leaf.<< Food_source shipment arrival table “Qty over age” {Kg}, “Qty sent to production” {Kg}, “Qty spoiled” {Kg}, L.leaf.<< Food_source sent to production table “Qty damaged” {Kg}, L.leaf.<< Unexpected Food_source damage table “Qty counted at audit” {Kg}, L.leaf.<< Annual reconciliation table 2)基本聚合声明 除了Qty counted at audit不在时间上汇总之外,所有的内容都要在所有层次结构上汇总。 “Qty counted at audit”., Geog.Site.above., Food_source.leaf.above., Time.day. = Sum ( “Qty counted at audit”, Geog.Site.leaf., Food_source.leaf. ) 与采购和汇率立方体比较,库存立方体似乎是小菜一碟。除了例外的年度稽核之外,每个输入内容单位都是千克,在所有维的叶子层次上测量,并在所有维上向上汇总。我们忽略了什么吗?Thor有些怀疑。那么,Lulu说,我们可以跟踪每种鱼的容器的类型,有些装在平板盒子里,有些装在独立纸板箱里,还有一些在袋子里。鱼到达时,容器的类型和其在仓库内处理的成本,或损坏的可能性之间存在一定的相关性。你会如何跟踪容器的类型?Thor说,容器类型不应该作为属性存储在鱼维表中吗?要看情况而定,Lulu回答。容器类型会发生如何变化?对,这是问题的关键,Thor说。如果它基本上只随鱼的变化而变化,你应该将其作为维属性存储。我们可以很容易想象容器的类型随着鱼、采购市场、甚至时间的变化而变化。有几个星期我们从Juneau收到的鲑鱼装在100磅柳条筐内,其他几个星期他们又装在50磅塑料袋内。 Thor继续进行讲解,如果容器类型在所有3个维上都发生变化,Lulu,那你如何对它建模?你要创建一个容器类型维吗?你要给每一种容器类型创建一个变量吗?你将怎样做?考虑一下。 你的任何一种选择我都不用,Lulu告诉Thor。我要创建单独的一个称为接受容器类型的变量,它的值是所有可能的容器类型。然后我把这个变量应用到库存立方体的叶子等级上。如果FCI在鱼到达仓库之后改变容器类型,我会为库存的每个阶段创建一个容器类型变量;否则,我只用一个变量。容器类型变量的值将是一个源自供货合同中容器类型信息的名词字符串,然后我给每个容器类型变量创建一个维表,并关联上相关的属性,如容量、强度、成本,诸如此类。但既然我们现在还不能访问供货信息,就让我们把这部分建模留到此示范过程结束之后再进行。
|
一共有 0 条评论