Forum Discussion
Record.Field with underscore returns: "The name '_' wasn't recognized."
I am trying to remove a set of columns from a table by their index/position as opposed to the column name, because the column names can vary from month to month. I am using the code below, derived from a similar method I used before with the Table.AddColumn function (with no issues), but now when I try to use it in the Table.RemoveColumns function I get this error: "Expression.Error: The name '_' wasn't recognized. Make sure it's spelled correctly." Can anyone help explain why the underscore doesn't work in this instance, and what I should use instead? Thanks in advance!
#"Removed Columns1" = Table.RemoveColumns(
Source,
{
each Record.Field(_, Table.ColumnNames(Source){12}),
Record.Field(_, Table.ColumnNames(Source){14}),
Record.Field(_, Table.ColumnNames(Source){16})
},
MissingField.Ignore
)
Try this instead:
#"Removed Columns1" = Table.RemoveColumns(
Source,
{
Table.ColumnNames(Source){12},
Table.ColumnNames(Source){14},
Table.ColumnNames(Source){16}
},
MissingField.Ignore
)Pat
2 Replies
- ppm1
Solution Sage
Try this instead:
#"Removed Columns1" = Table.RemoveColumns(
Source,
{
Table.ColumnNames(Source){12},
Table.ColumnNames(Source){14},
Table.ColumnNames(Source){16}
},
MissingField.Ignore
)Pat
- Gabe_V
Helper I
Well how about that! It works perfectly! However, it does kind of make me wonder why the Record.Field was needed in my previous Table.AddColumn query, because I had initially tried that one with just using Table.ColumnNames and it failed. I suppose that musing is for another day though. Thank you so much for your quick help! Cheers!