Путь к файлу Power Query из значения ячейки - PullRequest
0 голосов
/ 01 ноября 2019

В моей книге Excel есть таблица с именем ResultsTable, в этой таблице есть путь к файлу enter image description here

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

У меня есть Query, который должен получить все файлы 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: Указанный путь к папке должен быть действительным абсолютным путем. Подробности: ResultsTable

Я надеюсь, что кто-то может помочь мне справиться с этой ошибкой :)

РЕДАКТИРОВАТЬ: Добавлен снимок экрана с настройкой моего листа с таблицами

1 Ответ

1 голос
/ 01 ноября 2019

Код можно исправить следующим образом:

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

В исходном коде Folder.Files() получал буквальный текст «ResultsTable», а не значение ячейки в ResultsTable. Сначала нужно выбрать значение ячейки с помощью Excel.CurrentWorkbook(), а затем передать его на Folder.Files().

...