Мне нужно создать таблицу, как показано ниже, с агрегированием по способу оплаты, где я могу увидеть сводку комбинаций услуг, использованных за один день. В этом случае комбинации (A, B) в service_type будут такими же, как (B, A), а (A, A, C) будут такими же, как (A, C). Мне нужно использовать BigQuery, и я не знаю, как сгенерировать все комбинации для service_type без их ручной распечатки. no_of_service - это количество сервисов, сгруппированных в service_type, а total_orders - количество уникальных customer_ids, которые приобрели эту конкретную комбинацию заказов в эту дату.
order_date no_of_service service_type total_orders order_payment
2018-04-03 1 A 5 CASH
2018-04-03 1 B 4 CASH
2018-04-03 1 C 1 CASH
2018-04-03 1 D 10 CASH
2018-04-03 1 E 5 CASH
2018-04-03 3 A,C,D 10 CREDIT
2018-04-03 3 B,D,E 5 CREDIT
2018-04-02 1 A 8 CREDIT
2018-04-02 1 C 7 CREDIT
Таблица daily_order, из которой я запрашиваю, содержит столбцы order_payment (CASH, CREDIT и т. Д.), service_type (A, B, C и т. Д.), customer_id (уникальное значение для каждого клиента) и order_time (например, 2018-04-06 15:06:26 UTC). Это выглядит так:
order payment service_type customer_id order_time
CASH A 58128 2018-04-06 15:06:26 UTC
CREDIT B 58256 2018-04-06 15:08:34 UTC