Данные и аналитика · 14 октября 2026 · 3 мин чтения
Встраивание отчётов Power BI в сайт и портал через API
Эта страница на узбекском: /uz/blog/power-bi-hisobotni-saytga-joylash
Иногда отчёт нужен не в интерфейсе Power BI, а внутри другой системы: в корпоративном портале, во внутренней CRM, в личном кабинете дилера или клиента. Например, поставщик хочет показывать торговым партнёрам их продажи и остатки, не раздавая им доступ к своей учётной системе. Для этого у Power BI есть механизмы встраивания и программный интерфейс REST API.
Три сценария встраивания
Публикация в интернете. Отчёт получает публичную ссылку и код для вставки на страницу. Смотреть может любой, у кого есть ссылка, без входа. Подходит только для данных, которые изначально публичные: открытая статистика, демонстрационный отчёт. Для внутренних данных этот способ недопустим — ссылку легко переслать, а прав доступа нет.
Встраивание для своей организации. Сотрудники входят в портал под рабочими учётными записями Microsoft, и отчёт показывается с их правами. Каждый пользователь должен иметь доступ к отчёту в Power BI. Подходит для интранета, внутренних систем, SharePoint.
Встраивание для клиентов. Пользователи портала не имеют учётных записей Power BI. Приложение само проходит проверку от имени служебного субъекта, получает маркер встраивания и показывает отчёт. Какие данные увидит конкретный пользователь, определяет ваше приложение. Это сценарий для личных кабинетов партнёров и клиентов.
Условия лицензирования для этих сценариев различаются, их нужно уточнять до начала разработки, а не после.
Как устроено встраивание для клиентов
- Отчёт и набор данных размещаются в рабочей области Power BI
- В Microsoft Entra ID (бывший Azure Active Directory) регистрируется приложение, которому выдаются права на рабочую область
- Серверная часть вашего портала при входе пользователя запрашивает маркер встраивания для нужного отчёта
- В маркер передаётся идентичность пользователя для фильтрации на уровне строк
- Браузер получает маркер и с помощью клиентской JavaScript-библиотеки показывает отчёт в блоке страницы
Важно, что маркер выдаётся на сервере. Секреты приложения никогда не должны попадать в код, который выполняется в браузере.
Безопасность на уровне строк
Если все дилеры смотрят один отчёт, каждый должен видеть только свои данные. Для этого в модели настраиваются роли с правилами фильтрации: например, таблица продаж фильтруется по коду партнёра. При выдаче маркера приложение указывает роль и идентификатор текущего пользователя. Без этой настройки любой дилер увидит продажи конкурентов — это самая серьёзная ошибка в проектах встраивания.
Проверять правила нужно не только «на глаз»: заведите тестовых пользователей разных типов и убедитесь, что каждый видит только своё, включая итоговые строки и детализацию.
Что ещё умеет REST API
Встраивание — не единственное применение программного интерфейса. Через API можно:
- Запускать обновление набора данных после того, как ваша система закончила загрузку
- Получать список отчётов и рабочих областей для каталога в портале
- Экспортировать отчёт в файл и рассылать его по расписанию
- Управлять доступом пользователей при подключении новых партнёров
- Отслеживать историю обновлений и ошибки
Например, после ночной выгрузки из 1С ваш скрипт может сам запустить обновление и, если оно завершилось ошибкой, отправить сообщение ответственному в Telegram.
Что учесть в проекте
- Производительность: встроенный отчёт загружается в странице портала, поэтому тяжёлая модель будет раздражать пользователей
- Оформление: отчёт должен выглядеть частью портала, а не чужеродным окном
- Мобильная версия: для просмотра с телефона нужна отдельная мобильная раскладка страниц
- Журналирование: кто и когда открывал отчёты, особенно если это внешние пользователи
- Срок жизни маркера: он ограничен, и приложение должно обновлять его без перезагрузки страницы
Типичные ошибки
- Использование публикации в интернете для внутренних данных «потому что так быстрее»
- Отсутствие ролей на уровне строк в отчёте для внешних пользователей
- Хранение ключей приложения в настройках фронтенда
- Встраивание без нагрузочной проверки, когда одновременно заходят все партнёры в конце месяца
Итог
Встраивание превращает Power BI из внутреннего инструмента в часть вашего продукта или портала. Технически задача решаемая, но требует аккуратности с правами и лицензиями. Если вы планируете кабинет для партнёров с аналитикой, расскажите о задаче — поможем выбрать сценарий.
Обсудим задачу
Оставьте имя и телефон — перезвоним, расспросим о процессе и предложим, с чего начать.
Обсудить проект