如何在PowerBI中按指定正则规则筛选文件夹内的Excel数据源文件
在PowerBI中通过正则筛选符合命名规则的Excel文件
直接替换你现有筛选步骤的M语言代码即可实现精准匹配,核心是用Text.Matches函数结合正则表达式,完全贴合你需要的命名规则:
= Table.SelectRows(Origen, each Text.Matches([Name], @".*_.*_\d{6}\.xlsx") and not Text.StartsWith([Name], "~") )
代码说明
Text.Matches([Name], @".*_.*_\d{6}\.xlsx"):用.NET正则引擎匹配文件名,规则对应你的需求:.*:匹配任意长度的任意字符(如果要求开头必须有非空内容,可改成.+)_:匹配下划线分隔符\d{6}:精准匹配6位数字\.xlsx:匹配Excel文件后缀(反斜杠转义是为了避免.被当成通配符)
not Text.StartsWith([Name], "~"):保留原有逻辑,过滤Excel生成的临时缓存文件
操作步骤
- 打开PowerBI的Power Query编辑器,找到加载文件夹后生成的
Origen表 - 定位到筛选行的步骤,点击步骤旁的齿轮图标,或是直接在顶部公式栏替换原有筛选代码
- 点击「应用」,即可仅加载符合规则的Excel文件
额外拓展(可选)
如果需要提取文件名中的6位数字作为单独列用于分析,可添加自定义列,使用以下代码:
= Text.Extract([Name], @"\d{6}")
内容的提问来源于stack exchange,提问作者Pollastre
相关产品推荐
相关产品推荐

