Excel - Powerquery: из папки: несколько файлов с нефиксированной начальной строкой - PullRequest
0 голосов
/ 18 февраля 2019

enter image description here

См. Ссылку на изображение выше

У меня есть несколько файлов xlsx в одной папке.Каждый файл имеет только один лист. (Образцы 4 исходных файлов показаны на рисунке) с именем файла.

Каждый файл имеет верхние n строк в качестве данных транзакции (нефиксированные n строк между 10-100 строками).

Внизу есть сводка транзакций. (Незафиксированная первая строка. Незафиксированные элементы)

Я ищу только сводку всех элементов с именем файла, используя powerquery.

Проблема: Строки моего резюме иногда начинаются с 10, иногда 32, иногда 100. Это не исправлено, поэтому невозможно кодировать.

1 Ответ

0 голосов
/ 18 февраля 2019

Будет выполнен поиск данных под строкой «Итоговая сводка» для каждого файла, а затем объединены эти данные из каждой рабочей книги:

Запрос: fnWeeklySummary

(Workbook, Week) =>
let
    Source = Excel.Workbook(Workbook, null, true),
    Worksheet = Source{0}[Data],
    #"Added Index" = Table.AddIndexColumn(Worksheet, "Index", 1, 1),
    #"Rows To Skip" = Table.SelectRows(#"Added Index", each Text.Contains([Column1], "Total Summary"))[Index]{0},
    #"Skipped Rows" = Table.Skip(Worksheet,#"Rows To Skip"),
    #"Promoted Headers" = Table.PromoteHeaders(#"Skipped Rows", [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"SKU", type text}, {"Inventory", Int64.Type}, {"Sellin", Int64.Type}, {"Ratio", Percentage.Type}}),
    #"Added Week" = Table.AddColumn(#"Changed Type", "Week", each Week, type text),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Week",{"Week", "SKU", "Inventory", "Sellin", "Ratio"})
in
    #"Reordered Columns"

Запрос: данные за неделю

let
    Source = Folder.Files("D:\WeeklyData"),
    #"Invoked Custom Function" = Table.AddColumn(Source, "Summary Data", each fnWeeklySummary([Content], Text.Replace([Name], ".xlsx", ""))),
    #"Combined Summary Data" = Table.Combine(#"Invoked Custom Function"[Summary Data])
in
    #"Combined Summary Data"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...