将多行合并为1个交易数据

时间:2020-10-22 08:51:04

标签: google-bigquery apriori

需要您的帮助来建议我这个问题:)。

我想创建一个事务数据集。 这是我的初始数据集

user_id    date_key    channel      order_id
123        1 sep       Affiliates   -
123        2 sep       Price Comp   -
123        3 sep       Direct       12342213
435        2 sep       Organic      -
435        7 sep       Direct       45485485

我想将上面的表修改成这样的事务数据集。 它将显示用户从首次访问到购买的过程(假设从会员访问user_id 123,然后进行价格比较和直接购买(结束购买)。

user_id    channel_journey                   order_id
123        Affiliates - Price Comp - Direct  12342213
435        Organic - Direct                  45485485

你们知道并建议我如何进入第二张桌子吗?

预先感谢:)

1 个答案:

答案 0 :(得分:1)

考虑使用STRING_AGG

SELECT user_id, STRING_AGG(channel, ' - ' ORDER BY date_key), MAX(order_id)
FROM `dataset.table`
GROUP BY user_id