SQL生成助手

SELECT bot是一款通过自然语言生成SQL查询并返回Excel结果的数据分析助手,适用于Hero's Journey数据平台。

  • by Daulet151
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Daulet151/hj-mcp-server

使用说明

Документация витрины данных Hero's Journey

🤖 О SELECT Боте

SELECT бот AI Data Analyst — это интеллектуальный помощник для работы с данными Hero's Journey через естественный язык. Бот автоматически генерирует SQL-запросы и возвращает результаты в виде Excel-файлов прямо в Slack.

Как использовать SELECT бот

1️⃣ Отправьте запрос на естественном языке в Slack

Просто напишите свой вопрос в канале, где подключен бот:

Примеры запросов:

2️⃣ Получите результаты

Бот автоматически:

  • ✅ Сгенерирует SQL-запрос и покажет его вам
  • ✅ Выполнит запрос к базе данных
  • ✅ Создаст Excel-файл с результатами
  • ✅ Отправит файл в ваш канал Slack

3️⃣ Советы для лучших результатов

✅ DO (Делайте так):

  • Используйте конкретные временные рамки: "за последнюю неделю", "в ближайшие 7 дней"
  • Указывайте что именно хотите видеть: "покажи имя, email и дату окончания"
  • Используйте бизнес-термины: "абонемент", "триальщик", "хиропасс", "марафон"
  • Запрашивайте только нужные данные для быстрого ответа

❌ DON'T (Не делайте так):

  • Не просите изменить/удалить данные (бот работает только с SELECT)
  • Не используйте слишком расплывчатые запросы: "покажи все"
  • Не запрашивайте данные из таблиц, которых нет в системе

📚 Доступные таблицы и данные

SELECT бот имеет доступ к следующим таблицам:

👥 Пользователи и абонементы

  • userheropass — информация о пользователях и их абонементах (HeroPass)
    • Поля: имя, email, телефон, тип абонемента, даты начала/окончания, статус

🏃 Марафоны и программы

  • usermarathonevent — участие пользователей в марафонах
    • Марафоны: Hero's Week, Basecamp, Первый Шаг
    • Поля: название марафона, статус прохождения, даты

📅 Бронирования

  • booking — записи на тренировки
    • Поля: статус, тип, дата записи, первое занятие

💰 Платежи

  • userpayment — платежи за услуги
    • Поля: сумма, способ оплаты, клуб, скидка, статус

✅ Посещения

  • usercheckin — чекины на тренировки
    • Поля: дата посещения, оценка, гостевое посещение

🔔 Уведомления

  • notifications — история отправленных уведомлений
    • Поля: канал, получатели, тип, статус доставки

🎯 Готовые примеры запросов

"Покажи всех пользователей, у которых заканчивается абонемент в ближайшие 7 дней":

""" SELECT "user", firstname, lastname, email, hp_name, hp_endtime FROM olap_schema.userheropass WHERE hp_endtime BETWEEN NOW() AND NOW() + INTERVAL '7 days' AND status = 'active' ORDER BY hp_endtime; """