azure - 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 公式,但我们可以弄清楚为什么它使用了这么多内存。希望你们中的一个可以向我们发送正确的方向。
谢谢!
解决方案
推荐阅读
- reactjs - reactjs中的嵌套循环
- denodo - 如何在 Denodo 中获取数组的长度?
- java - Google 我的业务中线程“main”java.io.EOFException 中的异常
- c# - Moq - 更新回调内部的参考参数不起作用
- docker - 使用 docker 内的 metricbeat 监控 docker
- python-3.x - 阻止scrapy重定向到特定国家的域
- java - What is the property IS_COALESCING in XMLInputFactory for?
- c++ - 同一应用程序的多个实例在 Mac 上使用终端启动时挂起
- docker - Docker 组合服务名和主机名
- docker - 赛普拉斯错误:无法获取“appData”路径