два решения, которые я вижу:
1) Объединение шардинга таблиц (в год) с временным разделением на основе вашего столбца.Я никогда не проверял это сам, но это должно работать, поскольку каждый осколок рассматривается как новая таблица в BQ.При этом вы можете легко обращаться к осколку и разделу с помощью одного подстановочного знака / переменной.
2) Хороший обходной путь - создать дополнительный столбец с полем даты вашего поля, который следует разбить.Для каждой записи данных более 9 лет назад (например: DATE_DIFF (current_date (), DATE ('2009-01-01'), YEAR)) отформатируйте дату в 1-е число конкретного месяца.
Счто вы можете создавать данные за 29 лет.
Имейте в виду, что вы не можете фильтровать на основе этого столбца с фильтром даты, например, в DataStudio.Но для запроса это работает.
Лучший Томас