Используя PowerQuery, я хочу создать новый столбец со значением, равным элементу из списка {MED_NAME_LIST}, если этот элемент является подстрокой в одном из нескольких столбцов: [Name], [GenericName], [SimpleGenericName] .
В предыдущем посте я спросил, как выполнять фильтрацию на основании того, содержат ли несколько текстовых столбцов ([Name], [GenericName] или [SimpleGenericName]) подстроку из списка.
Powerquery, содержит ли строка элемент в списке?
Решение сработало хорошо, но теперь я понял, что мне также нужно знать, что такое соответствующий элемент списка.
Назад решение для фильтрации по списку:
MED_NAME_LIST = {"MEthYlprednisolone", "hYdroxychloroquine", "rEMdesivir"},
initialTable = Table.FromRows({
{"Methylprednisolone Tab", "train", "car", "bike"},
{"no", "no", "no", "no"},
{"tram", "teleport", "hydroxychloroQuine Tab", "jet"},
{"no", "no", "no", "yes"},
{"REMdesivir Tab", "bus", "taxi", "concord"}
}, type table [Name = text, GenericName = text, SimpleGenericName = text, SomeOtherColumn = text]),
filtered = Table.SelectRows(initialTable, each List.ContainsAny(
{[Name], [GenericName], [SimpleGenericName]},
MED_NAME_LIST,
(rowValue as text, medicineFromList as text) as logical => Text.Contains(rowValue, medicineFromList, Comparer.OrdinalIgnoreCase)
))
in
filtered```