Tableau 优课堂 | 第67课:用 LOD 表达式查询复购订单

published: 2023-08-09

欢迎观看由优阅达制作的【优课堂】系列视频。本节课,我们来学习:用 LOD 表达式查询复购订单。


在日常分析,我们常常会遇到的一个需求是:确定第二次事件发生的日期。例如,客户进行复购,学生第二次缺席等等。

在 Tableau 中,这个需求可以使用 LOD 表达式实现。

关于 LOD 表达式的详细介绍,可点击查看Tableau 优课堂 | 第61课:LOD 表达式概念主题


前言:分解业务问题

在本节课程中,我们希望回答一个问题:在首次购买后的 6 个月内,有多少客户复购了?为了更好地获取分析见解,先将这个问题分解成几个组成部分:

  • 首先,需要知道首次购买的订单日期。

  • 其次,需要知道复购的订单日期。

  • 再次,需要确定复购日期是否在首次购买后的6个月内。

  • 最后,需要确定满足条件的客户的百分比。


Step1:计算出“首次购买日期”

先使用 LOD 表达式,确定首次购买日期。对于每一个客户,都需要找到最早的订单日期。

或者,用 LOD 语法解释就是,固定到客户 ID 的详细级别,查找到他们的订单日期最小值。

右键单击“数据”窗格空白处,选择“创建计算字段”。

将计算命名为“首次购买日期”,公式如下:{FIXED [客户 Id]:MIN([订单日期])}

将此计算字段拖入到行中。右键将其设置为精确日期,并更改为离散。

现在,可以看到视图中已经呈现了每个客户的首次购买日期。这正是我们想要的。


Step2:计算出“复购日期”

第二步需要做的是:查看每个客户每次下单的日期,并确定它是否发生在首次购买日期之后,还得确认它们是否为最早的日期。

所以,先来创建一个新的计算字段,来判断订单日期是否大于首次购买日期?如果是的话,则返回日期值。这样我们就可以继续使用这个值。

IF [订单日期] >[首次购买日期] THEN [订单日期] END

上述公式的结果,将返回首次购买日期之后所有的订单日期。

但是,这里只需要返回最早的日期(复购时间),所以上述公式需要用最小值(MIN 函数)括起来。

MIN(IF [订单日期] >[首次购买日期] THEN [订单日期] END )

粒度还要更细,因为要找出每个客户的复购时间。这时,LOD 表达式就能发挥作用了。

如何算出每个客户复购日期的最小值,需要根据维度“客户 ID”字段来确定。

{ FIXED [客户 Id] : MIN(IF [订单日期] >[首次购买日期] THEN [订单日期] END ) }

将此计算命名为 “第二次购买日期”,并将其显示在视图中。注意,确保已右键将此胶囊设置为精确日期,且是离散的。

从视图可以看到:对于已复购的客户,每行都呈现了复购订单日期。


Step3:比较日期和复购情况

每个客户的首购和复购日期已经算出来了,但还需考虑首购后有多少客户在 6 个月内复购了。

为了解决这个问题,接下来需要比较这 2 个日期。

创建一个计算字段,将其命名为 “首次与复购时间间隔”。为了找出两个日期之间的间隔,这里使用 DATEDIFF 函数。

首先,需要告诉 Tableau 我们希望按照什么时间粒度来查看,是“年”、“月”还是“天”?在此处,我们选择“月”(记得加英文引号,并且month要小写)。

键入英文逗号,拖入“首次购买日期”字段作为起始时间,再加一个逗号,再拖入 “第二次购买日期” 字段作为结束时间,关闭括号。

DATEDIFF (‘month’, [首次购买日期] , [第二次购买日期] )

如果将创建好的 “首次与复购时间间隔” 字段拖入列中,将看到许多客户在 6 个月之外的时间内也有复购行为。但这只是数据的一小部分,所以我们继续。

接下来,创建一个计算来看看客户复购的情况:他们复购了吗?是否在 6 个月内复购?还是超过 6 个月?

创建一个计算字段,将其命名为 “复购判断” ,然后输入:

IF [首次与复购时间间隔]>6 THEN '6个月之外复购'

ELSEIF [首次与复购时间间隔]<=6 THEN '6个月之内复购'

ELSE '无复购' END

将这个计算字段拖入行中,可以看到视图中已正确显示了我们要求的日期值。

所有计算元素都准备好了。最后,我们来看看,如何求出 6 个月内复购的客户百分比。


Step4:最终分析

创建新的工作表,将 “复购判断” 字段拖入行中, “客户 ID” 字段拖入列中,然后右键单击“客户 ID” 字段,选择“度量”-“计数(不同)”。

现在,我们看到的是不同间隔分别有多少客户的视图。

然后,右键单击 “客户 ID” 胶囊,在下拉菜单中选择“快速表计算”-“合计百分比”。

单击“标记”卡中的标签,勾选“显示标记标签”。

现在,可以看到视图呈现的分析结果:有 47.85 % 的客户在 6 个月内复购了,没有复购的客户1.27% !还不错。



以上就是关于「用 LOD 表达式查询复购订单」的全部内容。感谢观看本视频,更多 Tableau 学习资源,请关注微信公众号“优阅达大数据生态”。


更多相关信息,请访问专题页: Tableau使用入门教程