Если ваша исходная таблица выглядит примерно так:
, тогда этот код:
let
initialTable = Table.FromColumns({{"Apple", "Facebook"}, {"Facebook, Instagram", "Facebook, Instagram"}}, type table [Company = text, List = text]),
matchColumn = Table.AddColumn(initialTable, "Match", each List.Contains(Text.Split([List], ", "), [Company]), type logical)
in
matchColumn
должен дать ожидаемый результат:
- Я разделил список компаний по разделителю
,
(после запятой есть пробел), поскольку именно это Вы показали в своем вопросе. Вы можете изменить код на ,
, если пробела нет. - Я использовал
true
/ false
(вместо "YES"
/ "NO"
). - Если любое из названий компаний содержит запятые (то есть запятые, которые следует интерпретировать буквально, а не как разделители), вы можете получить неожиданное поведение / вывод.
Splitter.SplitTextByDelimiter
может помочь вернуть лучшую функцию расщепления, но для этого требуется, чтобы ваши значения уже были в кавычках (которых они не представляют).
В качестве альтернативы попробуйте:
let
initialTable = Table.FromColumns({{"Apple", "Facebook"}, {"Facebook, Instagram", "Facebook, Instagram"}}, type table [Company = text, List = text]),
matchColumn = Table.AddColumn(initialTable, "Match", each if List.Contains(Text.Split([List], ", "), [Company]) then "AB119" else "AD119", type text)
in
matchColumn