Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello,
I need some help understanding how to pass a column name as parameter into a custom function.
I have a table (Accounts) from which I need a specific column (No) using a function that will filter that column.
@wdx223_Daniel was kind enough to help me getting the M code for filtering information in that table into another post: Power Query Select rows between two TEXT values
Now I have (partially) failed to create a custom function from his code, because the table name and column name will not be the same every time.
The code should be like this:
let
func = (srcTable as table, srcColumn as text, strStartWith as text, strEndWith as text) as list =>
let
Source = srcTable,
Pas1 = Table.Column(
Table.SelectRows(
Source,
each
let
fx = (txt1, txt2) =>
List.Count(Text.Split(txt1, ".")) = List.Count(Text.Split(txt2, "."))
and
Text.Remove(txt1, ".") <= Text.Remove(txt2, ".")
in
fx(strStartWith, srcColumn) and fx(srcColumn, strEndWith)
),
srcColumn
)
in
Pas1
in
func
My problem seems to be on the following line:
fx(strStartWith, srcColumn) and fx(srcColumn, strEndWith)
If instead of the parameter srcColum, represeting the source column from the source table (srcTable) that I have to filter & return as list I will put the real name of the column ([No]) as this:
fx(strStartWith, [No]) and fx([No], strEndWith)
...the code will work perfectly, and will return the expected data.
So, Is there a way to pass the column name as parameter?
Kind Regards,
Lucian
Solved! Go to Solution.
After some more digging, I find the answer => Record.Field(_,srcColumn).
So, changing the following line from:
fx(strStartWith, srcColumn) and fx(srcColumn, strEndWith)
to
fx(strStartWith, Record.Field(_,srcColumn)) and fx(Record.Field(_,srcColumn), strEndWith)
Will make the code work.
Kind Regards,
Lucian
After some more digging, I find the answer => Record.Field(_,srcColumn).
So, changing the following line from:
fx(strStartWith, srcColumn) and fx(srcColumn, strEndWith)
to
fx(strStartWith, Record.Field(_,srcColumn)) and fx(Record.Field(_,srcColumn), strEndWith)
Will make the code work.
Kind Regards,
Lucian
Thanks, this solved a problem for me 🙂
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
157 | |
60 | |
60 | |
28 | |
19 |