Должны остаться уникальные значения, чтобы не потерялись данные. Это возможно при удалении или строк 2 и 3 или 1 и 4. Если удалить 1 и 2 потеряем код объекта, Если 1 и 3 то Сумму.
TankSpb, имею смутное сомнение что вам нужно не сколько удалить дубли, сколько правильно развернуть столбцы на предыдущих этапах запроса. Можно посмотреть каким таким образом вы получили такие дубликаты? Т.е. что вы к чему приджойнили, и что на самом деле нужно было получить на выходе?
PooHkrd, действительно есть 2 объекта по одному адресу с разными кодами и 2 суммы под эти объекты, но прямой связи между ними нет, я это понимаю и на выходе нужно на один код повесить одну сумму на другой - вторую.
TankSpb,так как вы определяете, что на объект с кодом 78-00060 надо повесить сумму 3400? И почему на второй объект сумма должна быть 4500? Почему именно так? или вообще без разницы, главное, чтобы разные были?
Цитата
TankSpb написал: 2 объекта по одному адресу с разными кодами и 2 суммы под эти объекты
в примере покажите это. Скорее всего там кроется решение
TankSpb, не по этому, это из-за добавления нового адреса. Сначала группируетесь по адресу, а к сгруппированным таблицам уже применяйте мой алгоритм. Сразу бы составили нормальный пример. Сейчас извините, переделать уже не успеваю.
Максим Зеленский написал: С "без повторов": модифицировал код PooHkrd
Прошу прощения, но последний код тоже не работает "без повторов" - правильно отображается только первая запись, для остальных в поле Сумма - генерится ошибка.
let
Source = Excel.CurrentWorkbook(){[Name="Запрос1"]}[Content],
GroupedRows = Table.Group(Source, {"Город", "Улица", "Дом", "Полный адрес"}, {{"tab", each
let GroupedRows = Table.Group(_, {"код объекта"}, {{"Сумма", each List.Sort([Сумма]), type list}}),
AddedIndex = Table.AddIndexColumn(GroupedRows, "Индекс", 0, 1),
MergedColumns = Table.CombineColumns(AddedIndex,{"Сумма", "Индекс"},(x)=>x{0}{x{1}}?,"Сумма")
in MergedColumns, type table}}),
Expanded = Table.ExpandTableColumn(GroupedRows, "tab", {"код объекта", "Сумма"}, {"код объекта", "Сумма"})
in
Expanded
НО, в вашем последнем примере нарушено ваше же условие:
Цитата
PooHkrd написал: Т.е. всегда будет соблюдаться что количество сумм совпадает с количеством кодов?
Плюс появился полный адрес. Плюс появились дубли по кодам. Поэтому 4500 потерялось. В общем как в анекдоте: "Не Волгу, а Запорожец, не в преферанс, а в домино, и не выиграл, а проиграл". Чо делать-то теперь будем?