1. 概述
在处理数据的时候,希望能计算出上一行日期和下一行日期的时间差。查看订单发生日期间隔,然后进一步分析数据。
示例数据:订单表.xlsx
2. 操作步骤
2.1 日期排序
上传示例数据,并对日期进行排序。如下图所示:
2.2 求日期排名
由于一天可能有多个订单。因此需要新增列「1」。如下图所示:
对新增列「1」求累计,得到每一行都有一个不同的排名。如下图所示:
2.3 求每个签单日期上一行日期
使用 earlier 函数实现日期错行,但首先要把签单日期转为数值格式。如下图所示:
对「签单日期-时间戳」按排名进行计算,用 EARLIER 实现错行。如下图所示:
「上一行值」=DEF(SUM_AGG(签单日期-时间戳),排名,排名+1=EARLIER(排名))
然后将上一行日期的时间戳转化为「日期」格式。第一个发生订单日期没有数据,因此使用 IF 函数判断是否为空,对不为空的行进行转换。如下图所示:
「上一行日期」=IF(上一行值=null,null,TODATE(上一行值))
2.4 计算日期差
使用 DATEIF 函数即可「上一行日期」与「订单日期」的日期差。同样用 IF 函数判断一下,避免空值参与计算。如下图所示:
「与上一次订单相比时间差」=IF(上一行值=null,null,DATEDIF(上一行日期,签单日期,"d"))
2.5 效果查看
在组件中即可对订单发生的不同时间差进行分组并求占比。
1)先将「与上一次订单相比时间差」字段复制并「转化为维度」。
2)将其拖入分析区域并进行「区间分组设置」。如下图所示:
3)拖入「记录数」并求「占比。查看订单在不同日期区间内占比情况。
4)点击「饼图」。查看数据情况。如下图所示: