自定义函数 Power Query (M) - Return Table
Custom Function Power Query (M) - Return Table
我需要一个带有两个参数的自定义函数,Column1 和 Column2,所以:
- 对于每一行,return Column1 的值,但前提是 Column2 中存在值,否则 return null
我试过这个:
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
我需要一个带有两个参数的自定义函数,Column1 和 Column2,所以:
- 对于每一行,return Column1 的值,但前提是 Column2 中存在值,否则 return null
我试过这个:
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