Я использую BigQuery для создания отчетов Google Analytics. Я хотел бы создать представление с общим количеством просмотров страниц и общим количеством просмотров страниц за последние 30 дней для каждой имеющейся у меня "страницы". Я могу успешно сделать это для одной страницы, но я получаю ошибки, когда я пробую все страницы одновременно. Я понимаю, почему, но я не уверен, что смогу, и как это сделать для всех моих страниц в одном запросе.
Вот запрос, который я использую для извлечения данных для одной страницы:
SELECT
(SELECT (SELECT sum(pageviews)
FROM `centiva_ga_stats_page_views.report`
WHERE pagepath LIKE '%28848290%')) as pages_views_all_time,
(SELECT (SELECT sum(pageviews)
FROM `centiva_ga_stats_page_views.report`
WHERE pagepath LIKE '%28848290%'
AND date > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -30 DAY))) as page_views_30_days
Когда я продолжаю жестко кодировать свой page id
запрос, он запускается, но, очевидно, генерирует одинаковые результаты для всех разных страниц, используя этот запрос:
SELECT ins.NO_INSCRIPTION,
(SELECT (SELECT sum(pageviews)
FROM `centiva_ga_stats_page_views.report`
WHERE pagepath LIKE '%28848290%')) as pages_views_all_time,
(SELECT (SELECT sum(pageviews)
FROM `centiva_ga_stats_page_views.report`
WHERE pagepath LIKE '%28848290%' AND date > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -30 DAY))) as page_views_30_days
FROM staging_remaxlist.Inscriptions ins
Я пытался использовать CONCAT('%',ins.NO_INSCRIPTION,'%')
для замены моего закодированного подстановочного знака page id
, но я получаю эту ошибку:
LEFT OUTER JOIN не может использоваться без условия, которое является равенством полей с обеих сторон объединения. **
Я вроде понимаю, почему, но у меня нет решения заставить мой запрос работать.
Поле pagepath
содержит мой page id
, но может быть любым (без стандартного формата)
Любая помощь приветствуется, спасибо!
Вот моя упрощенная схема базы данных:
Таблица staging_remaxlist. Надписи
Field Type
id INTEGER
no_inscription STRING
Таблица centiva_ga_stats_page_views.report
Field Type
date TIMESTAMP
start_date TIMESTAMP
end_date TIMESTAMP
pagepath STRING
pageviews INTEGER
Примеры centiva_ga_stats_page_views.report.pagepath
:
/en/house-for-sale-laurentides/350-rue-de-lucerne-ste-adele-17269832.rmx
/en/propertyview/12616898
/en/our-properties/gatineau-gatineau/181-rue-duquette-o/12078284
/fr/showproperty/18726771
/wp-content/plugins/hydrogene-wp/public/cache/16543327fr.html
/Properties/enhanceddetails/4e04ec20-M11699403?language=FR
все, что может содержать поле staging_remaxlist.Inscriptions.NO_INSCRIPTION
, являющееся целым числом в диапазоне от 7 до 8 (мы должны ожидать, что оно достигнет 9) символов