Как интегрировать Power BI в настольное приложение Delphi - PullRequest
0 голосов
/ 24 июня 2019

Кто-нибудь интегрировал Microsoft Power BI в приложение Delphi.Я полагаю, что мне нужно будет встроить веб-страницу в форму, я согласен с этим, однако я не вижу, как вы принудительно обновляете или передаете Power BI критерии выбора во время выполнения.

Он будет связан со стандартной базой данных SQL Server (в настоящее время не на основе облака).У меня есть график, который я хочу работать на рабочем столе Power BI.

1 Ответ

0 голосов
/ 25 июня 2019

Я интегрирую его в WPF C # приложение .Это почти так же, как в Delphi, но проще из-за доступности библиотеки ADAL для C #.

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

К filter встроенного отчета, определите фильтр и назначьте его для свойства filters конфигурации embed объект, который вы передаете клиенту JavaScript Power BI , или вызываете метод report.setFilters.В вашем случае достаточно IBasicFilter. Создайте это так:

const basicFilter: pbi.models.IBasicFilter = {
  $schema: "http://powerbi.com/product/schema#basic",
  target: {
    table: "ReportTempTableName",
    column: "SessionId"
  },
  operator: "In",
  values: [12345],
  filterType: 1 // pbi.models.FilterType.BasicFilter
}

заменив 12345 уникальным значением идентификатора сеанса, которое вы хотите визуализировать.

Чтобы избежать возможности для пользователяудалите примененный фильтр и просмотрите данные всех сеансов, вы можете скрыть панель фильтра:

var embedConfig = {
    ...
    settings: {
        filterPaneEnabled: false
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...