我想在Power Query中添加源文件的名称作为新自定义列中每一行的值,作为文件名作为相关的唯一标识符。这可能吗?我已经浏览了自定义列公式中的所有函数,但我找不到一个返回源路径的函数。路径只是一个本地windows文件夹和文件名。理想情况下,我只需要文件名,但完整的路径也会工作。谢谢!我尝试添加以下代码:
djmepvbi1#
你可能需要更好地解释,但这可能会有所帮助正常的代码可能看起来像这样阅读文件
let Source = Excel.Workbook(File.Contents("Z:\Temp\list.xlsx"), null, true), FPT_Sheet = Source{[Item="FPT",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(FPT_Sheet, [PromoteAllScalars=true]) in #"Promoted Headers"
你可以把它改成这样
let filename="Z:\Temp\list.xlsx", Source = Excel.Workbook(File.Contents(filename), null, true), FPT_Sheet = Source{[Item="FPT",Kind="Sheet"]}[Data], #"Promoted Headers" = Table.PromoteHeaders(FPT_Sheet, [PromoteAllScalars=true]), #"Added Custom" = Table.AddColumn(#"Promoted Headers", "filename", each filename) in #"Added Custom"
也许你的另一个问题是你正在阅读一个范围,想知道源范围的文件名?用公式在文件中创建单元格
=MID(CELL("filename"),SEARCH("[",CELL("filename"))+1,SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-1)
并为单元格指定一个范围名称,如filename使用以下命令将其读入powerquery
filenamehere = Excel.CurrentWorkbook(){[Name="filename"]}[Content]{0}[Column1]
然后添加带有公式的自定义列
= filenamehere
1条答案
按热度按时间djmepvbi1#
你可能需要更好地解释,但这可能会有所帮助
正常的代码可能看起来像这样阅读文件
你可以把它改成这样
也许你的另一个问题是你正在阅读一个范围,想知道源范围的文件名?
用公式在文件中创建单元格
并为单元格指定一个范围名称,如filename
使用以下命令将其读入powerquery
然后添加带有公式的自定义列