首页 > 解决方案 > SSAS 表格/PowerBI - 使用两个计算组时内存消耗巨大且响应缓慢

问题描述

我在天蓝色分析 ( B0 ) 环境中创建了两个计算组。第一个是代表记分卡的度量列表。大多数行使用 SELECTEDMEASURE(),但其中一些行选择了硬度量。另一个计算组有一些时间智能(YTD、上一年和百分比差异)以及实际和预算的拆分。这就是如果我放入一个简单的金额度量( SUM('fact'[Amount]) )的结果。

视觉结果

措施中的逻辑不是开创性的,这些是时间结构的要素:

期间实际值: CALCULATE(SELECTEDMEASURE();'Fact'[Version]="Actuals")

期间预算: CALCULATE(SELECTEDMEASURE();'Fact'[Version]="Budget O")

期间差异: CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="Period Actuals") -CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="Period Budget")

期间差异 % :Divide( CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="Period Variance") ;CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="Period Budget") ;0)

YTD 实际值: CALCULATE(SELECTEDMEASURE();DATESYTD('Calender'[Date];"12-31");'Structure'[Structure] = "Period Actuals")

YTD 预算: CALCULATE(SELECTEDMEASURE();DATESYTD('Calender'[Date];"12-31");'Structure'[Structure] = "Period Budget")

YTD 当前差异: CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Actuals") - CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Previous Year")

YTD 当前年份: CALCULATE(SELECTEDMEASURE();'Structure'[Structure] = "YTD Actuals")

YTD 上一年: CALCULATE(SELECTEDMEASURE();DATESYTD(SAMEPERIODLASTYEAR('Calender'[Date]);"12-31");'Structure'[Structure] = "Period Actuals")

YTD 差异: CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Actuals") - CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Budget")

YTD Variance %: Divide(CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Variance");CALCULATE(SELECTEDMEASURE();'Structure'[Structure]="YTD Budget") ;0)


损益结构中的度量也很简单,这里有一些例子:

毛利率 WG : CALCULATE (SELECTEDMEASURE(); GLAccount[Level03 code] = "PL00_00")*-1

毛利率 WG - 起重机:计算 (SELECTEDMEASURE();GLAccount[Level03 代码] = "PL00_00";'Fact'[MachineType] = "LBCC")*-1

起重机数量:计算(sum('Fact'[Qty]); GLAccount[Level04 code] = "PL00_00_000";'Fact'[MachineType] = "LBCC")


该模型非常小,SQL Management Studio 估计其大小约为 250MB。

问题是,当我们使用其中一个名称计算组时,我们会得到正常的响应时间(最多 2 秒),但是当我们同时使用这两个名称时,可能需要几分钟才能在 Power BI 中获得结果。Excel 速度更快,但仍需要长达 30 秒。同时AS中的内存消耗增加了几GB?!?

当导航(过滤或添加维度)直到 PowerBI 停止工作时,情况会变得更糟。

我们已经尝试更改 DAX 公式,但我们可以弄清楚为什么它使用了这么多内存。希望你们中的一个可以向我们发送正确的方向。

谢谢!

标签: azurememorypowerbidaxssas-tabular

解决方案


推荐阅读