Страницы: 1
RSS
PQ. Сравнить значение со всеми значениями из списка
 
Друзья, добрый день.
Подскажите, как решить вопрос с поочередной сверкой одного значение из списка в PQ. Я не знаю корректно ли в моем случае таблицу из 1 столбца преобразовывать в список, но какая задача, такой и пример.
Условие для нового столбца довольно таки простое  - если {товар} = {какому-то значению из списка} то 1, если ложь - ничего.
Другими словами, если товар из таблицы "Основа" присутствует в списке "Коэф", то значение 1.
Заранее благодарен.

PS Я понимаю что эти позиции можно путем слияния таблиц, но мне хочется узнать, можно ли это сделать более программным путем
Изменено: OblivionR - 29.04.2020 11:50:04
 
Можно так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Основа"]}[Content],
    ИзмененныйТип = Table.TransformColumnTypes(Источник,{{"Товары", type text}, {"Коэф", type number}}),
    ReplacedValue = Table.ReplaceValue(ИзмененныйТип, Коэф, each [Товары], (a,b,c)=>if List.Contains(b,c) then 1 else a, {"Коэф"} )
in
    ReplacedValue
Вот горшок пустой, он предмет простой...
 
PooHkrd, спасибо за отклик, идея интересная, но получается нужно каждый раз вносить столько переменных, сколько строк в списке, не совсем уж удобно.
 
Цитата
OblivionR написал:
нужно каждый раз вносить столько переменных, сколько строк в списке, не совсем уж удобно
А вы пробовали вносить изменения в таблицу Коэф и обновлять запрос?
Изменено: Михаил Л - 29.04.2020 13:22:32
 
Михаил Л, да, больше 3 значений не воспринимает или я что-то упустил?
 
Цитата
OblivionR написал:
или я что-то упустил?
Начните сначала: скачайте пример с шапки, скопируйте предложенный запрос, примените этот запрос в примере. Добавьте еще пару-тройку значений в таблицу Коэф и обновите запрос
 
Михаил Л, дээ, стыдно, все работает, но я не понимаю как
 
Поищите Table.ReplaceValue по форуму, мы тут её неоднократно уже разбирали по косточкам даже с картинками.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх