PowerQuery多个文件,并添加列(PowerQuery multiple files and

2019-11-03 19:27发布

我有内嵌PowerQuery自动化我每周的报告。 由于我是新来的功率查询我遵循了这个教程 ,并尝试添加自定义列,所以我可以用它来看看本周在上周的改进,事情是被添加未命名为“周”,但列相反,它是所谓的文件名。 从这个网页的第二个参数是列名。 我不觉得为什么列名是文件名,而不是“周”这个名字。

let ExcelFile = (FilePath, FileName) =>
let
    Source = Folder.Files(FilePath),
    File = Source{[#"Folder Path"=FilePath,Name=FileName]}[Content],
    ImportedExcel = Excel.Workbook(File),
    Sheet1 = ImportedExcel{[Name="Page1_1"]}[Data],
    TableWithWeek = Table.AddColumn(Sheet1,"Week", each FileName),
    TableWithoutHeader = Table.Skip(TableWithWeek,3),
    FirstRowAsHeader = Table.PromoteHeaders(TableWithoutHeader)
in
    FirstRowAsHeader
in
    ExcelFile

Answer 1:

这一呼吁:

FirstRowAsHeader = Table.PromoteHeaders(TableWithoutHeader)

将取代你有从第一行中的值的列名。 由于列“周”下的第一个值是文件名,那么你的表将现在使用的文件名作为列名。

您可以通过添加使用PromoteHeaders后的自定义列解决这个问题:

let ExcelFile = (FilePath, FileName) =>
    let
        Source = Folder.Files(FilePath),
        File = Source{[#"Folder Path"=FilePath,Name=FileName]}[Content],
        ImportedExcel = Excel.Workbook(File),
        Sheet1 = ImportedExcel{[Name="Page1_1"]}[Data],
        TableWithoutHeader = Table.Skip(Sheet1, 3),
        FirstRowAsHeader = Table.PromoteHeaders(TableWithoutHeader),
        TableWithWeek = Table.AddColumn(FirstRowAsHeader,"Week", each FileName),
    in
        TableWithWeek
in
    ExcelFile


文章来源: PowerQuery multiple files and add column