Forum Discussion

JackSoderstrom's avatar
4 years ago
Solved

Use a field name as a parameter

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;

 

  • Anonymous's avatar
    Anonymous
    4 years ago

    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

     

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    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 avatar
    Anonymous
    Not applicable

    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

  • v-jingzhang's avatar
    v-jingzhang
    Community Support

    Hi JackSoderstrom 

     

    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