Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!
I want to have a dynamic function that uses many names as a field name.
GetRowData = (table, RowIter, ColumnName) =>
let
end = table{RowIter}[ColumnName] //This line searches for "ColumnName" as a field name. How do I make this dynamic and use the parameter?
in
end;
Solved! Go to Solution.
This works:
(tableName as table, RowIter as number, columnName as text) =>
let
end = Record.Field(tableName{RowIter}, columnName)
in
end
"table' is a protected word, so you can't use that as a parameter name. Anyway, this will result in the single value of whatever is in that field (as opposed to returning a record or a table or a list value).
--Nate
@Anonymous 's solution should work. Have you tried that? If it's not what you want, can you clarify more about your requirement?
Best Regards,
Community Support Team _ Jing
Or I guess you said you need the field name:
(tableName as table, RowIter as number, columnName as text) =>
let
end = List.Select(Record.FieldNames(tableName{RowIter}), each _ = columnName)
in
end{0}
Doing it this way though, you are probably add MissingField.Ignore somewhere in there, in case your fields aren't avaliable.
--Nate
This works:
(tableName as table, RowIter as number, columnName as text) =>
let
end = Record.Field(tableName{RowIter}, columnName)
in
end
"table' is a protected word, so you can't use that as a parameter name. Anyway, this will result in the single value of whatever is in that field (as opposed to returning a record or a table or a list value).
--Nate
The Power BI Data Visualization World Championships is back! It's time to submit your entry.
| User | Count |
|---|---|
| 19 | |
| 9 | |
| 8 | |
| 8 | |
| 7 |