## AJV проти class-validator проти Joi проти Yup проти Zod: Порівняння для Runtime валідації

Ми з колегою працювали над проектом бізнес-аналітики, аналізуючи три роки даних на рівні брендів, використовуючи Power BI, Python, SQL і AI-візуалізації. Мета полягала в розумінні ефективності продажів, трендів онлайн-замовлень і рентабельності, а також перетворення статичних даних на інтерактивні дашборди.

У цій статті я розповім, як створити подібний дашборд, покроково описуючи процес — від обробки даних, створення візуалізацій до AI-розповідей в Power BI.

📦 Використовувані інструменти

  • Power BI
  • DAX
  • SQL (для зберігання та очищення даних)
  • Python (Pandas + Seaborn для початкового аналізу)
  • AI-візуалізації в Power BI:
    • Q&A Візуалізація
    • Декомпозиційне дерево
    • Ключові впливи
    • Розумні наративи

🔹 Крок 1: Збір і підготовка даних

Ми почали з трьох років даних про продажі та замовлення для різних брендів і регіонів. Дані включали:

  • Назва бренду
  • Тип замовлення (онлайн/офлайн)
  • Регіон і місто
  • Доходи та прибуток
  • Розподіл за місяцями

🔧 Очищення даних за допомогою SQL:

  • Видалили null-значення та дублікати
  • Нормалізували типи замовлень
  • Створили SQL-видання для звітів за роками та регіонами

Після очищення ми імпортували таблиці безпосередньо в Power BI за допомогою SQL Server Connector.

🔹 Крок 2: Моделювання даних у Power BI

У Model view ми створили зв'язки між таблицями:

  • Orders (OrderID, Date, Amount)
  • Brands (BrandID, Category)
  • Regions (City, SalesRep)
  • Order Types (Online/Offline)

Ми налаштували кардинальність і напрямок крос-фільтрації (в основному One-to-Many, Single).

🔹 Крок 3: Створення обчислюваних стовпців та DAX-метрик

Для обчислення інсайтів використовували DAX:

DAX

Total Sales = SUM(Orders[Amount])
Total Profit = SUM(Orders[Profit])
YoY Growth = DIVIDE([This Year Sales] - [Last Year Sales], [Last Year Sales], 0)
Online Order % = DIVIDE([Online Orders], [Total Orders], 0)

Ці метрики використовувалися у картках, візуалізаціях і підказках.

🔹 Крок 4: Створення візуалізацій на дашборді

Ось як ми побудували візуальні компоненти:

✅ Картки для KPI:

  • Загальні продажі
  • Загальний прибуток
  • Процент онлайн-замовлень
  • Зростання порівняно з минулим роком

📊 Гістограми та стовпчикові діаграми:

  • Продажі по брендам
  • Замовлення по регіонах
  • Зростання за роками

📈 Лінійна діаграма:

  • Тренд продажів по місяцях

🍩 Кругова діаграма:

  • Розподіл онлайн та офлайн замовлень
  • Розподіл доходів по категоріях

🗺️ Карта:

  • Продажі по містах з використанням регіону

📋 Матриця:

  • Порівняння продажів по роках для кожного бренду

🔹 Крок 5: Інтерактивність — фільтри, зрізи та теми

🎛️ Додано:

  • Зрізи для бренду, регіону та року
  • Фільтр по даті (огляд по часу)
  • Тема для чистого, послідовного оформлення
  • Drill-Through Pages для детального аналізу ефективності окремих брендів

🔹 Крок 6: Додавання AI-візуалізацій 🤖

Power BI надає 4 потужні AI-візуалізації, які ми використали для підвищення функціональності нашого дашборду:

🧠 1. Q&A Візуалізація — Аналітика природної мови

Як використовувати:

  • Вставити Q&A Візуалізацію → Написати питання, наприклад:
    • “Загальний прибуток по бренду”
    • “Онлайн замовлення у 2023 році”

Поради:

  • Використовувати синоніми та переіменовувати стовпці для кращого розпізнавання
  • Розмістіть візуалізацію вгорі для швидкого пошуку

🔍 2. Декомпозиційне дерево — Інструмент для аналізу

Як використовувати:

  • Додати метрику до “Аналізувати” → Додати поля до “Пояснити через”
  • Наприклад, Загальні продажі → Бренд → Регіон → Місяць

Поради:

  • Використовувати автоматичне розділення для виявлення інсайтів
  • Ідеально підходить для аналізу причин зниження або збільшення прибутку

🌟 3. Ключові впливи — Визначення основних факторів

Як використовувати:

  • Вибрати метрику (наприклад, прибуток)
  • Додати потенційні фактори впливу (наприклад, регіон, тип замовлення, бренд)

Поради:

  • Використовувати для відповіді на запитання “Які фактори найбільше впливають на прибуток?”
  • Поєднувати з зрізами, щоб побачити зміни впливу з часом

✍️ 4. Розумні наративи — Розповіді на основі даних

Як використовувати:

  • Вставити візуалізацію “Smart Narrative” і налаштувати її для автоматичного генерування тексту, що пояснює дані на дашборді.
  • Ця функція допомагає створювати текстові висновки про дані для користувачів.

Висновок

Ці інструменти в Power BI дозволяють не тільки створювати візуалізації даних, але й використовувати AI для глибшого аналізу, що робить дашборди набагато інтерактивнішими та інформативнішими.

Ці тренди визначатимуть, як ми працюємо з даними в майбутньому.

Перекладено з: AJV vs class-validator vs Joi vs Yup vs Zod: A Runtime Validator Comparison