Как работает Pro режим аналитики: SQL запросы к данным через ИИ

Стандартный анализ данных в Excel хорош для простых вопросов: “Какова выручка за месяц?” или “Топ-5 товаров”. Но что если вам нужен сложный анализ: “Какие регионы растут быстрее всех в последний квартал, исключая выбросы?” Здесь нужен SQL, но не каждый умеет его писать. Pro режим аналитики решает эту проблему: вы задаёте вопрос на русском, ИИ пишет SQL, и вы получаете точный ответ. Разберёмся, как это работает.

Традиционный анализ vs Pro режим

Традиционный подход (статистический анализ)

Excel файл (продажи):
Дата | Товар | Регион | Сумма
01.01 | A | Москва | 10000
01.01 | B | СПб | 5000
...

Стандартный анализ (Excel):
- Сумма выручки: 1.5M (используется SUM)
- Средняя сумма заказа: 15000 (используется AVERAGE)
- Максимальный заказ: 100000 (используется MAX)
- Самый популярный товар: A (используется MODE или COUNTIF)

Результат: базовая статистика, но нет глубины

Pro режим (SQL агент)

Вопрос: "Какие регионы показали рост выручки 
> 20% в апреле по сравнению с марте? Исключи Москву."

SQL запрос (написан ИИ автоматически):
SELECT 
  march.region,
  SUM(march.amount) as march_total,
  SUM(april.amount) as april_total,
  ROUND(100.0 * (SUM(april.amount) - SUM(march.amount)) / 
        SUM(march.amount), 2) as growth_percent
FROM sales march
JOIN sales april
  ON march.region = april.region
WHERE march.month = 3 AND april.month = 4
  AND march.region != 'Москва'
GROUP BY march.region
HAVING growth_percent > 20
ORDER BY growth_percent DESC

Результат: точный анализ с выявлением растущих регионов

Архитектура Pro режима

Компоненты системы

  1. Загрузчик данных (DuckDB):

    • Загружает Excel в памяти в виде SQL таблиц
    • DuckDB — это встроенная база данных, не нужен отдельный сервер
    • Скорость: даже 100K строк обрабатываются за миллисекунды
  2. SQL агент (Claude tool_use):

    • Получает вопрос на русском языке
    • Анализирует структуру данных (какие столбцы есть, типы)
    • Пишет SQL запрос самостоятельно
    • Может пересчитать и уточнить запрос, если нужно
  3. Executor (безопасное выполнение):

    • Запускает SQL запрос с ограничениями:
      • Только SELECT (не DELETE, UPDATE)
      • Блокированы опасные команды
      • Таймаут: запрос не может работать > 30 сек
    • Возвращает результаты
  4. Интерпретатор результатов:

    • ИИ переводит результаты SQL в понятные выводы
    • Генерирует графики
    • Оформляет в отчёт

Процесс в диаграмме

┌──────────────┐
│  Excel файл  │
│ (200K строк) │
└──────┬───────┘

       v
┌──────────────────────┐
│  Загрузка в DuckDB   │
│  (создаёт таблицы)   │
└──────┬───────────────┘
       │ Вопрос: "Топ регионы по выручке?"
       v
┌──────────────────────┐
│  SQL агент (Claude)  │
│  Анализирует схему   │
│  Пишет SQL запрос    │
└──────┬───────────────┘

       v SELECT region, SUM(amount) ...
┌──────────────────────┐
│  DuckDB executor     │
│  Выполняет запрос    │
│  (< 1 сек для 200K)  │
└──────┬───────────────┘
       │ Результат: таблица 10x2 (10 регионов + суммы)
       v
┌──────────────────────┐
│ Интерпретатор        │
│ Пишет выводы         │
│ Создаёт графики      │
└──────┬───────────────┘

       v
┌──────────────────────┐
│ Готовый отчёт        │
│ (таблица + график)   │
└──────────────────────┘

Как ИИ пишет SQL запросы

Шаг 1: Анализ схемы данных

