Добавить в корзинуПозвонить
Найти в Дзене
Анастасия Софт

📊 Автоматический отчёт в Power BI или Python: что проще?

или "Когда лучше щёлкать мышкой, а когда — запускать скрипт" "Power BI — это красиво. Python — это мощно. А вместе — это 🔥."
— аналитик, который устал каждый понедельник делать одинаковый отчёт Потому что руками делать одно и то же — боль, особенно: Хорошая новость:
Ты можешь автоматизировать это с помощью Power BI или Python. Или сразу обоих! 📎 Комментарий:
Power BI сам поймёт даты, названия столбцов и предложит типы данных. Но лучше проверить. 🧠 Комментарий:
Power Query — как Excel на стероидах. Вся чистка запоминается как шаги. Не надо писать код, всё кликами. 🧠 Комментарий:
Вот и красивый интерактивный дашборд! Можно добавить фильтры, карты, таблицы и KPI-индикаторы. 🗣️ Итого:
👩‍💻 Не писали ни строчки кода, но уже красивый отчёт
🎯 Подходит для офисных аналитиков, менеджеров, Excel-фанатов
⚠️ Минус: плохо масштабируется, сложно автоматизировать email, ограниченный контроль над расчётами import pandas as pd
df = pd.read_excel("sales.xlsx")
# Смотрим первые строки
pr
Оглавление

или "Когда лучше щёлкать мышкой, а когда — запускать скрипт"

"Power BI — это красиво. Python — это мощно. А вместе — это 🔥."

— аналитик, который устал каждый понедельник делать одинаковый отчёт

🤔 Кратко: Зачем вообще автоматизировать отчёты?

Потому что руками делать одно и то же — боль, особенно:

  • каждую неделю
  • с 15 вкладками Excel
  • с "чуть-чуть поменялась структура файла"
  • и, конечно, в 17:59 в пятницу

Хорошая новость:

Ты можешь автоматизировать это с помощью
Power BI или Python. Или сразу обоих!

🎯 Что мы сделаем в статье?

  • Реальный кейс: отчёт по продажам
  • 2 подхода: в Power BI и Python
  • Выгрузка Excel ➜ фильтрация ➜ визуализация ➜ экспорт PDF/email
  • Пошагово, с комментариями к каждому действию и коду
  • И с финальной табличкой: кто круче — Power BI или Python

📁 Наши данные: sales.xlsx

sales.xlsx
sales.xlsx

🧩 Часть 1: Power BI — красиво и быстро (но мышкой)

📌 Что делаем?

  1. Загружаем Excel
  2. Чистим данные
  3. Фильтруем по региону
  4. Строим график
  5. Экспортируем в PDF
  6. (по желанию) Настраиваем автообновление

✅ Пример 1: Загрузка Excel

  • Открыть Power BI Desktop
  • Клик "Получить данные" → Excel → выбрать sales.xlsx
  • Выбираем нужный лист → "Загрузить"

📎 Комментарий:

Power BI сам поймёт даты, названия столбцов и предложит типы данных. Но лучше проверить.

✅ Пример 2: Чистим и фильтруем

  • "Преобразовать данные" → Power Query
  • Проверяем типы: Дата — дата, Продажи — число
  • Добавим фильтр: например, только регион "Юг"

🧠 Комментарий:

Power Query — как Excel на стероидах. Вся чистка запоминается как шаги. Не надо писать код, всё кликами.

✅ Пример 3: Визуализация

  • Добавляем линейный график
  • X — Дата, Y — Продажи
  • Цвет — по менеджеру

🧠 Комментарий:

Вот и красивый интерактивный дашборд! Можно добавить фильтры, карты, таблицы и KPI-индикаторы.

✅ Пример 4: Экспорт

  • Файл → Экспорт → В PDF
  • Или Публикация в Power BI Service → настройка автообновления по расписанию

🗣️ Итого:

👩‍💻 Не писали ни строчки кода, но уже красивый отчёт

🎯 Подходит для офисных аналитиков, менеджеров, Excel-фанатов

⚠️ Минус: плохо масштабируется, сложно автоматизировать email, ограниченный контроль над расчётами

🐍 Часть 2: Python — гибко, мощно, без мышки

📌 Что делаем?

  1. Загружаем Excel с pandas
  2. Чистим и фильтруем
  3. Строим график с matplotlib
  4. Формируем PDF с графиком (pdfkit, reportlab, Fpdf)
  5. Отправляем по email

✅ Пример 1: Загружаем и смотрим

import pandas as pd

df = pd.read_excel("sales.xlsx")

# Смотрим первые строки
print(df.head())

🧠 Комментарий:

Pandas — идеальный друг для анализа табличных данных. Загружаем Excel в 1 строчку.

✅ Пример 2: Чистим и фильтруем

df = df.dropna() # Убираем пропущенные
df["Дата"] = pd.to_datetime(df["Дата"]) # Убедимся, что это дата
df = df[df["Регион"] == "Юг"] # Только регион Юг

🧠 Комментарий:

Фильтрация, типы, обработка пропущенных — это "базовый уход" за таблицей. Всё просто.

✅ Пример 3: График с matplotlib

import matplotlib.pyplot as plt

df_grouped = df.groupby("Дата")["Продажи"].sum()

plt.figure(figsize=(10, 5))
plt.plot(df_grouped.index, df_grouped.values, marker='o')
plt.title("Продажи по дням (регион Юг)")
plt.xlabel("Дата")
plt.ylabel("Сумма продаж")
plt.grid(True)
plt.savefig("sales_plot.png")

🧠 Комментарий:

Теперь у нас красивый график в PNG. Он пригодится дальше — в PDF или email.

✅ Пример 4: PDF-отчёт

from fpdf import FPDF

pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=14)
pdf.cell(200, 10, txt="Отчёт по продажам — Юг", ln=True, align='C')
pdf.image("sales_plot.png", x=10, y=30, w=180)
pdf.output("sales_report.pdf")

🧠 Комментарий:

Минимум усилий — и у вас готовый PDF-отчёт. Можно кастомизировать — шапки, таблицы, страницы.

✅ Пример 5: Отправка по email

import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["Subject"] = "Автоотчёт по продажам"
msg["From"] = "you@example.com"
msg["To"] = "boss@example.com"
msg.set_content("Добрый день! Отчёт во вложении.")

with open("sales_report.pdf", "rb") as f:
msg.add_attachment(f.read(), maintype='application', subtype='pdf', filename="sales_report.pdf")

# Отправка
with smtplib.SMTP_SSL("smtp.example.com", 465) as smtp:
smtp.login("you@example.com", "password")
smtp.send_message(msg)

🧠 Комментарий:

Теперь Python не просто анализирует — он делает
всю работу за вас. А вы можете спать спокойно.

📊 Таблица сравнения: Power BI vs Python

Таблица сравнения: Power BI vs Python
Таблица сравнения: Power BI vs Python

✅ Выводы

-3