我有我要分析的采购数据。我试图为每个用户找到第二次和第三次购买(可能还有4次、5次等)。
我目前掌握的数据如下:
email, first_purchase_date, processed_date, sku, first_order
abc@email.com 6/1/2019 6/1/2019 HG1555 HG1555
abc@email.com 6/1/2019 8/1/2019 RF2655 HG1555
abc@email.com 6/1/2019 8/1/2019 FP7789 HG1555
abc@email.com 6/1/2019 11/1/2019 RF2655 HG1555
def@email.com 7/1/2019 7/1/2019 RF2655 RF2655
def@email.com 7/1/2019 8/1/2019 HG1555 RF2655
def@email.com 7/1/2019 8/1/2019 FP7789 RF2655
xyz@email.com 9/1/2019 6/1/2019 HG1555 HG1555
xyz@email.com 9/1/2019 11/1/2019 FP7789 HG1555
“第一个订单”列查看客户购买的第一个篮子中的内容。有没有一种方法可以让我创建另一个列,告诉我每个商品的采购编号?理想情况下,该表如下所示:
email, first_purchase_date, processed_date, sku, first_order, order number
abc@email.com 6/1/2019 6/1/2019 HG1555 HG1555 1
abc@email.com 6/1/2019 8/1/2019 RF2655 HG1555 2
abc@email.com 6/1/2019 8/1/2019 FP7789 HG1555 2
abc@email.com 6/1/2019 11/1/2019 RF2655 HG1555 3
def@email.com 7/1/2019 7/1/2019 RF2655 RF2655 1
def@email.com 7/1/2019 8/1/2019 HG1555 RF2655 2
def@email.com 7/1/2019 8/1/2019 FP7789 RF2655 2
xyz@email.com 9/1/2019 6/1/2019 HG1555 HG1555 1
xyz@email.com 9/1/2019 11/1/2019 FP7789 HG1555 2
基本上,我想查看每封电子邮件,并确定相对于注册给该用户的所有其他处理日期,处理日期落在哪里。我试图解决的问题是,当一个特定的处理日期有多个行项目时。
2条答案
按热度按时间nqwrtyyt1#
下面是bigquery标准sql的示例,并假设processed\u date列是日期类型
如果处理日期是一个字符串-您可以使用下面的
l3zydbqr2#
这听起来像
dense_rank()
: