我对Big Query中的SQL很陌生。我正在尝试根据他们的order_id和date_start预测客户状态。
规则
customer_status对于相同的order_id必须相同
必须根据下一个Order_ID(交易)或上一个Order_ID来预测客户状态]
这是我的代码
select week_start, t.account_id, t.order_id, date_start,date_ended, from unnest(generate_date_array(date('2018-12-31'), date('2019-2-11'), interval 1 week) ) week_start cross join (select distinct account_id from t ) a left join t on t.account_id = a.account_id and t.reporting_week_start_date = week_start order by a.account_id,week_start
我的代码输出
week_start | account_id | order_id | date_start | date_ended | 2018-12-31 | 1 | 1001 | 2019-01-01 | 2019-01-15 | 2019-01-07 | 1 | 1001 | 2019-01-01 | 2019-01-15 | 2019-01-14 | 1 | 1002 | 2019-01-15 | 2019-01-27 | 2019-01-21 | 1 | 1002 | 2019-01-15 | 2019-01-27 | 2019-01-28 | 1 | 1003 | 2019-01-29 | 2019-02-04 |
期望输出
week_start | account_id | order_id | date_start | date_ended | Customer_Status 2018-12-31 | 1 | 1001 | 2019-01-01 | 2019-01-15 | First Time 2019-01-07 | 1 | 1001 | 2019-01-01 | 2019-01-15 | First Time 2019-01-14 | 1 | 1002 | 2019-01-15 | 2019-01-27 | Recurring 2019-01-21 | 1 | 1002 | 2019-01-15 | 2019-01-27 | Recurring 2019-01-28 | 1 | 1003 | 2019-01-29 | 2019-02-04 | Churned
我该如何在Big Query SQL中执行此操作?谢谢。
我对Big Query中的SQL很陌生。我正在尝试根据他们的order_id和date_start预测客户状态。相同的order_id的规则customer_status必须相同。customer_status必须...
[分析完您的案例后,我弄清楚了可用于对客户进行分类的规则。因为您要在BigQuery上对每个客户进行分类,所以所有规则都是硬编码的。