У меня возникают проблемы с нехваткой памяти (на стороне сервера) в Power BI Desktop при попытке импортировать каждую строку и каждое измерение из табличного куба SSAS. Сервер работает под управлением SSAS 2017 Standard с 16 ГБ ОЗУ. Используя SQL Server Profiler, я обнаружил, что функция импорта в Power BI объединяет каждый столбец с самим собой. Для 80 столбцов он делает 80 CROSSJOIN в автоматически сгенерированном MDX-запросе. А с миллионами строк это слишком много для обработки.
...
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
CROSSJOIN(
[AccountManager].[Customer Account Manager].[Customer Account Manager].ALLMEMBERS,
[AccountManager].[Customer Account Manager Position].[Customer Account Manager Position].ALLMEMBERS),
[ChargesGroup].[Charges Group].[Charges Group].ALLMEMBERS,
[ChargesGroup].[Charges Group Description].[Charges Group Description].ALLMEMBERS),
[ChargesGroup].[Charges Group ID].[Charges Group ID].ALLMEMBERS),
[Company].[Company Name].[Company Name].ALLMEMBERS),
[Company].[Default Language ID].[Default Language ID].ALLMEMBERS),
[Company].[Intercompany].[Intercompany].ALLMEMBERS),
[Company].[Local Currency].[Local Currency].ALLMEMBERS),
[Company].[Reporting Currency].[Reporting Currency].ALLMEMBERS),
[CompanyChain].[Company Chain].[Company Chain].ALLMEMBERS
)
...
Это похоже на случай даже при импорте только 2 столбцов.
Я делаю что-то в корне неправильно? Или это стандартный способ подключения Power BI к кубу? Мы думаем о написании нашего собственного запроса MDX или DAX на этапе импорта, но не уверены, является ли это лучшим способом для go. Является ли проблема с ОЗУ или версией сервера (Standard vs Enterprise)?