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

如何在ADF Power Query中基于Azure Blob新文件名传递动态参数?

解决方案:基于Azure Blob新生成文件名向Power Query传递动态参数

步骤1:创建动态参数

  • 打开Power Query编辑器,点击「主页」选项卡 →「管理参数」→「新建参数」,命名为TargetBlobFileName,类型选择「文本」,可设置一个示例文件名作为默认值。

步骤2:连接Blob存储并筛选目标文件

  1. 连接到你的Azure Blob存储账户,定位到指定的目标文件夹。
  2. 在文件夹内容的查询界面中,找到Name列,添加筛选规则:选择「等于」,然后关联刚才创建的TargetBlobFileName参数。
  3. 若要精准筛选当日新增文件,可结合Date modified列,用Date.From([Date modified]) = Date.From(DateTime.LocalNow())作为筛选条件,提取日期部分匹配当日。

步骤3:动态加载匹配的CSV数据

  • 筛选出目标文件后,点击Content列的展开按钮,选择「CSV」格式加载数据,后续直接衔接你已完成的数据清洗流程即可。

进阶:批量处理当日所有5个新增文件

如果需要一次性处理当日全部5个文件,无需单个参数,直接按日期筛选后批量加载:

  1. 在文件夹内容查询中添加自定义列,公式为Date.From([Date modified]) = Date.From(DateTime.LocalNow()),标记是否为当日文件。
  2. 筛选该自定义列为true的行,然后批量展开Content列的CSV数据,合并为统一数据集。

核心Power Query M代码片段

筛选当日文件并批量加载

let
    Source = AzureStorage.BlobContents("你的存储账户URL", "容器名/目标文件夹路径"),
    #"筛选当日文件" = Table.SelectRows(Source, each Date.From([Date modified]) = Date.From(DateTime.LocalNow())),
    #"添加CSV数据列" = Table.AddColumn(#"筛选当日文件", "CSV数据", each Csv.Document([Content])),
    #"展开CSV数据" = Table.ExpandTableColumn(#"添加CSV数据列", "CSV数据", Table.ColumnNames(#"添加CSV数据列"{0}[CSV数据]))
in
    #"展开CSV数据"

使用参数匹配单个文件名

let
    Source = AzureStorage.BlobContents("你的存储账户URL", "容器名/目标文件夹路径"),
    #"筛选目标文件" = Table.SelectRows(Source, each [Name] = TargetBlobFileName),
    #"加载CSV数据" = Csv.Document(#"筛选目标文件"{0}[Content])
in
    #"加载CSV数据"

注意事项

  • 确保Power Query已配置Blob存储的访问权限(账户密钥或SAS令牌均可)。
  • 若文件名有固定命名规则(如带日期前缀),可调整筛选条件为Text.StartsWith([Name], "前缀-" & Date.ToText(Date.From(DateTime.LocalNow()), "yyyyMMdd")),实现更精准的匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:02:15