持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情
本文继续介绍交易流水统计的应用,前两篇文章已经介绍了大致的设计思路以及这个明细表,汇总数据表应该如何设计。也有详细介绍到金额统计的字段该怎么获取和累加,下面介绍一下这个签约量的计算,首先要根据业务的说明,如何统计这个签约量和退签约量,比如第一次签约记1,后退签约是否就不计,再次重新签约是否重新记1。或者针对一个客户,不管签约多少次,都是记1,退签也是记一次-1,那么根据第二种情况现在设计一下签约总量和退签约总量。首先已经有签约的明细表,数据格式是客户id,首次签约时间,二次签约时间,n次签约时间,退签约时间。
那么我们根据首次签约不为空,退签时间为空,则签约量记为1,将所有的这样的客户id都记为1后用count加起来,另外统计退签约就是首次签约不为空,退签约不为空,则将签约量记为1,将所有这样的客户id都记为1后相加就是退签量,并且按照退签日期和签约日期所在的月份进行分组统计,获得月报表数据即可。
这一层需要在明细表中进行,需要对归属到签约的数据进行标记,以及退签约的数据进行标记,以便后续的汇总表中进行轻松的统计。
下面简单写一下如何判断是否是退签约和是否属于签约的标签怎么打上去的。
select
if (sign_time<>'' and sign_time is not null ,1,0) as is_sign -- 标记一下是否属于正式签约的数据,1 就是属于签订合同,0是不属于签订合同
,if (sign_time<>'' and refund_sign_time is not null ,1,0) as is_refund_sign -- 标记一下是否属于退签约的数据,1表示是退签约,0表示不属于退签约
,sign_time -- 记录的签约时间
,refund_sign_time -- 记录的退签约时间
from test.table_order_test