#nested #powerquery #find-replace
Вопрос:
Я очень новичок в power query и по большей части могу спотыкаться и достигать того, что мне нужно, но в этом случае возможность добавлять столбец за столбцом, а затем удалять все ненужные просто кажется слишком уродливой.
Я пытаюсь заменить несколько разных элементов в одном столбце, где несколько тысяч строк. В основном объединение похожих названий должностей в общий заголовок:
Например, все названия, начинающиеся с Помощника по снабжению до Помощника по снабжению, все названия, начинающиеся с представителя NCC до представителя NCC.
В Excel это просто с использованием подстановочных знаков и вложенного оператора IF, но в PQ подстановочных знаков нет. В идеале я хотел бы сделать это без добавления нового столбца, но самое близкое, что я могу сделать, — это добавить новый столбец. Это работает для первой замены, но когда я добавил вторую, хотя первая все еще работает, каждый второй результат — «Функция».
= Table.AddColumn(#"Replaced Value1", "Title", each if Text.StartsWith([POS_TITLE], "Supply Assistant") then "Supply Assistant" else (each if Text.StartsWith([POS_TITLE], "NCC Rep") then "NCC Rep" else [POS_TITLE]))
Как мне заставить это работать при добавлении нового столбца выше или, что еще лучше, заменить несколько значений на основе начала текста в существующем столбце?
Если я смогу заставить работать второй, я смогу изменить остальные названия.
Заранее спасибо за любую помощь, но, пожалуйста, будьте проще — все поиски, которые я провел по этому вопросу, поставили меня в тупик!
Комментарии:
1. Ну, я вывел собаку на прогулку, вернулся и разобрался — какие-то скобки в неправильных местах: = Таблица. Добавьте столбец(#»Замененное значение 1″, «Заголовок», каждый, если Text.StartsWith([POS_TITLE], «Помощник по снабжению»), затем «Помощник по снабжению», иначе, если Text.StartsWith([POS_TITLE], «Представитель NCC»), затем «Представитель NCC», иначе, если Text.StartsWith([POS_TITLE], «Оператор станка»), затем «Оператор станка», еще [POS_TITLE])