Search code examples
excelpowerbipowerquerypowerbi-desktopm

M / Power Query: Error in column reference?


M-code in Query Editor to change certain values in a column named "geenr":

'' let // Your source table Source = #"Hoek-CY-2_LM",

// Rename columns
RenamedColumns = Table.RenameColumns(Source, {{"Reel", "ReelKolom"}, {"Band", "BandKolom"}}),

// Values to replace in the "geenr" column
OldValues = {"1100 - Zonder", "2100 - Xani", "2450 - Nooit", "2700 - Niet"},
NewValues = {"Zonder", "Xani", "Nooit", "Niet"},

// Replace values in the specified column "kstplcode"
ReplacedValues = Table.ReplaceValue(
    RenamedColumns,
    each [geenr],
    each if List.Contains(OldValues, [geenr]) then NewValues{List.PositionOf(OldValues, [geenr])} else [geenr],
    Replacer.ReplaceValue,
    OldValues
)

in ReplacedValues '''

Something is wrong referencing the column name: this error is thrown:

Expression.Error: The column '1100 - Zonder' of the table wasn't found. Details: 1100 - Zonder


Solution

  • Try replacing the last statement with this:

    // Replace values in the specified column "kstplcode"
    ReplacedValues = Table.ReplaceValue(
        RenamedColumns,
        each [geenr],
        each if List.Contains(OldValues, [geenr]) then NewValues{List.PositionOf(OldValues, [geenr])} else [geenr],
        Replacer.ReplaceValue,
        {"geenr"}
    )