BigQuery не может создавать представление с помощью таблиц union, содержащих поля TIMESTAMP

Я хочу создать представление, объединяющее несколько ежедневных таблиц с одинаковой схемой. Создание представления не выполняется во всех полях TIMESTAMP со следующей ошибкой:

Неверное имя поля "the_field.usec". Поля должны содержать только буквы, цифры и символы подчеркивания, начинаются с буквы или подчеркивания, и длиной не более 128 символов

Обратите внимание, что исходное поле не содержит суффикса .usec.

Обходной путь состоит в том, чтобы обернуть все поля TIMESTAMP функцией FORMAT_UTC_USEC(), но тогда поле больше не является TIMESTAMP, оно становится INTEGER.

Ответ 1

Вам нужно написать как:

select FORMAT_UTC_USEC(timestamp) as timestamp ...

Также вам нужно снять ссылки на вложенные поля типа записей для просмотров:

SELECT utm.campaign as utm_campaign ...

Ответ 2

Я рад сказать, что эта давняя проблема исправлена, и вы можете создавать произвольные представления, содержащие таблицы с полями TIMESTAMP (включая union, join и т.д.).