Система показывает агенту структуру таблицы:

Таблица "sales" содержит:
- id (INTEGER) - уникальный ID
- date (DATE) - дата продажи
- product_name (TEXT) - название товара
- category (TEXT) - категория товара
- region (TEXT) - регион
- quantity (INTEGER) - количество
- unit_price (NUMERIC) - цена за единицу
- total_amount (NUMERIC) - сумма
- manager_id (INTEGER) - ID менеджера
- is_returned (BOOLEAN) - возвращён ли товар

Пример строк:
1, 2026-04-01, Товар A, Электроника, Москва, 5, 1000, 5000, 101, false
2, 2026-04-01, Товар B, Мебель, СПб, 2, 50000, 100000, 102, false

Шаг 2: Интерпретация вопроса

Вопрос: “Какие товары в категории ‘Электроника’ наиболее популярны в Москве?”

Агент понимает:

Шаг 3: Формирование SQL

SELECT 
  product_name,
  COUNT(*) as order_count,
  SUM(quantity) as total_quantity,
  SUM(total_amount) as total_revenue
FROM sales
WHERE category = 'Электроника' 
  AND region = 'Москва'
  AND is_returned = false
GROUP BY product_name
ORDER BY total_quantity DESC
LIMIT 10

Шаг 4: Выполнение и интерпретация

Результат SQL:

product_name | order_count | total_quantity | total_revenue
Товар A      | 25          | 125            | 125000
Товар B      | 18          | 90             | 90000
Товар C      | 12          | 60             | 60000

Агент пишет вывод: “В категории Электроника в Москве самый популярный Товар A (125 единиц, 125K выручки). За ним следует Товар B (90 ед, 90K). На эти два товара приходится 71% всех продаж категории в регионе.”

Примеры сложных вопросов, которые решает Pro режим

Пример 1: Анализ с условиями

Вопрос: “Какой регион показал самый быстрый рост выручки за последние 3 месяца?”

SQL (написан ИИ):

WITH monthly_revenue AS (
  SELECT 
    region,
    DATE_TRUNC('month', date) as month,
    SUM(total_amount) as monthly_total
  FROM sales
  WHERE date >= NOW() - INTERVAL '3 months'
  GROUP BY region, DATE_TRUNC('month', date)
),
growth AS (
  SELECT 
    region,
    LAG(monthly_total) OVER (PARTITION BY region ORDER BY month) as prev_month,
    monthly_total as curr_month,
    ROUND(100 * (monthly_total - LAG(monthly_total) 
           OVER (PARTITION BY region ORDER BY month)) / 
           LAG(monthly_total) OVER (PARTITION BY region ORDER BY month), 2) as growth_percent
  FROM monthly_revenue
)
SELECT region, AVG(growth_percent) as avg_growth
FROM growth
GROUP BY region
ORDER BY avg_growth DESC
LIMIT 1

Результат: “Регион X показал среднегодовой рост 25% в последние 3 месяца”

Пример 2: Выявление аномалий

Вопрос: “Найди товары, которые продаются странно: их выручка выше обычного более чем на 50% в этом месяце”

SQL (написан ИИ):

WITH monthly_average AS (
  SELECT 
    product_name,
    AVG(SUM(total_amount)) as avg_monthly_revenue
  FROM sales
  WHERE date < DATE('2026-04-01')
  GROUP BY product_name, DATE_TRUNC('month', date)
),
current_month AS (
  SELECT 
    product_name,
    SUM(total_amount) as current_revenue
  FROM sales
  WHERE DATE_TRUNC('month', date) = DATE('2026-04-01')
  GROUP BY product_name
)
SELECT 
  c.product_name,
  m.avg_monthly_revenue,
  c.current_revenue,
  ROUND(100 * (c.current_revenue - m.avg_monthly_revenue) / m.avg_monthly_revenue, 2) as anomaly_percent
FROM current_month c
JOIN monthly_average m ON c.product_name = m.product_name
WHERE c.current_revenue > m.avg_monthly_revenue * 1.5
ORDER BY anomaly_percent DESC

