Если вы хотите сгруппировать каждое количество дат для каждого Account_ID
и Order_ID
, я думаю, этот запрос может помочь вам получить то, что вы хотите.
Чтобы протестировать запрос, сначала я создаю новый Таблица с данными, подобными вашей:
CREATE TABLE `project.dataset.reporting_week` (
`Account_ID` STRING,
`Order_ID` STRING,
`Reporting_week_start_date` DATE);
INSERT INTO `project.dataset.reporting_week` VALUES
('001', '1001', PARSE_DATE('%Y/%m/%d', '2018/12/31')),
('001', '1001', PARSE_DATE('%Y/%m/%d', '2019/01/07')),
('001', '1001', PARSE_DATE('%Y/%m/%d', '2019/01/14')),
('001', '1001', PARSE_DATE('%Y/%m/%d', '2019/01/21')),
('001', '1002', PARSE_DATE('%Y/%m/%d', '2019/01/28')),
('001', '1002', PARSE_DATE('%Y/%m/%d', '2019/02/04')),
('001', '1002', PARSE_DATE('%Y/%m/%d', '2019/02/11')),
('001', '1002', PARSE_DATE('%Y/%m/%d', '2019/02/18')),
('001', '1003', PARSE_DATE('%Y/%m/%d', '2019/02/25')),
('001', '1003', PARSE_DATE('%Y/%m/%d', '2019/03/04')),
('001', '1003', PARSE_DATE('%Y/%m/%d', '2019/03/11')),
('001', '1003', PARSE_DATE('%Y/%m/%d', '2019/03/18')),
('002', '1004', PARSE_DATE('%Y/%m/%d', '2018/12/31')),
('002', '1004', PARSE_DATE('%Y/%m/%d', '2019/01/07')),
('002', '1004', PARSE_DATE('%Y/%m/%d', '2019/01/14')),
('002', '1004', PARSE_DATE('%Y/%m/%d', '2019/01/21')),
('002', '1005', PARSE_DATE('%Y/%m/%d', '2019/01/28')),
('002', '1005', PARSE_DATE('%Y/%m/%d', '2019/02/04')),
('002', '1005', PARSE_DATE('%Y/%m/%d', '2019/02/11')),
('002', '1005', PARSE_DATE('%Y/%m/%d', '2019/02/18')),
('002', '1006', PARSE_DATE('%Y/%m/%d', '2019/02/25')),
('002', '1006', PARSE_DATE('%Y/%m/%d', '2019/03/04')),
('002', '1006', PARSE_DATE('%Y/%m/%d', '2019/03/11')),
('002', '1006', PARSE_DATE('%Y/%m/%d', '2019/03/18'))
Поэтому мы можем запустить запрос и создать новую таблицу из таблицы выше
CREATE TABLE `project.dataset.reporting_week2` AS
SELECT new_account, new_order, ARRAY(SELECT Reporting_week_start_date FROM
`project.dataset.reporting_week` WHERE Account_ID = new_account and Order_ID =
new_order ) as DATES
FROM (SELECT distinct account_id as new_account, new_order FROM
`project.dataset.reporting_week`, (SELECT distinct order_id as new_order FROM
`project.dataset.reporting_week`)
where order_id = new_order)
Вывод будет выглядеть примерно так: