Я постоянно думаю, что это должно быть легко, но ответ уклоняется от меня. В Excel Power Query я хотел бы преобразовать значение в каждой строке столбца на основе значения другого столбца. Например, предположим, что у меня есть Table1 следующим образом:Power Query Преобразование столбца на основе другого столбца
Column A | Column B
-------------------
X | 1
Y | 2
Я хотел бы преобразовать значения в столбце А на основе значений в колонке B, без необходимости добавить новый столбец и заменить оригинальный Колонка A. Я попытались использовать TransformColumns, но вход может быть только значением целевого столбца - я не могу получить доступ к другим значениям поля в строке/записи из функции TransformColumns. Я бы как, чтобы быть в состоянии сделать что-то вроде этого:
=Table.TransformColumns(Table1, {"Column A", each if [Column B]=1 then "Z" else _ })
, который приведет к:
Column A | Column B
-------------------
Z | 1
Y | 2
Я знаю, что есть способы сделать это, но я пытаюсь найти один с наименьшим количеством шагов/преобразований. Например, я знаю, что я мог бы использовать Table.AddColumn для добавления нового Столбец A на основе функции, которая смотрит на столбец B, но затем мне нужно удалить исходный столбец A и заменить его новым столбцом A, который требует нескольких дополнительные шаги.
Сделка в первую очередь заключается в том, что я должен сделать это с помощью нескольких разных таблиц, и это было похоже на шаг, который можно было бы сделать в 1 шаге против несколько (т. е. Создать новый столбец, удалить старый столбец, переименовать новый столбец). Кроме того, я должен сделать это с несколькими столбцами на таблицу, и что хорошо для TransformColumns, это можно применить к нескольким столбцам одновременно, тогда как AddColumn добавляет по одному. У меня есть потенциальное решение, в котором я конвертирую таблицу в список записей и использую Record.TransformFields, которые я могу предоставить позже. – LoganTheSnowEater
Тем не менее вам понадобится новый столбец для результата преобразования. – teylyn