是活的;报表模块的报表是行列固定的
三、多维度展现
(一)多维报表的实现
通过费用的多口径归集和多路径分摊,就可以得到成本对象的成本计算表如表4-9所示。
表4-9成本对象的成本计算表【/图说】
成本对象可以关联不同口径如图4-25所示。
图4-25成本对象关联不同口径
成本对象关联不同口径,结合成本对象的成本计算表,就可以得到不同维度的成本计算表如表4-10所示。
表4-10不同维度的成本计算表【/图说】
通过不同维度的成本计算表,就可以进行多维度展现了如表4-11所示。
多维度展现,其表现形式是成本分析的万表同源。万表同源的实现机制,则是费用分配的百口归一。也就是说,费用分配的百口归一,为成本分析的万表同源创造了前提,为多维度展现提供了基础。
百口归一,就是任何类型的资源消耗,任何口径的费用归集,全部分摊到成本对象,形成成本对象的成本计算表;万表同源,就是所有维度的成本查询,所有指标的去向追溯,全部来源于成本对象的成本计算表。“百口归一”,“万表同源”,是形象但并不夸张的说法。我们介绍了多口径归集,所以对百口归一的“百”就不用再解释了,这里解释一下万表同源的“万”。
表4-11成本报表的多维度展现【/图说】
成本对象是多维组合,就算只有客户、产品、作业、部门四个维度。这四个维度分别有多个属性,任何一个属性又可以关联其他的主数据,从而自动带出其他主数据的多个属性。例如客户有专营业务员属性,专营业务员的主数据又有性别、年龄、籍贯等属性。所有这些属性均可以作为维度且进行任意组合,从而产生上万张各有业务意义的成本报表。当然了,如果有人坚持眼见为实,一定要我把这上万张成本报表都画出来,那我是没办法做到的。我用手指着月亮,你却盯着我的手。
多口径归集和多路径分摊确实是一项比较艰辛的工作,不过这种艰辛通过多维度展现可得到足够的补偿,更何况后面还有数据分析和数据挖掘的红利,以及应用价值的惊喜,能有这些回报,所以付出是值得的。如果读者认可了这一点,那么作者的付出也是值得的。
多维报表查询在实务中往往是一个递进过程。例如先查询各客户的成本如表4-12所示。
表4-12各客户成本【/图说】
发现某客户的成本异常后,下钻查询该客户各产品的成本如表4-13所示。
表4-13某客户各产品的成本【/图说】
发现该客户某产品的成本异常后,下钻查询该客户该产品的各部门消耗的成本如表4-14所示。
表4-14某客户某产品各部门的成本【/图说】
发现该客户该产品某部门的成本消耗异常后,下钻查询该客户该产品该部门各作业消耗的成本,并最终找到成本异常的原因如表4-15所示。
表4-15某客户某产品某部门各作业的成本【/图说】
可以看到,这是一个顺藤摸瓜的过程。之所以顺藤能摸到瓜,是因为这条藤是成本计算时的各条分摊路径相互交织并逐层递进形成的,否则不仅摸不到瓜,反而可能摸到一个大疙瘩。
(二)多维表与二维表
多维表基于数据仓库的数据模型,是“维度加指标”模式;二维表基于数据库的数据表或视图,是“字段加记录”模式。多维表和二维表分别通过字段关联和主键关联,可实现横向到边、纵向到底的查询。由于关联是无止境的,多维组合的数据量是指数级的,所以横向到边、纵向到底,理论上近乎横向无边、纵向无底。
多维表和二维表的展现形式不同。多维表的展现形式如表4-16所示。
表4-16多维表示例【/图说】
二维表的展现形式如表4-17所示。
表4-17二维表示例【/图说】
除了展现形式不同,多维表和二维表还有其他不同。
二维表侧重反映流程化的业务过程,例如001号采购申请单采购某商品100个,二维表可查询执行采购申请已下达订单的数量80个,采购订单已入库的数量60个,采购入库单已开具发票的40个,采购发票已付款的20个。多维表侧重反映模型化的分析过程,例如某商品本月采购申请数量100个,订单数量100个,订单数量与采购申请数量不一定存在关联关系。
二维表可展示很多业务属性,例如客户的发货地址、电话、传真、邮箱、联系人等。多维表从数据分析的需要出发,在模型中不一定包括类似数据。
(三)多维表与报表模块的报表
多维表与报表模块的报表,本来没有什么可比性,但既然都叫报表,我们还是对比一下。
(1)多维表可下钻上卷,是活的;报表模块的报表是行列固定的,是死的。可以想一想,如果我们需要在不同的查询间切换,两者会有什么不同。
(2)多维表不需要设置单元格公式;报表模块的报表需要设置单元格公式。可以想一想,如果一张报表有上万条数据,两者会有什么不同。
(3)多维表的维度是自动维护的;报表模块的报表需要人工维护。可以想一想,业务系统有成千上万的客户或产品,如果增加了几位客户或几种产品,两者会有什么不
上一篇:我都把它归结为微创新
下一篇:直接材料均为2元