Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| product:api:integration_examples:power-bi [21.07.2025 06:53] – создано ekaterina.menkhuzina | product:api:integration_examples:power-bi [21.07.2025 10:12] (текущий) – [Добавление нового источника данных] ekaterina.menkhuzina | ||
|---|---|---|---|
| Строка 10: | Строка 10: | ||
| - Добавить в источник данных обработчик для получения данных из API ADVANTA. | - Добавить в источник данных обработчик для получения данных из API ADVANTA. | ||
| - Сконструировать дашборд в PowerBI. | - Сконструировать дашборд в PowerBI. | ||
| + | \\ | ||
| <image shape=" | <image shape=" | ||
| + | \\ | ||
| Ниже рассмотрен пример настройки дашборда в PowerBI на основе двух источников (LINQ-запросов) из Системы ADVANTA. На основе этого примера Вы можете создавать собственные источники в Системе для автоматического получения данных из ADVANTA в Power BI Desktop. | Ниже рассмотрен пример настройки дашборда в PowerBI на основе двух источников (LINQ-запросов) из Системы ADVANTA. На основе этого примера Вы можете создавать собственные источники в Системе для автоматического получения данных из ADVANTA в Power BI Desktop. | ||
| + | ===== Настройка LINQ-запросов ===== | ||
| + | Чтобы загрузить данные из ADVANTA в PowerBI, необходимо сначала создать в ADVANTA источники данных в виде LINQ-запросов (необходим хотя бы один запрос). LINQ-запросы станут источниками данных для соответствующих дашбордов в PowerBI. | ||
| + | |||
| + | Для этого перейти в Системе ADVANTA в раздел Администрирование → Дополнительные сервисы → Источники LINQ. На странице выбрать либо уже созданный источник, | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | Нужно присвоить LINQ-запросам имена и ключи. Для удобства имена, ключи и id запросов необходимо скопировать и сохранить. | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | ===== Настройка Python ===== | ||
| + | Для того чтобы при импорте в PowerBI обращаться к API ADVANTA, надо использовать скрипт на [[https:// | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | В используемой инсталляции Python для работы скрипта нужно также установить менеджер пакетов - '' | ||
| + | <code python> | ||
| + | python -m pip install requests matplotlib pandas | ||
| + | </ | ||
| + | * requests - чтобы обращаться к API через HTTP-протокол; | ||
| + | * matplotlib и pandas - библиотеки для работы с данными, | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | ===== Создание проекта в PowerBI ===== | ||
| + | Заходим в Power BI Desktop и создаем/ | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | ==== Добавление нового источника данных ==== | ||
| + | <callout type=" | ||
| + | - Зайти во вкладку " | ||
| + | - В открывшемся окне зайти на вкладку " | ||
| + | <image shape=" | ||
| + | </ | ||
| + | |||
| + | В отчете создаем новый источник данных: | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | В поле " | ||
| + | <code python> | ||
| + | # не забудьте установить требуемые библиотеки Python: | ||
| + | # python -m pip install requests matplotlib pandas | ||
| + | |||
| + | import requests | ||
| + | from pandas import json_normalize | ||
| + | |||
| + | # данные пользователя для подключения к инсталляции ADVANTA | ||
| + | # LOGIN = '' | ||
| + | # PASSWORD = '' | ||
| + | |||
| + | # лучше использовать токен - см. Вики | ||
| + | # https:// | ||
| + | # https:// | ||
| + | |||
| + | TOKEN = ' | ||
| + | |||
| + | # адрес сервера с системой ADVANTA (при необходимости можно указать справа от домена каталог установки, | ||
| + | DOMAIN = ' | ||
| + | |||
| + | # переменная для хранения параметров сессии | ||
| + | session = requests.Session() | ||
| + | |||
| + | # авторизация в ADVANTA | ||
| + | response = session.post( | ||
| + | url=DOMAIN+'/ | ||
| + | ### если используем подключение с помощью логина и пароля | ||
| + | # json={ | ||
| + | # ' | ||
| + | # ' | ||
| + | # }, | ||
| + | |||
| + | ### если подключаемся, | ||
| + | json={ | ||
| + | ' | ||
| + | }, | ||
| + | ) | ||
| + | |||
| + | # сохранение полученных авторизационных cookies для дальнейшего использования | ||
| + | cookies = session.cookies.get_dict() | ||
| + | |||
| + | # получение данных из LINQ-запроса | ||
| + | response = session.post( | ||
| + | url=DOMAIN+'/ | ||
| + | cookies=cookies, | ||
| + | json={ | ||
| + | # указать ваш код LINQ-запроса и его параметры | ||
| + | ' | ||
| + | ' | ||
| + | }, | ||
| + | ) | ||
| + | |||
| + | # возвращаем данные в Power BI в нужном для дальнейшей обработки формате | ||
| + | projects = json_normalize(response.json()) | ||
| + | </ | ||
| + | - Заполнить данные для авторизации, | ||
| + | - В строке DOMAIN указать адрес сервера, | ||
| + | - Подключить использование сессии - выбрав авторизацию в Системе ADVANTA через логин и пароль, | ||
| + | - Указать ключ LINQ-запроса из ADVANTA, который был сохранен ранее. Также можно ограничить количество данных, | ||
| + | \\ | ||
| + | <callout type=" | ||
| + | |||
| + | После заполнения всех параметров нажимаем " | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | Для формирования дашборда необходимо сделать столько источников в PowerBI, сколько их нужно импортировать из ADVANTA, т.е. один LINQ-источник = один источник данных в PowerBI. В последующем, | ||
| + | |||
| + | ==== Формирование дашборда в PowerBI ==== | ||
| + | После добавления всех необходимых источников в модели данных PowerBI можно связать поля источников между собой для автоматической фильтрации данных в дашбордах. В примере свяжем ProjectId из таблицы " | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | На основе загруженных данных можно создать необходимые визуализации в PowerBI, подключая их к нужным источникам данных. | ||
| + | Например, | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | Также можно сделать таблицу с перечнем контрольных точек и базовой датой их окончания. | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | Так как данные двух таблиц связаны, | ||
| + | \\ | ||
| + | <image shape=" | ||
| + | \\ | ||
| + | После настроек визуализации готовый файл PowerBI необходимо сохранить. Дальнейшая настройка дашбордов в PowerBI осуществляется стандартными средствами данного приложения. | ||