PowerQuery 引用工作簿名称
PowerQuery refer to workbook name
下面的代码是简单的从source中提取A列中所有带"Spencer"的列。工作簿名称本身是 Spencer.xlsx。所以我想做一些类似 each ([Column1] = This.Workbook.Name))
的事情,但我不知道 PowerQuery 语言中的语法应该是什么。
let
Source = Excel.Workbook(File.Contents("C:\Users\spencer\Documents\Source.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = "Spencer"))
in
#"Filtered Rows"
在 excel 工作簿中的一个单元格中创建一个公式,该单元格 returns 当前文件名,并为该单元格指定一个范围名称,这里以 "TheFilename" 为例
=MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND(".xl",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)
使用以下语法在 powerquery 中引用该范围名称,您可以使用 Home...Advanced Editor 将其粘贴到 powerquery 中
name = Excel.CurrentWorkbook(){[Name="TheFilename"]}[Content]{0}[Column1]
然后像这样在您的过滤器中引用它
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = name))
下面的代码是简单的从source中提取A列中所有带"Spencer"的列。工作簿名称本身是 Spencer.xlsx。所以我想做一些类似 each ([Column1] = This.Workbook.Name))
的事情,但我不知道 PowerQuery 语言中的语法应该是什么。
let
Source = Excel.Workbook(File.Contents("C:\Users\spencer\Documents\Source.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", Int64.Type}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = "Spencer"))
in
#"Filtered Rows"
在 excel 工作簿中的一个单元格中创建一个公式,该单元格 returns 当前文件名,并为该单元格指定一个范围名称,这里以 "TheFilename" 为例
=MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND(".xl",CELL("filename",A1))-FIND("[",CELL("filename",A1))-1)
使用以下语法在 powerquery 中引用该范围名称,您可以使用 Home...Advanced Editor 将其粘贴到 powerquery 中
name = Excel.CurrentWorkbook(){[Name="TheFilename"]}[Content]{0}[Column1]
然后像这样在您的过滤器中引用它
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([Column1] = name))