Результат: “Товар Y — аномально высокие продажи (+75%), возможно скопились заказы или ошибка в данных”

Пример 3: Анализ поведения клиентов

Вопрос: “Какие менеджеры работают с самыми дорогими товарами и как долго они удерживают клиентов?”

SQL (написан ИИ):

WITH manager_stats AS (
  SELECT 
    manager_id,
    AVG(total_amount) as avg_deal_value,
    COUNT(DISTINCT customer_id) as customer_count,
    MAX(date) - MIN(date) as tenure_days
  FROM sales
  GROUP BY manager_id
)
SELECT 
  manager_id,
  ROUND(avg_deal_value, 2) as avg_deal,
  customer_count,
  tenure_days,
  ROUND(customer_count / (tenure_days + 1) * 365, 2) as customers_per_year
FROM manager_stats
ORDER BY avg_deal DESC

Результат: “Менеджер 101 работает с самыми дорогими сделками (средний чек 25K), при этом удерживает среднего клиента 180 дней”

Безопасность и ограничения

Что может делать Pro режим

Что нельзя делать (ограничено)

Уровни доступа

В реальных системах Pro режим может работать с разными уровнями доступа:

УровеньДоступПримеры
PublicТолько агрегированные данные”Всего выручка за месяц”
TeamДанные своего отделаМенеджер видит только свои сделки
AdminВсе данныеФинансовый директор видит всё

Когда Pro режим экономит больше всего времени

Сценарий 1: Аналитик без SQL знаний

Без Pro режима:

С Pro режимом:

Экономия: 55 минут на запрос

Сценарий 2: Быстрые ad-hoc запросы

Без Pro режима:

С Pro режимом:

Экономия: 2 часа 55 минут на запрос

Сценарий 3: Исследовательский анализ

Без Pro режима:

С Pro режимом:

Экономия: 6+ часов на день исследования

Настройка Pro режима для вашего датасета

Шаг 1: Подготовка данных

Хорошие данные для Pro режима:
- ✓ Чистые названия столбцов (region, не "Рег" или "Р")
- ✓ Правильные типы данных (дата — DATE, не TEXT)
- ✓ Нет пропусков в ключевых столбцах
- ✓ Уникальные ID для сущностей

Шаг 2: Описание контекста

Система лучше работает если вы объясняете данные:

Таблица продаж содержит:
- Заказы наших клиентов
- Включает только завершённые транзакции (не возвраты)
- Менеджер ID связан с таблицей employees
- Дата в формате YYYY-MM-DD

Шаг 3: Примеры хороших вопросов

Ограничения Pro режима

Когда он работает плохо:

Как справиться:

Практический пример: используем Pro режим в AI Reports

Допустим, вы загружаете файл с продажами на AI Reports и включаете Pro режим:

1. Система загружает Excel в DuckDB
2. Вы видите интерфейс с вопросами
3. Задаёте: "Какие товары в категории 'Электроника' 
             наиболее популярны в Москве последний месяц?"
4. Система за 2-3 сек:
   - Пишет SQL (SELECT ... WHERE category='Электроника' ...)
   - Выполняет запрос
   - Получает результат (таблица 5x3)
   - Генерирует столбчатую диаграмму
   - Пишет вывод: "Товар A лидирует (150 ед, 150K выручки)..."
5. Вы получаете готовый отчёт в Word/PDF

Всё это за 5 минут вместо часа ручного анализа.

Заключение

Pro режим аналитики — это революция для тех, кто работает с данными но не владеет SQL:

Это особенно полезно для:

Минусы:

Но в целом, это инструмент, который экономит часы работы каждый день для аналитиков и бизнес-пользователей, не требуя от них навыков программирования.

Готовы автоматизировать отчёты?
Загрузите Excel-файл и получите аналитический отчёт за 2 минуты. 1000 бесплатных тиков при регистрации.
Попробовать бесплатно