最长月份数的一种HIVE SQL 方法"/>
计算连续逾期最长月份数的一种HIVE SQL 方法
源数据:
表名:odue_sts
存储近24个月还款状态,仅含0-9数字;最左边为最新一期状态
cust_id | data_dt | odue_sts24 |
---|---|---|
112 | 2021-12-31 | 432100100032100001110000 |
113 | 2021-12-31 | 000000000000000000000000 |
目标:
衍生近X个月连续逾期最长的月份数
方法:
使用split函数对还款状态进行连续状态的切分,再配合lateral view 及explode,对切分的连续序列与原表进行笛卡尔积的左连接,再对结果进行处理:
step1.
用’0’切分逾期状态的前12个字符(近12个月逾期状态),将会生成序列
select cust_id,data_dt,odue_sts24
,split(substr(odue_sts24),1,12),'0')
from odue_sts
cust_id | data_dt | odue_sts24 | _c3 |
---|---|---|---|
112 | 2021-12-31 | 432100100032100001110000 | [“4321”,“”,“1”,“”,“”,“32”] |
113 | 2021-12-31 | 00000000 |
更多推荐
计算连续逾期最长月份数的一种HIVE SQL 方法
发布评论