Доступ к таблицам модели данных Excel (Power Query) из ODBC - PullRequest
2 голосов
/ 18 марта 2019

Мы можем получить доступ к данным Excel, используя ODBC (драйвер ODBC для Excel).Можем ли мы также получить доступ к данным в модели данных (например, к таблицам Power Query)?В основном я думаю (неправильно) использовать Excel / Power Query в качестве базы данных и позволить внешнему приложению получать данные из него (используя SQL).

Чтобы прочитать с листа 1, я могу сделать:

SELECT ... FROM [Sheet1$]

, но

SELECT ... FROM [table in data model] 

, похоже, не работает для меня.Это должно работать или вообще не поддерживается?

Существует масса информации о Power Query, использующей ODBC для импорта данных.Здесь я смотрю с другой стороны.

1 Ответ

2 голосов
/ 20 марта 2019

Вы должны различать таблицы Power Query и таблицы модели данных (Power Pivot).Некоторые таблицы PQ можно настроить как таблицы, загружаемые в DM, поэтому данные будут «переноситься» из PQ в DM только для этих таблиц.

Я почти уверен, что получить данные из них невозможноТаблицы "только для PQ".Вы можете просто получить m запросов (не их результаты) через VBA или распаковав Excel.

Относительно таблиц PP (DM).На самом деле, в Excel есть движок Analytical Services (VertiPac) (на всякий случай - и внутри PowerBI Desktop).Поэтому, как только вы запускаете Excel или PBI, вы фактически запускаете также экземпляр движка AS.Данные в нем доступны через:

  1. Excel VBA (Visual Basic для приложений).У вас есть API Thisworkbook.Model.DataModelConnection. *, И вы можете получить доступ как к самим данным, так и к модели.Это единственный «официальный» способ получения данных программным способом.

  2. Power Query - в качестве источника данных Analytical Services.Это неофициальный способ, но я читал, что Microsoft сказала, что не собирается закрывать его в будущем (но вы никогда не знаете :-)).Например, Dax Studio может это сделать - https://www.sqlbi.com/tools/dax-studio/. К сожалению, хотя добраться до службы PBI AS довольно просто, я не знаю, как добраться до службы Excel AS без Dax Studio.Насколько я понимаю, основная проблема заключается в том, как получить номер порта AS, запущенного в Excel.Но я надеюсь, что эта информация, по крайней мере, поможет вам понять путь для дальнейшего поиска, если вы хотите пойти по пути Power Query.Или может быть целесообразно использовать Power BI Desktop для этой задачи.

  3. Excel - это просто zip-файл, поэтому, безусловно, AS-файлы находятся внутри него.Я никогда не шел этим путем, но вы можете наблюдать, что находится внутри exel zip - возможно, файлы AS могут быть там в какой-то полезной форме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...