Проект представлен в рамках участия в Всероссийском чемпионате «Р7-ОФИС» 2025 https://t.me/p7office_channel/1846
Другие решения чемпионата https://drive.google.com/drive/folders/1ckviRn0A8eEAzB21Y8r3ufAvTLa7Mhg4?usp=sharing
Данный проект представляет собой макрос для R7 Office, который анализирует данные интернет-магазина из CSV-файла и автоматически создает визуальные отчеты в виде таблиц и графиков. Макрос разработан для быстрого анализа продаж и формирования наглядных представлений о популярности категорий товаров и брендов.
- Загрузка данных: Импорт данных из CSV-файла с настраиваемым разделителем
- Фильтрация по периоду: Анализ данных за указанный временной период
- Анализ категорий: Формирование статистики продаж по категориям товаров
- Анализ брендов: Формирование статистики продаж по брендам
- Визуализация: Автоматическое создание таблиц и графиков для наглядного представления результатов
- Отчеты: Генерация отчетов "Покупки по категориям" и "Покупки по брендам"
Каждый отчет содержит:
-
Топ-позиции:
- "Самые популярные" - топ-3 по количеству покупок
- "Самые дорогие чеки" - топ-3 с наибольшей средней ценой покупки
-
Детальные таблицы (до 15 записей, отсортированных по алфавиту):
- Количество покупок
- Средняя цена покупки
-
Графики:
- Столбчатые диаграммы для визуализации количества покупок и средней цены
src/
└── index.js # Основной файл макроса с точкой входа
- Загрузка пользовательских настроек (путь к CSV-файлу и период анализа)
- Конвертация пути к файлу в корректный URL-формат
- Загрузка данных из CSV-файла
- Парсинг CSV в структуру данных для анализа
- Создание фильтра по периоду на основе пользовательских настроек
- Анализ данных и получение статистики по категориям и брендам
- Создание отчетов с графиками
- Уведомление пользователя о завершении работы
- Откройте документ R7 Office (таблицу)
- Перейдите в лист "Анализ данных"
- Укажите путь к CSV-файлу в ячейке C4
- Задайте период анализа в ячейках C6 (начало) и C7 (конец)
- Запустите макрос
- После выполнения макроса будут созданы два новых листа с отчетами:
- "Покупки по категориям"
- "Покупки по брендам"
CSV-файл должен содержать следующие колонки:
brand- бренд товараcategory_code- код категории товара (может иметь формат иерархии "уровень0.уровень1.уровень2")event_time- время событияevent_type- тип события (view/cart/purchase)price- цена товараproduct_id- идентификатор товараuser_id- идентификатор пользователяuser_session- идентификатор сессии пользователя
Для тестирования и демонстрации работы макроса вы можете использовать следующий датасет:
- Разработано для R7 Office
- Использует API R7 Office для работы с таблицами и построения диаграмм
- Для логирования ошибок используется
console.errorвместоAsc.scope.alertдля обеспечения совместимости - Поддерживает как локальные, так и удаленные источники данных CSV
- Корректно обрабатывает и конвертирует форматы дат между R7 Office и JavaScript
- Для отладки используйте консоль браузера (все ошибки логируются через console.error)
- При изменении типов данных используйте вложенную структуру объектов в JSDoc комментариях