Помогите, пожалуйста, с решением следующей задачи: В приложенном файле имеются 2 таблицы: "Смета" и "Не закупаемый материал". Необходимо в таблице "Смета" в столбце "Тип ресурса" проставить признак "Не закупаемый", если в тексте "Наименование ресурса" содержится любое значение из таблицы "Не закупаемый материал".
До сих пор я решал эту задачу путем добавления условий вручную через Условный столбец в PQ, но поскольку список все время пополняется, хотелось бы найти более автоматизированное решение. Собственно удалось найти на форуме похожую задачу тут, но причесать решение под мои нужды, к сожалению, не получилось.
Правильнее с точки зрения быстродействия так всё же
Код
= Table.AddColumn(
#"Changed Type",
"Пользовательский",
let
NZM = List.Buffer(НЗМ[Не закупаемый материал])
in
each if List.MatchesAny(
NZM,
(material)=>Text.Contains([Наименование ресурса], material, Comparer.OrdinalIgnoreCase)
)
then "Не закупаемый"
else null,
type text)
А для источника полученного из Excel.CurrentWorkbook() точно это справедливо? У меня сложилось такое стойкое ощущение, что данная функция и так берет таблички не читая их с диска, а сразу из оперативки. Т.е. по сути из Table.Buffer. Основано оно на том, что при внесении изменений в умную таблицу запрос видит эти изменения сразу, без сохранения файла на диск. Неоднократно закидывал такое в буфер, но особого прироста производительности не ощущал. Вы сталкивались с ситуациями обратного толка?
Максим Зеленский, а можно по злоупотреблять вашим MVP статусом и выходом на разрабов? Можете, как освободится минутка-другая, задать им такой вопрос на Технет и кинуть сюда ссылку? Или там всем подряд гуру отвечают и имеет смысл влезть с вопросом самому?