Полное решение для этого потребовало бы углубления в детали того, как структурированы ваши данные, и потенциально могло бы охватывать множество тем.Поскольку вы уже рассмотрели один способ массового поиска / замены (который можно выполнить различными способами в Power Query), я просто покажу вам свое уродливое решение для извлечения параметров.
List.Transform
(
List.Select
(
Text.Split([YOUR TEXT HERE], " "), each Text.Contains(_,"&")
),
each List.Accumulate
(
{";",")"}, <--- LIST OF CHARACTERS TO CLEAN
"&" & Text.AfterDelimiter(_, "&"),
(String,Remove) => Text.Replace(String,Remove,"")
)
)
Это немного запутанно, но вот лучшее, что я могу объяснить, что происходит.
Первая ключевая часть объединяет List.Select с Text.Split для извлечения всех параметров из строки в список.Он использует «» для разделения слов в списке, а затем фильтрует слова, содержащие «&», что во втором примере означает, что список будет содержать «(ID <& ID1» и «ID> = & ID2);»на данный момент.
Вторая часть использует Text.AfterDelimiter для извлечения текста, который появляется после «&» в нашем списке параметров, и List.Accumulate для «очистки» любых нежелательных символов, которые потенциально могут бытьдержась за параметр.Список символов, которые вы хотите очистить, должен быть определен вручную (я просто вставляю «;» и «)» на основе данных примера).Мы также вручную повторно добавляем «&» к параметру, потому что Text.AfterDelimiter удалил бы его.
В результате получается объект List из извлеченных параметров из любой предоставленной вами примерной строки.Вы можете настроить запрос, который будет принимать таблицу из ваших строк SQL, применять этот код в настраиваемом столбце, где [ВАШ ТЕКСТ ЗДЕСЬ] - это поле, содержащее ваши строки, а затем расширять получаемые списки и удалять дубликаты на них, чтобы получить уникальный список.всех параметров в ваших строках SQL.