DAX中SUMMARIZE函数的替代方法

时间:2019-11-01 16:54:33

标签: powerbi dax

卡在执行缓慢的报告上,并且我有很多基于以下代码的度量,这些度量仅修改了CALCULATE调用中使用的度量以获得不同的结果。 我正在向小组提出这个问题,以查看是否可以找到更好的解决方案,并放弃使用SUMMARIZE,基于我所读的一切,SUMMARIZE都是一场性能梦night。

__% Priority Orders Rank = 
VAR MedianItems =
MEDIANX (
    SUMMARIZE ( 
        ALLSELECTED ( Sales ), Sales[bill_to_id], Sales[billto_customer_name] ),
            CALCULATE ( 
                [__% Priority Orders]
            )
    )
RETURN
IF ( [__% Priority Orders] > 0 && [__% Priority Orders] <= .5 * MedianItems, "A",
    IF ( [__% Priority Orders] > .5 * MedianItems && [__% Priority Orders] <= MedianItems, "B",
        IF ( [__% Priority Orders] > MedianItems && [__% Priority Orders] <= 1.5 * MedianItems, "C", "D"
        )
    )
)

1 个答案:

答案 0 :(得分:0)

看起来> my_project@0.0.0 start /app > ng serve sh: 1: ng: not found npm ERR! file sh npm ERR! code ELIFECYCLE ... etc ... [__% Priority Orders]子句中被评估6次。通过将RESULT的结果保留在另一个[__% Priority Orders]中并在VAR中重用,可以提高性能。

如果您的模型将Customer和Sales分开放置在不同的表中或进行了归一化,则可以通过以下代码来获得更多的优化机会。

RETURN