口径困境
做数据分析的同学经常被一个问题困扰,就是口径统一问题。核对数据、反复取数是很多IT部门永远的主题,造成这一困境有很多原因:
- 不同的技术人员对同一口径的理解不一样,导致取出数据不一致;
2.技术人员脚本编写随意,导致在不同时间对同一口径取出的数据不一致;
3.业务和技术理解不一致导致取出的数据不符合要求。
如何减少这类无效劳动,从个人的经验看,可以从两个方面入手改善:
1. 非技术层面,技术部门应与业务部门加强沟通,彻底理解需求
要拿出“准确”的数据,首先需要技术人员理解“真实”的需求,这一点对技术人员的要求很高,因为经常会碰到下面这种熟悉的场景:
(1) 有时候业务人员自己都没有搞明白需求,只是传达一下领导的口头表述,就向技术部门要数据。
(2)大部分业务人员对技术是不了解的,简单的业务表述在技术理解上却是有歧义的。比如说“按月统计销售额”,在技术人员看来是完全无法处理的,比如说“按月”的时间是按销售日期,还是按收款日期?退款的交易如何统计?
因此,即使一个简单的数据统计,绝不是需求部门写两句话,技术部门就可以马上拿出数据了,而是需要技术人员主动反复、详细地与业务人员沟通,罗列各种可能的技术口径,直至双方达成一致的理解。
2.技术层面,建立统计指标库来统一口径
经过详尽的沟通以及技术分析,对常用的统计口径建立指标库,有利于改善口径不一致的现象,从而减少重复劳动。
建立指标库的方法有很多,这里介绍一种结合model函数使用的指标库建立方法。
用Model分析函数搭建统计指标库
以下用本人做过的一个税务局的数据分析项目为例进行说明,部分步骤或功能做了简化处理,记录一下关键内容。
1.口径明细表
--口径代码表,主要配置了各个口径的取数SQL
CREATE TABLE T_DM_KJ
(KJ_DM VARCHAR2(20) --口径代码
,KJ_MC VARCHAR2(50) --口径名称
,MODSQL VARCHAR2(1000) --Model函数SQL
,YXBZ VARCHAR2(1) DEFAULT