refactor(modeling): улучшены учебные материалы DWH по результатам ревью
- Зачем: - убрать путаницу, дублирование и неточности в демо-скриптах и домашке - Что: - CSV: заголовок load_ts → _load_ts во всех файлах (совпадает с именем в таблицах) - домашка: убраны оговорки о расхождении load_ts/_load_ts, добавлена ссылка на эталонное решение - 09_dml_hw_customer_status_solution.sql: эталонное решение скопировано из ветки solution/hw_customer_status в основную - 02_dml: добавлена карта загрузки в шапку (что откуда строится) - 05_ddl_dm + 06_dml_dm: total_orders → total_line_items (название точнее отражает содержимое) - Проверка: - визуальная проверка diff, скрипты не запускались (демо-стенд не поднят) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -33,14 +33,14 @@ GROUP BY d.date_actual, p.product_name,
|
||||
-- Считаем суммы по всей истории его покупок
|
||||
INSERT INTO dm.mart_customer_360 (
|
||||
customer_bk, first_order_date, last_order_date,
|
||||
total_orders, total_items, lifetime_value,
|
||||
total_line_items, total_items, lifetime_value,
|
||||
last_email, last_city
|
||||
)
|
||||
SELECT
|
||||
c.customer_bk,
|
||||
MIN(d.date_actual) AS first_order_date,
|
||||
MAX(d.date_actual) AS last_order_date,
|
||||
COUNT(DISTINCT f.sale_id) AS total_orders, -- считаем строки факта (продажи), не бизнес-заказы
|
||||
COUNT(DISTINCT f.sale_id) AS total_line_items, -- строки факта (позиции продаж), не бизнес-заказы
|
||||
SUM(f.quantity) AS total_items,
|
||||
SUM(f.amount) AS lifetime_value,
|
||||
-- Берём самый свежий email и город клиента
|
||||
|
||||
Reference in New Issue
Block a user