View List与Sub View List设计规范

因公司业务发展,需要改造一个BI平台Davinci。
考虑到davinci的View List中的View只是作为一个宽表来进行设计的,无法将两个View进行关联。所以需要修改源码。
 
可修改源码,并将View划分为View和Sub View,其逻辑上分别对应维表、事实表。
 
 
 
然后定义好View与Sub View之间的关联主键,就可进行数据的复用。举个真实的metabase例子如下:
统计流水的时候,需要拿到xxxxxx表的真实套餐使用金额和支付时间,其两个字段的计算方式如下:
- 真实套餐使用金额:Money - (CV / 100)
- 支付时间:InsertTime
 
但是!!后来业务改了,计算的字段也变了,其计算方式变成如下:
- 真实套餐使用金额:ActualMoney / 100
- 支付时间:PayTime
 
虽然只是字段的简单改变,但是就会涉及到十几个SQL报表,并且位置不清楚,需要一个个找出来,这样做完就要耗费半天时间。
 
而View与Sub View的关联就可以解决这种问题,操作流程可以像下面这样:
- 第一步:把用户流水相关封装成一个一userId作为关联键的Sub View,并将真实套餐金额、支付时间这两个字段提供出去。
- 第二步:将其与对应的View进行关联。
- 第三步:涉及到流水字段改动时,只需要改造Sub View的两个字段即可。
 
定义Sub View需要考虑的事:
第一点:Sub View如何定义?是以用户某一种行为历史作为记录(如上课记录、报名记录等),还是其他?
- 建议以用户某一种历史行为作为Sub View。
 
第二点:Sub View由谁来进行维护?是归一个人统一维护?还是归各个业务开发人员来进行维护?
- 建议如果进行变更,必须要有对应的负责人以及业务开发人员一同进行处理。避免多个业务开发人员相互覆盖其变更逻辑。
 
第三点:Sub View提供出去的字段名必须是保持不变的,可添加,但不能对被View已使用的字段名名称做变更。因为一旦名称修改,其他报表也会出现问题。
- 这是一个规范的问题,需要约定已被View所使用的字段不可进行变更,并需要在代码层面做校验处理。
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章