自定义函数 Power Query (M) - Return Table

Custom Function Power Query (M) - Return Table

我需要一个带有两个参数的自定义函数,Column1 和 Column2,所以:

我试过这个:

let ColumnsFilter = (Tabla,C1,C2)=>

Table.AddColumn(Tabla, "Custom", each if [C2] <> null then [C1] else null)

in
    ColumnsFilter

并调用函数:

#"Previous Step" = .....
#"P" = ColumnsFilter(#"Previous Step","Column1","Column2")

in
    P

而且不工作。显然我没有正确使用语法。

总而言之,我需要一个 table 作为输入和一个 table 作为输出添加自定义列。

这个怎么写?

(请不要告诉我使用Power Query的辅助,我需要手动编写类似的功能)

由于您将列名作为文本传递,并且各个行是记录类型,因此您必须使用 Record.Field 从当前行(记录)中拉出正确的列(字段)。

let
    ColumnsFilter = (Tabla as table, C1 as text, C2 as text) as table =>
        Table.AddColumn(Tabla, "Custom",
            each if Record.Field(_, C2) <> null then Record.Field(_, C1) else null
        )
in
    ColumnsFilter