Forum Discussion
SaaM
5 years agoHelper II
Refactor a function
Hello, I am trying to refactor this function that I apply on 10 differents columns. fnConcatenate = (tbl as table) => Table.AddColumn(tbl, "field_1_combined", each if [id]>[linenumber] then ...
- Anonymous5 years ago
try
fnConcatField = (tbl as table, field as text) => Table.AddColumn(tbl, field & "_combined", each if [id]>[linenumber] then Text.Combine( Table.Column(Table.SelectRows(tbl, (sel)=> sel[key] = [key] and sel[id]>= [id]), field)) else Record.Field(_, field))try something like this (I haven't tested it)
lbendlin
5 years agoSuper User
Column names can be created dynamically
fnConcatenate = (tbl as table, field as text) => Table.AddColumn(tbl, field + "_combined",
but they cannot be referenced (easily) dynamically. Have you considered using Expression.Evaluate() for this?
SaaM
5 years agoHelper II
I never used Expression.Evaluate()
I will look for this approach
Thanks
Kind regards,
Saam