Устранение ошибки «Power Query M: ключ не соответствует ни одной строке в таблице».

Power Query M — это мощный язык преобразования и подготовки данных, используемый в таких инструментах, как Power BI, Excel и Power Query. Однако, как и любой другой язык программирования, он может столкнуться с ошибками при манипулировании данными. Одна из таких распространенных ошибок — «Ключ не соответствует ни одной строке в таблице». В этой статье мы рассмотрим несколько способов устранения и устранения этой ошибки, а также примеры кода.

Метод 1: проверка ключевых столбцов
Первым шагом в устранении этой ошибки является проверка правильности определения ключевых столбцов в вашей таблице. Проверьте, совпадают ли имена столбцов и типы данных в таблицах, которые вы пытаетесь объединить или объединить. Вот пример фрагмента кода:

let
    Source1 = Table1,
    Source2 = Table2,
    JoinedTable = Table.NestedJoin(Source1, {"KeyColumn"}, Source2, {"KeyColumn"}, NewColumnName)
in
    JoinedTable

Метод 2: проверка на несоответствия данных
Иногда ошибка может возникнуть из-за несоответствия данных между ключевыми столбцами. Убедитесь, что значения в ключевых столбцах одинаковы в таблицах, с которыми вы работаете. Вы можете использовать функцию Table.Distinct, чтобы идентифицировать любые уникальные значения, вызывающие несоответствие. Вот пример фрагмента кода:

let
    Source1 = Table1,
    Source2 = Table2,
    UniqueValues1 = Table.Distinct(Source1, {"KeyColumn"}),
    UniqueValues2 = Table.Distinct(Source2, {"KeyColumn"}),
    JoinedTable = Table.NestedJoin(Source1, {"KeyColumn"}, Source2, {"KeyColumn"}, NewColumnName)
in
    JoinedTable

Метод 3: обработка нулевых или отсутствующих значений
Нулевые или отсутствующие значения в ключевых столбцах также могут вызвать ошибку. Вы можете использовать функцию Table.ReplaceValue или Table.Fill для обработки этих нулевых значений перед слиянием или соединением таблиц. Вот пример фрагмента кода:

let
    Source1 = Table1,
    Source2 = Table2,
    NullHandledTable1 = Table.ReplaceValue(Source1, null, "N/A", Replacer.ReplaceValue, {"KeyColumn"}),
    NullHandledTable2 = Table.ReplaceValue(Source2, null, "N/A", Replacer.ReplaceValue, {"KeyColumn"}),
    JoinedTable = Table.NestedJoin(NullHandledTable1, {"KeyColumn"}, NullHandledTable2, {"KeyColumn"}, NewColumnName)
in
    JoinedTable

Метод 4. Применение обработки ошибок
Вы можете реализовать методы обработки ошибок, чтобы фиксировать и обрабатывать ошибки. Используя конструкцию try…иначе, вы можете предоставить альтернативные действия в случае возникновения ошибки. Вот пример фрагмента кода:

let
    Source1 = Table1,
    Source2 = Table2,
    JoinedTable = try Table.NestedJoin(Source1, {"KeyColumn"}, Source2, {"KeyColumn"}, NewColumnName)
    otherwise Table.Empty()
in
    JoinedTable

Ошибку «Ключ не соответствует ни одной строке в таблице» в Power Query M можно устранить различными методами. Проверяя ключевые столбцы, проверяя несоответствия данных, обрабатывая нулевые или отсутствующие значения и применяя методы обработки ошибок, вы можете преодолеть эту ошибку и обеспечить успешное слияние или соединение данных. Понимание этих методов устранения неполадок поможет вам эффективно использовать Power Query M для задач преобразования данных.