计算购买间隔是一个常用的业务场景,在Tableau Desktop中可以使用表计算来完成。但是如果希望对购买间隔进一步进行分析,使用表计算的结果可能就无法完成。因此,最好的方式应该是在数据源中进行ETL处理。
我们使用Tableau Prep来完成这一过程。数据源使用超市数据,为了保证数据足够简单,便于理解,我们对数据进行简单的处理。
- 导入超市数据
- 通过清理步骤,只保留两个客户
- 通过聚合步骤,将订单数据聚合
最后在“订单”步骤,得到一个简单的数据集。数据中只有赵强(3笔订单)、白丽(4笔订单)两位客户。
下面,我们需要将每个用户的每笔订单先按照日期排序,然后逐一计算两行日期之间的差异,但是行与行之间是无法进行这种差异计算的。
所以需要转变思路,将后一行的数据,与前一个行的数据组合到一起,变成一行,才能计算两个日期字段的差异。
- 新增一个清理步骤,增加计算字段“日期排序”。使用PARTITION和ORDERBY函数,根据“客户ID”对“订单日期”进行分组排序,得到每个订单的顺序号。
- 再新增一个清理步骤,增加计算字段“日期排序-1”。将每个订单序号减1。
- 将两个清理步骤进行左联接。
联接条件如下图:
- 增加一个清理步骤查看数据。我们看到通过这样的操作,就可以将两行数据的日期合并到一行。
- 最后新建计算,计算购买间隔。
网友评论