Power BI DAX中RANKX函数仅返回1的问题排查求助
解决RANKX函数返回全1的问题
问题根源
你的公式中,SUM(dProduto[preco])未指定迭代时的筛选上下文,导致RANKX遍历ALL(dProduto)的每一行时,计算的都是整个表的总价。所有行的排名依据值完全相同,因此排名均为1。
修正方案
用CALCULATE包裹聚合函数,让它在RANKX迭代过程中继承当前迭代行的筛选上下文,计算对应行的价格总和:
RankX = RANKX( ALL(dProduto), CALCULATE(SUM(dProduto[preco])) )
额外优化
如果你的需求是按产品(而非表的每一行)排名(比如同一产品有多行数据),可将ALL的参数改为ALL(dProduto[product]),让排名基于产品的总价计算:
RankX = RANKX( ALL(dProduto[product]), CALCULATE(SUM(dProduto[preco])) )
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

