Spaces:
Sleeping
Sleeping
| #!/usr/bin/env Rscript | |
| suppressPackageStartupMessages({ library(RPostgres); library(DBI) }) | |
| # Запускать из этой папки: cd scripts/analytics && Rscript topic_distribution.R | |
| source("db_connect.R") | |
| con <- zabota_connect() | |
| cat("=== chat_dialog_topic coverage for ОРК, last 30d ===\n") | |
| print(dbGetQuery(con, " | |
| SELECT COUNT(*) AS topic_rows, MIN(t.dialog_id) AS min_id, MAX(t.dialog_id) AS max_id | |
| FROM chat_dialog_topic t | |
| JOIN mv_chat_dialog_features f ON f.dialog_id = t.dialog_id | |
| WHERE f.created_at >= now() - INTERVAL '30 days' | |
| AND BTRIM(f.first_manager_dept) LIKE 'Отдел по работе с клиентами%'")) | |
| cat("\n=== columns of chat_dialog_topic ===\n") | |
| print(dbGetQuery(con, "SELECT column_name, data_type FROM information_schema.columns WHERE table_name='chat_dialog_topic' ORDER BY ordinal_position")) | |
| cat("\n=== topic distribution ОРК last 30d ===\n") | |
| print(dbGetQuery(con, " | |
| SELECT t.topic_name, COUNT(*) AS n | |
| FROM chat_dialog_topic t | |
| JOIN mv_chat_dialog_features f ON f.dialog_id = t.dialog_id | |
| WHERE f.created_at >= now() - INTERVAL '30 days' | |
| AND BTRIM(f.first_manager_dept) LIKE 'Отдел по работе с клиентами%' | |
| GROUP BY 1 ORDER BY 2 DESC LIMIT 60"), max = 400) | |
| dbDisconnect(con) | |