首页 > 解决方案 > 来自单元格值的 Power Query 文件路径

问题描述

我在我的 excel 工作簿中有一个名为 ResultsTable 的表,在该表中有一个文件路径 在此处输入图像描述

C:\Users\XXXX\OneDrive - WORK\Digital Soil\Data\Results

我有查询应该从文件夹中获取所有 excel 文件并将数据转换为有用的东西,如下所示:

let
    Source = Folder.Files("ResultsTable"),
    #"Filtered Hidden Files1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File from Analyseresultater", each #"Transform File from Analyseresultater"([Content])),
    #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", "Source.Name"}),
    #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", "Transform File from Analyseresultater"}),
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Analyseresultater", Table.ColumnNames(#"Transform File from Analyseresultater"(#"Sample File"))),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded Table Column1",{"Key", "Attribute", "Value"})
in
    #"Removed Other Columns"

但我得到了错误

DataFormat.Error:提供的文件夹路径必须是有效的绝对路径。详细信息:结果表

我希望有人可以帮助我解决这个错误:)

编辑:添加了如何设置我的表格的屏幕截图

标签: excelfilepathpowerquery

解决方案


您可以修复代码,例如,

let
    FilePath = Excel.CurrentWorkbook(){[Name="ResultsTable"]}[Content][Path to results]{0},
    Source = Folder.Files(FilePath),

在原始代码中,Folder.Files()接收的是文字“ResultsTable”,而不是 ResultsTable 中的单元格值。您需要先用 选择单元格值Excel.CurrentWorkbook(),然后将其传递给Folder.Files()


推荐阅读