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

无法修改Source.Name类型导致PDF文件排序异常的解决咨询

解决文件名字典序排序异常的方法

你猜的没错,问题确实出在Source.Name是文本类型——文本排序是按字符逐个比较的,所以"10"会排在"2"前面。直接转数字类型失败是因为文件名带.pdf后缀,系统没法把带字母的文本转成数字。下面给你几个实用的解决办法:

方法1:添加数字辅助列排序

  1. 打开Power Query编辑器,找到你的数据源表
  2. 点击「添加列」→「自定义列」,输入以下公式:
    Number.From(Text.BeforeDelimiter([Source.Name], ".pdf"))
    
    这个公式会先提取文件名中.pdf之前的数字部分,再把它转换成数字类型
  3. 选中新生成的数字列,点击「升序排序」,就能得到1.pdf,2.pdf,3.pdf...的正确顺序
  4. 如果不需要保留这个辅助列,右键点击列名选择「隐藏」即可

方法2:提取文件名中的所有数字(适配复杂文件名)

如果你的文件名不全是数字.pdf的格式(比如report_5.pdf、doc-12.pdf),可以用这个更通用的公式提取数字:

Number.From(Text.Select([Source.Name], {"0".."9"}))

它会从文件名里提取所有数字字符并转换成数字,再按这个数字排序就行

方法3:无需新增列的自定义排序

如果你不想添加额外列,可以直接用自定义排序规则:

  1. 点击Source.Name列的排序按钮,选择「排序依据」→「高级排序选项」
  2. 在「排序依据」里选择「自定义」,输入和方法1一样的公式:
    Number.From(Text.BeforeDelimiter([Source.Name], ".pdf"))
    
  3. 设置排序方式为「升序」,确认后就能得到正确的排序结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:29:57