Страницы: 1
RSS
Объединение запросов с условием в PQ
 
Всем привет!
Нужно объединить два запроса, но есть маленькая сложность, в столбце "SizeBore1" , нужно учитывать значение (то есть использовать данный столбец для сведения) только в том случае если в столбце "Group" содержится текст "Монтаж арматуры".
Предположил, что смогу использовать "Text.Contains", но что то пошло не так.
Код
let
    Источник = Table.NestedJoin(Таблица1,{"Area", "Line-Ref", "Group", "Description", 
each if Text.Contains([Group], "Монтаж арматуры") 
then [SizeBore1] 
else 0,Replacer.ReplaceValue,{"Group"}},Таблица3,{"Area", "Line-Ref", "Group", "Description",
each if Text.Contains([Group], "Монтаж арматуры") 
then [SizeBore1] 
else 0,Replacer.ReplaceValue,{"Group"} 
},"Таблица3",JoinKind.LeftOuter)
in
    Источник
 
Добрый вечер
если правильно понял, то как-то так
Код
let
    Источник =  Table.NestedJoin(
                    Таблица1,
                    {"Area", "Line-Ref", "Group", "Description"},
                    Таблица3,
                    {"Area", "Line-Ref", "Group", "Description"},
                    "Таблица3",
                    JoinKind.LeftOuter
                ),
    Replaced =  Table.ReplaceValue(
                    Источник, 
                    each [Group], 
                    each [SizeBore1], 
                    (a,b,c)=>if Text.Contains(b, "Монтаж арматуры")
                        then Table.SelectRows(a,each [SizeBore1]=c) 
                        else a,
                    {"Таблица3"}
                )
in
    Replaced
 
Андрей Лящук, спасибо, но не совсем то, в результате объединения запросов,  все работает в стандартном режиме, то есть столбцы с условием:
Код
let
    Источник = Table.NestedJoin(Таблица1,{"Area", "Line-Ref", "Group", "Description"},
Таблица3,{"Area", "Line-Ref", "Group", "Description"},"Таблица3",JoinKind.LeftOuter)
in
    Источник
 , но в случае если в столбце "Group" содержится "Монтаж арматуры" тогда добавляем в условие столбец "ZizeBore" и должны получить:
Код
let
    Источник = Table.NestedJoin(Таблица1,{"Area", "Line-Ref", "Group", "Description", "SizeBore1"},
Таблица3,{"Area", "Line-Ref", "Group", "Description", "SizeBore1"},"Таблица3",JoinKind.LeftOuter)
in
    Источник
Мне в голову приходит только вариант с "if" и "Text.Contains", но это топорно, думаю можно решить и покороче
 
Доброе время суток
Цитата
adamm написал:
Мне в голову приходит
Вам не приходило в голову - предоставить валидный пример, что есть что надо. По текущему - достаточно просто вывести первую верхнюю таблицу. Лучше два дня пообщаться на форуме, чем толковый пример подготовить, чтобы сразу было понятно что к с чем соединяется и что добавляется в результате соединения :)
 
Андрей VG, да согласен, нужно было немного корректнее выложить пример, но решение нашёл, спасибо!
 
Цитата
adamm написал:
решение нашёл
А поделиться, может же кому-нибудь пригодиться? Или улица с односторонним движением?
Страницы: 1
Наверх