Forum Discussion
rpiboy_1
3 years agoHelper V
Can't seem to implement Record.FieldValues properly
I still keep having issues on how to implement Record.FieldValues in given situations. Here is the M code I have currently. let
ColumnFilter = "Status",
Source = Table1,
#"Head...
- 3 years ago
Hi rpiboy_1 ,
thanks, that's helpful.
You would have to adjust like this:let ColumnFilter = "Status", Source = Table1, #"Headers" = Table.ColumnNames(Source), #"Converted to Table" = Table.FromList(Headers, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Added Conditional Column" = Table.AddColumn(#"Converted to Table", "Custom", each if Text.Contains([Column1], ColumnFilter) then [Column1] else null), #"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"Column1"}), #"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([Custom] <> null)), #"HeaderList" = #"Filtered Rows"[Custom], #"Merged Columns" = Table.AddColumn(Source, "Merged", each Text.Combine(Record.FieldValues(Record.SelectFields(_,#"HeaderList")), ""), type text) in #"Merged Columns"so first you select the relevant fields of the records and then you fetch their values afterwards:
Record.FieldValues(Record.SelectFields(_,#"HeaderList"))
ImkeF
3 years agoCommunity Champion
Hi rpiboy_1 ,
thanks, that's helpful.
You would have to adjust like this:
let
ColumnFilter = "Status",
Source = Table1,
#"Headers" = Table.ColumnNames(Source),
#"Converted to Table" = Table.FromList(Headers, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Added Conditional Column" = Table.AddColumn(#"Converted to Table", "Custom", each if Text.Contains([Column1], ColumnFilter) then [Column1] else null),
#"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"Column1"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Columns", each ([Custom] <> null)),
#"HeaderList" = #"Filtered Rows"[Custom],
#"Merged Columns" = Table.AddColumn(Source, "Merged", each Text.Combine(Record.FieldValues(Record.SelectFields(_,#"HeaderList")), ""), type text)
in
#"Merged Columns"
so first you select the relevant fields of the records and then you fetch their values afterwards:
Record.FieldValues(Record.SelectFields(_,#"HeaderList"))
rpiboy_1
3 years agoHelper V
Perfect, thanks so much, and the explanation makes sense. Seems like I was generally moving in the right direction, just didn't realize the need to apply the Record.SelectFields function.