将多行合并为 1 个事务数据

Merge multiple rows into 1 transactional data

在这方面需要你的帮助给我建议 :)。

我想创建一个交易数据集。 这是我的初始数据集

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

我想将上面的 table 修改为这样的交易数据集。 它将显示从第一次访问到购买的用户旅程(假设 user_id 123 次来自附属公司的访问,然后是 Price Comp 和 Direct(最终购买)。

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

你们知道并告诉我怎样才能进入第二个table吗?

提前致谢:)

考虑使用 STRING_AGG:

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