在数据分析中,日期维表的作用有多重要,无需赘言。
日期维表通常不会在OLTP库存在,所以需要数据分析师生成。日期维表的生成方式非常多,只要是程序语言,都能生成。本文,笔者将使用Mysql来生成自然日期(date_type=NA)的日和周维度数据。
一、维表结构
每个公司的业务周期有各自特点,可个性化定义维度列。
笔者定义date_type='NA'为自然日期,周期字段,业务特点的日期类型。
二、维表数据示例
数据是根据需要生成的,自己完全可定义维度的业务逻辑进行实现。
三、维表生成
1、先生成rt=D的每日数据
这样rt=D的数据已经实现,就可入库到维表mi_map_date。这是一次性实现全部维度字段,sql很长。应该会有更好的方式实现,是的,可以部分列入库后再update实现,逻辑也很清晰。后续有新增维度列时,也是用update来实现。
2、再生成rt=W的周数据
下面我们就用update方法来实现rt=W。
第一步可以基于rt=D的数据,进行选择快速生成,就不用像rt=D那样生成初始数据。
第二步,update后续维度字段。
其他维度字段实现,以及W\M\Q等更多周期的数据,本文不再赘述呈现,有需要请关注公众号,发送消息“日期维表”获取。
上述实现的是date_type='NA'自然日期,还有HFW业务周期的,只需要把开始日期调整,也很容易实现。
四、日期维表的使用