Я работаю в BigQuery и использую SQL для вычисления среднего количества просмотров рекламы на пользователя на основе уровня их вовлеченности (уровни варьируются от 1 до 5). Ранее я рассчитывал среднее количество дней, в течение которых пользователи были активны, исходя из их уровня вовлеченности, но когда я делаю среднее количество просмотров объявлений на основе уровня вовлеченности, запрос не выполняется. Я предполагаю, что строка для просматриваемых объявлений хранится в виде строки.
Есть ли способ усреднить количество просмотров объявления в списке событий на основе вовлеченности?
Я попытался изменить исходный код, который я использовал, когда извлек «Среднее количество дней», чтобы извлечь «Просмотренные объявления», но это не работает.
Я попытался усреднить (считать (если (ads.viewed, 1,0))), но это тоже не сработает. Я не могу понять, что я делаю неправильно.
Я также проверил этот пост ( Среднее значение SQL для строковых значений ), но, похоже, это не применимо.
SELECT
engagement_level,
COUNT(event="ADSVIEWED") AS AverageAds
Я также пытался:
SELECT
engagement_level,
AVG(IF(event="ADSVIEWED",1,0)) AS AverageAds
Но это тоже не сработало.
В нем должна быть таблица уровня взаимодействия с соответствующим средним значением. Для «Средних дней» это был Уровень вовлеченности: Средние дни (1: 2,45, 2: 3,21, 3: 4,67 и т. Д.). Но это не работает для события ads_viewed.