Может быть, это уже решает за вас:
SELECT
*
FROM (
SELECT
*,
RANK () OVER (PARTITION BY gregoriandate ORDER BY _sdc_report_datetime DESC) AS rank_
FROM hf_bing.campaign_performance_report
)
WHERE rank_ = 1
Когда вы используете WHERE latest.rank = 1
, на самом деле нет поля с именем rank
в latest
, что приводит к полученной вами ошибке.В основном я использовал псевдоним для поля, поэтому теперь BigQuery точно знает, на какое поле ссылаются.