Power BI Desktop как SQL Analysis Services
или «Подключение к модели данных Power BI из сторонних клиентов»
Наверняка при установке на локальный компьютер Power BI многие замечали, что параллельно разворачиваются структуры Microsoft Analysis Services. Это логично с точки зрения разработки и дальнейшей поддержки единой табулярной модели данных, общей и для флагманского серверного продукта, и для десктопной среды разработки. В неё просто интегрировали серверное ядро SSAS. При запуске приложения Power BI Desktop запускается локальный сервер SSAS, который и выполняет всю черновую работу по обслуживанию DAX-запросов, распределению нагрузки, управлению памятью и передачу результатов рендеру, который уже и отображает результаты в виде графиков, гистограмм, сводных таблиц (называемых матрицами) и всех визуальных элементов, доступных в среде Power BI.
Подобная модульная структура позволяет использовать запущенный Power BI Desktop в качестве тестового сервера аналитики без необходимости развёртывания полноценной среды SQL сервера c Microsoft Analysis Services. И без соответствующей лицензионной нагрузки (т. е. бесплатно). Безусловно этот подход нельзя использовать в промышленных решениях, но для быстрого развёртывания тестовой инфраструктуры и проверки построенной модели данных ничего лучше и не придумаешь.
Для определения актуального номера порта, на котором запустился локальный «карманный» Analysis Services проще всего использовать потрясающий бесплатный инструмент, «швейцарский нож» для любого DAX-хакера - DAX Studio. При подключении из DAX Studio к вашей модели данных (разумеется необходимый PBIX-файл должен быть открыт в Power BI Desktop) в статусной строке приложения отобразятся параметры подключения (как на рисунке ниже), которые можно использовать, для досупа к этой модели данных из других приложений, например из Excel или другого экземпляра Power Bi Desktop локально или по сети. |
Номер порта при каждом следующем запуске PBI Desktop будет меняться. В моём примере это 52308. В вашем случае это будет скорее всего какое-то другое число из пула портов Power BI Desktop.
select * from $SYSTEM.DBSCHEMA_CATALOGS
====
Дополнение к статье.
По ссылке доступен для скачивания PBIX-файл, который формирует список всех загруженных в память моделей данных (включая и встроенную в этот файл). Т.е. в списке будет столько строк, сколько PBIX-файлов запущено. Данный файл может быть использован только для демонстрационных целей и тестирования, предоставляется «как есть», со всеми багами, ошибками и прочая, на 90% сформирован через интерфейс Power Query / PowerPivot и не может служить хорошим примером для обучения программированию под Power BI.