#.net-core #powerbi #powerbi-embedded #azure-analysis-services
#.net-ядро #powerbi #powerbi-встроенный #azure-analysis-services
Вопрос:
Я ищу вариант для подключения и запроса «Модели» / базы данных Azure Analysis Services (AAS) / Power BI. Я нашел несколько вариантов подключения AAS.Net Core, но ничего для Power BI. Могу ли я использовать любой из следующих типов соединений для подключения к Power BI? И если да, то какой вариант? Power BI Pro, Power BI Premium, Power BI Embedded?
Я могу подключиться к службам анализа Azure, используя следующее:
- ADOMD <- это мой предпочтительный метод подключения.
- AMO
- MSOLAP
- REST API с токеном предъявителя
Я не собираюсь встраивать свой отчет в приложение .Net Core. Я хочу на самом деле запрашивать разные модели, чтобы все сообщали одни и те же данные.
Я не хочу раскошеливаться на AAS, если я могу сделать это с Power BI Pro!
Комментарии:
Ответ №1:
В качестве короткого ответа я бы сказал, что вы, скорее всего, можете делать то, что просите, с наборами данных, размещенными в экземпляре Power BI Premium, или пользователями с лицензией Premium per user (PPU).
Мои рассуждения просты. Доступ к конечной точке XMLA доступен только для наборов данных, размещенных в Power BI Premium. Корпорация Майкрософт описывает это более подробно здесь, в документации Power BI. Для Power BI Embedded (в обход) также требуется Power BI Premium, поэтому я считаю, что это будет тот же случай для Power BI Embedded.
В качестве напоминания о том, почему важна конечная точка XMLA, Power BI Premium инкапсулирует экземпляр AAS (с некоторыми ограничениями). Для Microsoft (отсюда):
XMLA — это тот же протокол связи, который используется механизмом служб анализа Microsoft, который под капотом выполняет семантическое моделирование, управление, жизненный цикл и управление данными Power BI.
Таким образом, конечная точка XMLA требуется для обеспечения подключения к экземпляру AAS за Power BI.
Чтобы ответить на ваш вопрос о различных методах подключения:
ADOMD /AMO
Microsoft предоставляет клиентскую библиотеку для .NET Framework и .NET Core как для ADOMD, так и для AMO, которая должна иметь возможность подключаться к конечной точке XMLA Power BI. Вы можете просмотреть их и информацию, доступную в Microsoft, здесь. Существует несколько инструментов с открытым исходным кодом (рекомендованных Корпорацией Майкрософт), которые используют эти библиотеки. Поэтому, если вы ищете примеры, загляните в редактор таблиц 2 или DAX Studio.
MSOLAP
Для Microsoft (в той же ссылке о клиентских библиотеках):
Поставщик OLE DB служб Analysis Services (MSOLAP) — это собственная клиентская библиотека для подключений к базам данных служб Analysis Services. Он используется косвенно обоими ADOMD.NET и AMO, делегируя запросы на подключение поставщику данных. Вы также можете вызвать поставщика OLE DB непосредственно из кода приложения.
Поэтому, если у вас нет каких-то особых потребностей в отношении MSOLAP, я бы, вероятно, полагался на клиентские библиотеки Microsoft AMO / ADOMD.
REST API
Предполагая, что мы говорим о фактическом API REST API Power BI (например, по этой ссылке), тогда это зависит. Существуют определенные функциональные возможности, предоставляемые API, которые могли бы быть вашим вариантом использования для использования прямого подключения к конечной точке XMLA. Например, это позволяет выполнять запросы DAX или инициировать обновление набора данных (все со своими ограничениями). Поэтому я бы посоветовал вам ознакомиться с документацией API. Пока это хороший инструмент, и я предполагаю, что он будет только расширяться.