Не менял ничего

This commit is contained in:
Batirbulat
2025-12-17 19:31:06 +03:00
parent a1421a8fa0
commit 7fb8409941
3 changed files with 472 additions and 10 deletions
+47 -10
View File
@@ -113,14 +113,6 @@ SELECT DISTINCT
enrolled_at::DATE
FROM raw.enrollments;
UPDATE core.enrollments e
SET enrolled_at = lv.viewed_at
FROM raw.lesson_views lv
WHERE lv.user_id = e.user_id;
ALTER TABLE core.enrollments
ALTER COLUMN enrolled_at TYPE TIMESTAMP;
CREATE MATERIALIZED VIEW dm.dm_lesson_popularity_summary AS
SELECT
dl.lesson_id,
@@ -138,8 +130,24 @@ JOIN core.dim_user du ON du.user_id = flv.user_id
GROUP BY dl.lesson_id, dl.title, dc.course_id, dc.title
ORDER BY dl.lesson_id;
select * from dm.dm_lesson_popularity_summary
order by lesson_id;
/*
Цель:
Показать популярность каждого урока.
Поля витрины:
- lesson_id — идентификатор урока
- lesson_title — название урока
- course_id — идентификатор курса
- course_title — название курса
- total_views — общее число просмотров урока
- unique_users — количество уникальных пользователей
- first_view — дата первого просмотра
- last_view — дата последнего просмотра
*/
CREATE MATERIALIZED VIEW dm.dm_inactive_users_summary AS
SELECT
@@ -155,6 +163,20 @@ LEFT JOIN core.fact_lesson_views flv ON flv.user_id = du.user_id
WHERE flv.user_id IS NULL
GROUP BY du.user_id, du.name, du.email, du.age, du.registration_date;
/*
Цель:
Определить невовлечённых пользователей и потенциальный отток.
Поля витрины:
- user_id — идентификатор пользователя
- user_name — имя
- email — почта
- age — возраст
- enrollments_count — количество курсов
- registration_date — дата регистрации
*/
CREATE MATERIALIZED VIEW dm.course_completion_rate AS
SELECT
@@ -178,3 +200,18 @@ LEFT JOIN core.fact_lesson_views flv ON dl.lesson_id = flv.lesson_id
GROUP BY du.user_id, du.name, c.course_id, c.title
ORDER BY du.user_id, c.course_id;
/*
Цель:
Анализировать, насколько пользователи проходят курсы до конца.
Поля витрины:
- user_id — идентификатор пользователя
- user_name — имя пользователя
- course_id — идентификатор курса
- course_title — название курса
- total_lessons — количество уроков в курсе
- lessons_viewed — число просмотренных уроков
- completion_rate — lessons_viewed / total_lessons
*/