PowerQuery 根据键列选择值
PowerQuery choose values based on a key column
我有非常大的文件,PowerQuery 似乎可以很好地处理这些文件。我需要使用 d
列和基于 key
列的值的 a
、b
或 c
列的值进行一些数学运算。我的第一个想法是隔离显着值,创建一个名为 Salient
的列,该列选择我需要的值,然后从那里开始。在 Excel 中,这可能是:=INDEX($A:$E, ROW(F2), MATCH(A2,$A:$D))
.
实际上,我有 50 到 100 列以及数百万行,因此计算效率加分。
您可以定义一个自定义列 Salient
,定义如下:
Record.Field(_, [Key])
整个步骤的M代码如下所示:
= Table.AddColumn(#"Prev Step Name", "Salient", each Record.Field(_, [Key]), Int64.Type)
_
表示当前行,是记录数据类型,可以表示为如
[Key = "a", a = 17, b = 99, c = 21, d = 12]
并且您使用Record.Field选择对应于Key
的字段。
我有非常大的文件,PowerQuery 似乎可以很好地处理这些文件。我需要使用 d
列和基于 key
列的值的 a
、b
或 c
列的值进行一些数学运算。我的第一个想法是隔离显着值,创建一个名为 Salient
的列,该列选择我需要的值,然后从那里开始。在 Excel 中,这可能是:=INDEX($A:$E, ROW(F2), MATCH(A2,$A:$D))
.
实际上,我有 50 到 100 列以及数百万行,因此计算效率加分。
您可以定义一个自定义列 Salient
,定义如下:
Record.Field(_, [Key])
整个步骤的M代码如下所示:
= Table.AddColumn(#"Prev Step Name", "Salient", each Record.Field(_, [Key]), Int64.Type)
_
表示当前行,是记录数据类型,可以表示为如
[Key = "a", a = 17, b = 99, c = 21, d = 12]
并且您使用Record.Field选择对应于Key
的字段。