订单管理与发票数据处理:从设计到应用
1. 处理表头/行事实的替代技术
设计团队有时会尝试设计不同粒度的表头/行事实处理方法,常见的有以下几种:
- 在每行重复未分配的表头事实 :这种方法存在风险,因为在每行汇总表头金额时可能会高估。
- 将未分配金额存储在交易的第一行或最后一行 :此策略消除了重复计算的风险,但如果由于产品维度的过滤约束,第一行或最后一行被排除在查询结果之外,就会显示该交易没有关联的表头事实。
- 为表头事实设置特殊产品键 :采用这种方法的团队有时会复用现有的行事实列。例如,如果产品键 = 99999,则总订单指标就是表头事实,如运费。不过,维度模型应简单明了,避免嵌入复杂内容,以免让业务用户难以理解。
另外,还有一种需要避免的表头/行模式,在此模式中,订单表头不再被视为单一维度,而是作为事实表。表头的相关描述信息被分组到围绕订单事实的维度中,行项目事实表根据订单号与表头事实进行关联。这种设计虽然准确表示了订单表头和行项目的父子关系,但存在缺陷。每次用户想按任何表头属性对行事实进行切片和切块时,都需要将一个大的表头事实表与更大的行事实表关联。
2. 发票交易
在制造公司中,发票通常在产品从工厂运往客户时开具。发票包含多个行项目,每个行项目对应一种特定的产品,并且与各种价格、折扣和津贴相关联。除了发票上显示给客户的信息外,在发货时还可能了解到许多其他有趣的事实,如产品的标价、制造成本和分销成本等。
发票事实表可以展示公司的所有产品、客户、合同和交易、发票外的折扣和津贴、客户产生的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



