今天分享一篇,热腾腾的实战,关于在数据开发中,表字段如何设计,如何打标签,如何进行维度分组,关于优先级排序如何处理???
1,表字段如何设计
首先,不管是临时表,还是目标表,其设计都是有一定的门路。
有些需求的目标表是固定的,但是临时表确实没有限制的。
首先来看下面一张表:
实际上我们所需要的字段的信息是【修正后的下挂员工工号和姓名】。但是大家会发现,我把【修正前的下挂员工工号和姓名】也给展示出来了。
为什么要多此一举呢?
当然是在你上线之前,自己测试数据的时候,看看这个逻辑与过程对不对啊。
当然是为了该需求上线之后,方便查找问题啊。上线之后,难免业务看了数据之后,发现不符合要求,这个时候业务会跟你讲,哪些数据不符合要求。这个时候就是需要你根据数据取查找问题了。
所以,在表字段设计的时候,不一定要把字段罗列齐全,但是关于字段的前后比对情况,一定要展示出来。
再比如,如果一个字段,是由N个字段联合判断给出的结果,那么再设计的时候,可以把那N个字段的在前边给展示出来。
再比如,如果两张表的关联条件可能存在发散或者别的问题,那么可以分别把两张表的关联字段全部展示出来,这样子查找发散的数据就很快了。
2,如何打标签
什么叫打标签呢???
就比如说【投资者统计类型】,针对基金公司会根据客户的资产多少与客户的身份属性来联合判断,投资者统计类型分为:10万以下客户的个人投资者,10-100万客户的个人投资者,100--500万客户的个人投资者,500-1000万客户的个人投资者,普通机构投资者,专业机构投资者。
那么我们就要对其原本的数据进行打标签,判断出哪些客户是属于哪一类投资者类型。
2.1,举个例子【属性标签】,
一条数据里有客户状态代码 cust_stat_cd字段(分为正常客户,销户客户,其他客户),有cust_clas_cd 客户等级代码(分为个人客户,机构客户,产品客户,其他客户),那么我们如何给该客户的属性打上标签呢:
2.2,举个例子【优先级标签】,
那对于有些员工与客户的关系类型,有津贴1,津贴2,协助关系,关系类型代码分别对应1,3,3,但是关系类型优先级是,津贴2 > 津贴1> 协助关系,如何按照优先级从高到低打上标签呢:
3,如何进行维度分组(case when+group by )
当然,在进行维度分组的时候,首先要根据维度的规则,新增字段,case when 给数据打上标签。
然后再对标签的新增字段进行group by 分组就行了。
如下图,按照维度的规则打上标签之后,就可以对其进行数据统计了。
4,优先级排序如何处理
但凡是涉及到优先级排序的问题,解决的通法,必然是有两个步骤的:
1,先对排序内容进行打【数字标签】,优先级从高往低,打标签为数字1,2,3,4,从小到大。
2,对数据进行分组,对之前的【数字标签】进行order by 排序。
这样子,就可以对数据按照任意的优先级进行排序了。
好了,今天就分享上述4个在实际开发中的技能方法。希望你学得开心,收获满满。
欢迎一键三连!!!