Коннектор КПЭ Power Automate позволяет сохранять фактические или целевые данные КПЭ в вашем экземпляре PIPware. Этот пример показывает как подключить коннектор к источнику - базе данных SQL. Источником может быть также любой другой коннектор Power Automate. Если вам нужна дополнительная информация о коннекторе PIPware, например об ограничениях или типах данных API - документация здесь: https://docs.microsoft.com/en-us/connectors/pipwarekpis/ 

 

Что вам понадобится

  1. Лицензия Power Automate Premium. Рекомендуем применить лицензию к сервисному аккаунту. Также рекомендуется использовать ту же учетную запись для пользователя PIPware. Таким образом, вы можете использовать API- ключ данного пользователя вместе с Power Automate, не беспокоясь об изменениях, если кто-то из сотрудников уйдет.
  2. Пользователь PIPware с правами доступа к Фактическим и / или Целевым КПЭ. Как упоминалось выше, мы рекомендуем использовать служебную учетную запись для пользователя PIPware.

 

Пример использования

Этот документ иллюстрирует настройку следующего процесса:

  1. КПЭ-данные вставляются в таблицу базы данных-источника.
  2. Это автоматически запускает Процесс настроенный в Power Automate
  3. На первом этапе Процесса данные выбираются из исходной таблицы.
  4. Процесс обработки данных переходит на второй этап - коннектора КПЭ PIPware.
  5. Коннектор КПЭ PIPware отправляет данные в ваш экземпляр PIPware, например yourinstance.pipware.net


Окончательный процесс будет выглядеть следующим образом:

Настройка источника

Ниже мы создали базу данных под названием «testdatasource» и таблицу, которая будет содержать исходные данные. Наш процесс будет запущен, когда данные будут вставлены в эту таблицу. Это один из возможных примеров. Power Automate предоставляет множество коннекторов для запуска процессов или получения данных SQL, например, выполнение хранимой процедуры для выборки данных.

Мы рекомендуем использовать хранимую процедуру, как наилучший вариант для поддержки и тестирования. SQL также оптимизирует хранимую процедуру, путем кэширования плана запроса, что сокращает время выполнения. Однако, в этом примере, Power Automate будет извлекать данные непосредственно из таблицы базы данных.


Установка шлюза данных (Data Gateway)

Чтобы Power Automate имел доступ к базе данных-источнику, необходимо установить и настроить шлюз данных. Документация и загрузочный файл здесь:  https://docs.microsoft.com/en-us/power-automate/gateway-reference

Убедитесь, что при настройке шлюза вы учли следующее:

  • Адрес электронной почты, с помощью которого вы входите в шлюз, должен совпадать с адресом премиум-лицензии Power Automate, которую вы используете для создания ваших процессов.
  • Шлюз должен находиться на сервере, который имеет постоянный доступ в Интернет
  • Регион для шлюза должен быть тем же регионом, что и окружение Power Automate. Документация и таблица сопоставления между регионами шлюза и регионами Power Automate здесь:
    https://docs.microsoft.com/en-us/power-automate/regions-overview

 

На скриншотах ниже показано, как он настроен.

Выберите каталог для установки и примите условия


Предоставьте ту же учетную запись, которая используется для вашей лицензии Power Automate. Как упоминалось ранее в этом документе, мы рекомендуем использовать служебную учетную запись, которая не привязана к конкретному человеку.

Затем вам будет предложено войти в систему с использованием этой учетной записи.


Выберите «Зарегистрировать новый шлюз» (“Register a new Gateway”).

Измените регион в соответствии с регионом вашего окружения Power Automate. Инструкции по поиску региона Power Automate и его сопоставлению с регионом шлюза здесь: https://docs.microsoft.com/en-us/power-automate/regions-overview

Также укажите имя и ключ восстановления


В этом примере мы изменили регион на Восток США, чтобы он соответствовал нашему окружению Power Automate:


Вы увидите следующий экран, если конфигурация прошла успешно. Вы завершили работу и можете нажать Закрыть (Close).

Настройка Процесса в Power Automate

 

В Power Automate создайте новый Автоматизированный Процесс (Automated Flow)

 

Дайте Процессу наименование и выберите триггер SQL «Когда элемент создан (V2)» (“When an Item is created V2”).

 

На первом шаге нажмите меню и выберите «Добавить новое соединение» (“Add new connection"). Теперь мы подключим это соединение к базе данных-источнику через шлюз.

 

В выпадающем списке «Шлюзы» (Gateway) выберите шлюз, который мы установили в предыдущем разделе. Если вы не видите его в списке, убедитесь, что шлюз был настроен с использованием той же учетной записи и региона, что и окружение Power Automate.

Заполните остальные данные для подключения к базе данных-источнику и нажмите Создать (Create). Используйте учетные записи пользователя SQL или  пользователя Windows, настроенные для базы данных и которые имеют доступ к таблице, из которой мы хотим читать. Если у вас нет учетных записей или вы не знаете, как их настроить, обратитесь к администратору базы данных.

 


Если предыдущий шаг был успешным, вы будете перенаправлены обратно к процессу. Выберите сервер, базу данных и таблицу из выпадающих списков. Если в выпадающем списке таблицы не загружаются автоматически, выберите «ввести пользовательское значение» (“enter custom value”) и введите имя таблицы, как показано ниже.


Нажмите «Добавить новый шаг» (“Add a new step”), найдите «PIPware» и добавьте действие «Сохранить Фактические КПЭ» («Save KPI Actuals»). Вы также можете сохранить Целевые КПЭ (PIPware Targets), но в данном примере мы будем работать только с фактическими данными (Actuals).

 

Затем вам будет предложено ввести информацию для подключения к экземпляру PIPware, в котором вы хотите сохранить данные. Заполните все детали. Ключ API — это ключ API пользователя PIPware с разрешением на Фактические КПЭ (KPI Actuals). Мы рекомендуем использовать служебную учетную запись в PIPware.

 


Если вы потеряли свой ключ, вы можете повторно создать новый ключ API на странице профиля, но это приведет к нарушению всех существующих интеграций.


Для поля даты опция динамического SQL (Dynamic SQL) не появляется автоматически в выпадающем списке. Это связано с тем, что спецификация API может получать даты только как строки с определенным форматом даты, но информация, поступающая из нашего источника данных SQL, имеет тип DateTime.

Мы должны сопоставить DateTime с правильным форматом, используя выражение.

formatDateTime(triggerOutputs()?['body/CaptureDate'],'yyyy/MM/ddT00:00:00Z')

 


Для поля «удалено» (“deleted”) вы можете выбрать значение по умолчанию, которое будет использоваться всегда. В качестве альтернативы, чтобы найти источник данных SQL, выберите «ввести пользовательское значение» (“enter custom value”) для поиска в динамическом контенте, как это было сделано с KPICode и ActualValue.

 

 Вы можете протестировать процесс, нажав кнопку «Тест» (Test). Обратите внимание, что тестирование сохранит реальные данные в вашем рабочем экземпляре.


Здесь вы можете выбрать выполнение действия триггера (вставка данных в исходную таблицу). Параметр «Использовать данные с сервера SQL» (“Use data from SQL server”) будет использовать любые данные, существующие в таблице-источнике. ВНИМАНИЕ: запустив любой тест, вы сохраните данные в свой экземпляр PIPware.