Вы можете использовать динамические диапазоны дат вместо фиксированных дат с помощью TABLE_DATE_RANGE
, поэтому вам не нужно редактировать запрос, чтобы в отчете отображалась актуальная информация.Вот пример в LegacySQL, который показывает данные за последние 7 дней:
FROM (TABLE_DATE_RANGE([analytics.order_attribution_],
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))
Вы также можете связать два вместе, чтобы получить только те недели, которые вам нужны, по сравнению с прошлым годом.
Есливы бы хотели изменить свой квест на StandardSQL, вы могли бы сделать это следующим образом: я потяну две недели, одну с прошлой недели, а другую за прошлый год:
SELECT *
FROM `analytics.order_attribution_*`
WHERE parse_DATE('%y%m%d', _table_suffix)
BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY) OR parse_DATE('%y%m%d', _table_suffix)
BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 372 DAY) AND DATE_SUB(CURRENT_DATE(), INTERVAL 366 DAY)