Forum Discussion

Gabe_V's avatar
Gabe_V
Icon for Helper I rankHelper I
3 years ago
Solved

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's avatar
    ppm1
    Icon for Solution Sage rankSolution 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's avatar
      Gabe_V
      Icon for Helper I rankHelper 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!