|
数据分析讲堂
第八课 基于活动的管理
第五讲 计算所售物品的总成本
现在我们可以回答Jane几分钟之前提出的第一个问题了。我们需要意识到的第一件事是收入与成本。作为收益的组成部分,收入应该在数据源独立建模,按照商店、时间和foodcake来度量,而不是按照一些人建议的收益。 ( Time. UStore. UFoodcake. ) ~ Revence 按照业务过程、资产和时间来度量成本。 ( Time. UBusiness process. UAsset. ) ~ Costs 那么我们如何在只共享一个时间维的情况下,用一种方法连接这两个立方体,是我们能够计算每个foodcake 的成本呢?考虑一下,我们还能在销售和其他业务过程中同时跟踪什么呢? 跟踪POS的批号
批处理号怎么样?Lulu说。它不是连接了所有的东西吗?一个特别的foodcake在一个特定时间在特定的机器上生产出来时,就会分配一个批号。例如,通过我们的业务系统批号123,我们知道它指的是Vancouver在1月16日上午9:00至中午生产的一个批次的Neptune fishcake。我们还知道123这一批在1月16日下午发往Cambridge,在17日早晨到达,并送入了商店库存。此商店也采用FIFO的库存策略,基于商店的销售记录,123批次中150包的最后25包的Neptune在1月17日卖出。 那么你如何把批号加入到收入和成本模型呢?在收入方面批号可以加到几个不同的地方:运货接收处,手头的库存,以及交易层的销售。当一个商店街收到它每天的运货时,此次运输有一个惟一标识。再者,每次运货都有一个包含在此次运输内的细节批号库存列表和此批次中foodcake的种类和数量。 因此,举个例子,当Cambridge商店确认1月17日早晨运货的数据时,它明确表明了所有接收foodcake的批号。但怎么做到这一点的呢?都有哪些办法?Lulu解释他们目前正在从交货和销售交易数据中建立一个混合的foodcake——批号维,然后每天晚上重新处理销售立方体,但他们也在考察其他方法。环视房间发现很多期待的眼光,lulu觉得应该给出一个例子。 Lulu说,目前,FCI创建了一个经过修改的Foodcake维,其中对每个foodcake维的叶子在每天和商店的基础上,插入了当天此商店接收、手头或售出的每个批次的标识号码。用LC,这样修改后维的表达式如下: 定义新维Foodcake——批次为 Foodcake.leaf.( Time.day.this, Store.this, ( Qty received or Qty sold or Qty on hand ) >0 ) ~< Batchid 则模式为 ( Time.day. UGeog.store. UFoodcake-batch. ) ~ Qty received, Qty sold, Orice, … 一个在维中合并批号销售数据的视图可以在图8.5.1看到。 图8.5.1显示了Cambridge商店在1月17日收到批次为123的100单位Neptune和批次为161的50个单位Poseidon从以前的批次188中售出,以及10个单位来自新到达的批次161.关联到foodcake维叶子上的标识和批号是不断变化的,意识到这一点很重要。因此,如果我们查看来自邻居商店的同一视图,它可能类似图8.5.2。
 那么你如何建立一个这样的混合维?一个经理问道。我明白你在白板上写的定义,但为了实际地创建它,我们需要哪些信息?问得好,Lulu说。你需要访问与你的运输和销售相关的交易数据,你还得利用或创建foodcake和批号之间的某种关系。 使用批次标识信息,FCI能够跟踪商店中不同批次的年龄,甚至能把批号按年龄排序。由于每个批号可以(不是必须)每天不同,可以每个商店不同,因此提交有关具有特定批号的某个变量在跨越时间和商店是如何变化的查询时没有意义的,这个批号在另一个时间或商店可能并不存在,换句话说,“批号123的Neptune接收数量从Arlington到Cabridge变化了多少?”这类的查询没有任何意义,因为可能那一天只有Arlington存在批号123。 大多数精力都被说服了,但CFO继续坚持他的意见。你的模型如何处理运输或库存中没有批次的foodcake?例如,你怎么查询某一天在任何一个商店手头没有批次的foodcake价格?Lulu正在想如何回答,这时Thor走上前来,他感谢FCO指出这一在实际应用中需要处理的问题。我们处理系统中没有批次的方法,是把有批次的foodcake和没有批次的foodcake 分开。上面混合维定义只是对应于存在批次的情况,完整的混合维定义是这样的: 定义新的完整Foodcake——批次维“Hfoodcake”为 Foodcake.leaf.(Time.daythis, Store.this, (Qty received or Qty sold or Qty on hand) >0) ~<Batchid Union Foodcake.leaf.(Time.day.this, Store.this, (Qty received and Qty sold and Qty on hand) =0) ~ Batchid.n/a
 Batchid.n/a意为不适用,表示那些没有收到、销售后手头上掌握foodcake的地点,这在图8.5.3中说明。 但如果批号叶子对Poseidon cake不适用,怎么能存在任何价格或数据呢?一个经理问。Thor回答说,所有变量值都平等地应用到Hfoodcake维的foodcake层上。例如,Poseidon cake列接收数据的数字0的意思是没有收到Poseidon cake。进一步,价格$5.50美元将Poseidon cake的价格作为Fishcake维的价格属性内的数字列出,与库存中有多少Poseidon cake无关。Lulu补充说,屏幕展现是不能完全说清楚的,由于维展现的规则性要求我们必须显示不适用的批号叶子,而不是什么都不显示(如下面重新显示的同一屏幕,需要做一些创建客户化用户界面的工作)。Lulu的版本见图8.5.4。
 Thor进行了总结,并且管理者们似乎都同意他的观点,即带批次的Foodcake维最终允许FCI把销售和市场中的变化与FCI整个价值链中的变化连接起来。 混合Foodcake——批次维还使得FCI能实行比以前更好的产品质量控制。例如,Lulu说,现在查询同一foodcake不同批次之间质量属性的变化这类东西是简单直接的。 排序的批次
Thhor讲道,此方法惟一不好的一点是,销售立方体需要每天重新处理一次,由于它的混合foodcake维每天都在变化。并且,如果你试图查看跨时间或商店的批次管理,如下面的查询 l 每个已存在批次中foodcake的平均数量是多少? l 不遵循FIFO策略的foodcake销售有多频繁? 由于没有批次的一般概念,公式化将会是很难的。一种简化的跨时间和商店比较批次,并不必每天重新处理立方体的方法,是创建一个排序的批次维,并把批号处理为如下模式众所示的变量。 ( Time. UStore. UFoodcake. UBatchordinal. ) ~ Batchid, Qty received, Qty sold, Qty on hand 排序批次维的创建和使用,Lulu说,与库存立方体中年龄维的创建和使用非常类似。批次维中顺序批号的个数,应该选择可以反映任何foodcake在任一商店中同一时间内,手头可能具有的最多的批次个数。由于foodcake是容易变质的,商店每天都有进货,还由于他们使用FIFO的库存策略,5个成员的排序批次维应该足够了。批次按批次排序中的顺序到达商店,最年轻的批次分配在批次1的位置。与库存中的所有鱼的年龄每天都要增长的年龄维不同,在排序的批次维内,批次仅仅随着最年轻批次的到达,才按照其排序范围内的数字增长年龄。
|
一共有 0 条评论