Создание сводной таблицы BigQuery, объединяющей несколько значений в одну строку - PullRequest
0 голосов
/ 18 марта 2019

Мне нужно создать таблицу, как показано ниже, с агрегированием по способу оплаты, где я могу увидеть сводку комбинаций услуг, использованных за один день. В этом случае комбинации (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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...