代码之家  ›  专栏  ›  技术社区  ›  David T

Excel Power Query M:将标题作为函数参数传递?

  •  0
  • David T  · 技术社区  · 7 年前

    在Excel Power Query中,使用M语言: 如何将列名作为参数传递给函数?举个(人为的)例子,假设我有一张桌子:

    Fish    Fowl
    1   
    2       1
            1
    2   
    

    我想要一个函数,它将接受表和其中一个列名,并返回该列的总和。我尝试了这个实现

    let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        SumType = (Tbl, ColumnName) =>
             List.Sum(Tbl[ColumnName]),
        FowlSum = SumType(ChType, "Fowl")
    in
        FowlSum
    

    但它失败了,出现了一个错误:“找不到列‘ColumnName’。”

    那么,我如何将列名(作为字符串)传递给函数,然后在函数中访问该列呢?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Alejandro Lopez-Lago - MSFT    7 年前

    使用 Table.Column . 在你的情况下,这条线看起来像 List.Sum(Table.Column(Tbl, ColumnName)) .