当尝试从SSAS表格多维数据集中导入每一行和每个维度时,我在Power BI Desktop中遇到了“内存不足”(在服务器端)的问题。服务器正在运行具有16 Gb RAM的SSAS 2017 Standard。 使用SQL Server Profiler,我发现Power BI中的导入功能将每一列交叉连接到其自身。对于80列,它在自动生成的MDX查询中执行80个CROSSJOIN。数以百万计的行太多了。
...
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
)
...
即使仅导入两列,情况也是如此。
我从根本上做错了吗?还是这是Power BI连接到多维数据集的标准方式? 我们正在考虑在导入步骤中编写自己的MDX或DAX查询,但是不确定这是否是最佳方法。服务器RAM或版本(标准版与企业版)是否有问题?