更新PowerQuery函数以返回命名表列和行中的数据,而不仅仅是特定列中的行



我有一些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

相关内容

最新更新