You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Query中获取第N大值?现有代码报错求助

Power Query 获取第N大值的解决方法

错误代码问题分析

你提供的代码存在两处语法错误:

  1. 错误嵌套了List.Max函数,排序操作应该直接作用于Charge字段组成的列表,无需先调用List.Max
  2. 参数位置错误:Order.Descending是List.Sort的第二个参数,不应放在列表内部;同时索引调用的括号位置也不正确

修正后的排序实现代码

= List.Sort({[#"Charge1"],[#"Charge2"],[#"Charge3"],[#"Charge4"],[#"Charge5"],[#"Charge6"],[#"Charge7"],[#"Charge8"],[#"Charge9"],[#"Charge10"]}, Order.Descending){1}

说明:Power Query列表索引从0开始,降序排序后索引{1}对应的就是第二大值。

其他获取第N大值的方法

方法1:使用List.NthMax(推荐,适用于新版Power Query)

该函数直接支持获取第N大值,参数N从1开始计数:

= List.NthMax({[#"Charge1"],[#"Charge2"],[#"Charge3"],[#"Charge4"],[#"Charge5"],[#"Charge6"],[#"Charge7"],[#"Charge8"],[#"Charge9"],[#"Charge10"]}, 2)

方法2:移除最大值后取剩余最大值(适用于旧版Power Query)

先移除列表中的所有最大值,再取剩余元素的最大值,即为第二大值:

= List.Max(List.RemoveItems({[#"Charge1"],[#"Charge2"],[#"Charge3"],[#"Charge4"],[#"Charge5"],[#"Charge6"],[#"Charge7"],[#"Charge8"],[#"Charge9"],[#"Charge10"]}, {List.Max({[#"Charge1"],[#"Charge2"],[#"Charge3"],[#"Charge4"],[#"Charge5"],[#"Charge6"],[#"Charge7"],[#"Charge8"],[#"Charge9"],[#"Charge10"]})}))

内容的提问来源于stack exchange,提问作者Orfevre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:15:35