Когда встроенных визуалов не хватает, делают кастомные. Раньше это означало писать сложный код руками; теперь часть берёт на себя AI. Разберём по статье SQLBI об AI для кастомных визуалов — с честными оговорками.
Что такое кастомный визуал
Это визуализация сверх стандартного набора Power BI — когда обычными визуалами нужный дизайн или поведение не собрать. Сделать её можно несколькими путями:
- Deneb — визуал, принимающий спецификации Vega-Lite (декларативный JSON для графики);
- SVG в DAX-мере (наш генератор SVG-мер — как раз про это);
- Python / R / JavaScript.
AI чаще всего помогает с Deneb: вместо ручного написания громоздкого Vega-Lite JSON вы просите LLM сгенерировать каркас спецификации.
Рабочий процесс (10 шагов)
Статья предлагает дисциплину, а не «попроси — вставь»:
- понять бизнес-требование и процесс;
- нарисовать визуал (вайрфрейм/мокап);
- выбрать подход (здесь — Deneb);
- спланировать техническую структуру;
- собрать примеры и контекст для промпта;
- выбрать LLM (для кода хорошо подходит Claude);
- написать детальный промпт с дизайном и контекстом;
- проверить вывод до запуска;
- свериться с документацией;
- итерировать и тестировать на реальных данных с фильтрами.
Промпт должен быть детальным и структурированным. И не просите весь визуал разом — стройте по слою за раз (отдельные marks/layers). Так проще отлаживать и понимать, что делает каждый кусок.
Что проверять перед запуском
До прогона кода ищите типовые проблемы: перепутанные имена полей, захардкоженные значения вместо ссылок на поля, лишние преобразования, синтаксис. И обязательно тестируйте с фильтрацией — статичный первый вид часто прячет ошибки взаимодействия.
Где AI подводит
- LLM выдаёт многословный, сложный или устаревший код;
- вероятностная природа → результат не гарантирован;
- галлюцинации: в примере статьи AI придумал тип mark, которого нет в документации;
- неполная обработка агрегации, если не задана структура данных;
- «точка невозврата»: диалог запутывается настолько, что прогресс встаёт — нужно начать заново или вернуться к основам.
Бесконечно просить LLM «почини» — медленнее, чем один раз свериться с документацией и понять ошибку. Используйте оператор site: в поиске, чтобы найти ответ в официальных доках Vega-Lite / Deneb, а не доверять пересказу модели.
Рекомендации
- Сначала — доверенные источники (офиц. доки Vega-Lite, Deneb), потом LLM.
- Давайте полный контекст: дизайн, описание полей, структуру данных. Размытый промпт → размытый результат.
- Стройте инкрементально, слой за слоем.
- Не относитесь к коду как к «чёрному ящику» — меняйте и смотрите, что делает каждая часть.
- Проверяйте в Power BI с фильтрами и крайними случаями.
- Знайте, когда расчёт уместнее в DAX-мере, а не в спецификации визуала.
«Если делаете не скриншот для LinkedIn, а визуал для реальной работы — ждите, что он всё равно потребует времени и усилий». AI снижает трение, но это инструмент для эксперта с критическим мышлением, а не кнопка «сделать красиво».
Что дальше
AI-блок продвинутого курса закрыт: моделирование через MCP, агентная разработка, кастомные визуалы. Дальше — field parameters, what-if и DAX-паттерны; production-темы (шлюз, RLS, оптимизация, SSAS) — в курсе «Эксплуатация и масштаб».