Исключение: Unknown table expression identifier 'megastroy_logs.mv_search_analytics_v3' in scope query_analysis AS (SELECT selected_category_id_str, sum(searches_count) AS searches, sum(product_views_from_search_count) AS views, sum(good_feedback_count) AS good_feedback, sum(bad_feedback_count) AS bad_feedback, round(if(sum(searches_count) > 0, (sum(product_views_from_search_count) * 100.) \/ sum(searches_count), 0), 2) AS view_rate, round(if(sum(searches_count) > 0, (sum(good_feedback_count) * 100.) \/ sum(searches_count), 0), 2) AS good_rate, round(if(sum(searches_count) > 0, (sum(bad_feedback_count) * 100.) \/ sum(searches_count), 0), 2) AS bad_rate, (sum(product_views_from_search_count) + (sum(good_feedback_count) * 2)) - (sum(bad_feedback_count) * 3) AS quality_score FROM megastroy_logs.mv_search_analytics_v3 WHERE (query_raw = 'бионорд') AND (event_date >= (today() - toIntervalDay(30))) GROUP BY selected_category_id_str HAVING searches >= 5). (UNKNOWN_TABLE)
IN:WITH query_analysis AS (
SELECT
selected_category_id_str,
sum(searches_count) as searches,
sum(product_views_from_search_count) as views,
sum(good_feedback_count) as good_feedback,
sum(bad_feedback_count) as bad_feedback,
round(if(sum(searches_count) > 0,
sum(product_views_from_search_count) * 100.0 / sum(searches_count), 0), 2) as view_rate,
round(if(sum(searches_count) > 0,
sum(good_feedback_count) * 100.0 / sum(searches_count), 0), 2) as good_rate,
round(if(sum(searches_count) > 0,
sum(bad_feedback_count) * 100.0 / sum(searches_count), 0), 2) as bad_rate,
(sum(product_views_from_search_count) + sum(good_feedback_count) * 2) - sum(bad_feedback_count) * 3 as quality_score
FROM megastroy_logs.mv_search_analytics_v3
WHERE query_raw = 'бионорд'
AND event_date >= today() - INTERVAL 30 DAY
GROUP BY selected_category_id_str
HAVING searches >= 5
),
best_category AS (
SELECT * FROM query_analysis
WHERE selected_category_id_str != '0'
ORDER BY quality_score DESC, view_rate DESC
LIMIT 1
),
no_category AS (
SELECT * FROM query_analysis
WHERE selected_category_id_str = '0'
)
SELECT
CASE
WHEN bc.quality_score > nc.quality_score AND bc.view_rate > nc.view_rate
THEN bc.selected_category_id_str
ELSE '0'
END as recommended_category_id,
CASE
WHEN bc.quality_score > nc.quality_score AND bc.view_rate > nc.view_rate THEN
CASE
WHEN (bc.view_rate - nc.view_rate) >= 20 THEN 'HIGH'
WHEN (bc.view_rate - nc.view_rate) >= 5 THEN 'MEDIUM'
ELSE 'LOW'
END
ELSE 'NO_IMPROVEMENT'
END as confidence_level,
coalesce(nc.view_rate, 0) as current_conversion,
coalesce(bc.view_rate, 0) as target_conversion,
coalesce(bc.view_rate - nc.view_rate, 0) as improvement_percent,
coalesce(bc.searches, 0) as category_searches,
coalesce(nc.searches, 0) as no_category_searches,
coalesce(bc.good_feedback, 0) as category_good_feedback,
coalesce(nc.bad_feedback, 0) as no_category_bad_feedback
FROM best_category bc
FULL OUTER JOIN no_category nc ON 1=1 FORMAT JSON
Файл , строка
Выброшено исключение