我有一些M
代码,它从Excel中命名表的指定行返回一个值(称为fParameters(:
let Parameter=(TableName,RowNumber) =>
let
Source = Excel.CurrentWorkbook(){[Name=TableName]}[Content],
value = Source{RowNumber-1}[Value]
in
value
in Parameter
我使用该函数设置要从何处加载原始数据:
Source = Excel.Workbook(File.Contents(fParameters("Parameters",1) & fParameters("Parameters",4)),null, true),
S1_Sheet = Source{[Item="S1",Kind="Sheet"]}[Data],
上面的代码将查看Parameters表的第1行和第4行,以返回源文件。然后,它将从源文件上的S1工作表中获取数据。
问题:
我想更改函数,这样我就可以更改它所查看的列的名称。目前它正在查看[Value]
列。我已经尝试添加ColumnName
作为函数的第三个参数,但无法让它查看该列——最多只能查找一个名为ColumnName
的列。
let Parameter=(TableName,RowNumber,ColumnName) =>
let
Source = Excel.CurrentWorkbook(){[Name=TableName]}[Content],
value = Source{RowNumber-1}[ColumnName]
in
value
in Parameter
我尝试过使用花括号的变体,但无法使用。有人能给我指正确的方向吗?
尝试
(TableName,RowNumber,ColumnName) =>
let
Source = Excel.CurrentWorkbook(){[Name=TableName]}[Content],
value = Table.Column(Source,ColumnName){RowNumber-1}
in value
一种方法是选择列,然后引用行
let Parameter=(TableName,RowNumber,ColumnName) =>
let
Source = Excel.CurrentWorkbook(){[Name=TableName]}[Content],
SelectColumn = Table.SelectColumns(Source, ColumnName),
SelectValue = SelectColumn{RowNumber-1}
in
SelectValue
in Parameter