Power Query – это мощный инструмент для подготовки, очистки и анализа данных в Excel. Он позволяет быстро и просто выполнять различные операции с данными, включая подсчет количества дубликатов в столбцах.
Одним из способов подсчета количества дубликатов в столбце является группировка в Power Query с последующим объединением запросов. Этот подход позволяет быстро и легко добавить новый столбец в таблицу, который будет содержать количество дубликатов для каждой строки.
В качестве примера воспользуемся списком городов, который содержит дубликаты.
Для начала, откройте таблицу данных в Power Query Editor. Сгруппируйте строки в таблице данных по уникальным значениям столбца “Город, страна”. В результате вы получите подсчитанное количество строк в каждой группе.
После чего объедините исходную таблицу данных и таблицу с количеством дубликатов по столбцу “Город, страна”. Это можно сделать через следующую запись кода (объединение запросов):
= Table.NestedJoin(source, {"Город, страна"}, tableCountDupl, {"Город, страна"}, "Source", JoinKind.LeftOuter),
В результате вы получите следующую таблицу
Разверните элемент source и в результате, после удаления лишнего столбца и переименования вы получите следующий результат:
Код выглядит следующим образом:
let
Источник = Excel.CurrentWorkbook(){[Name="CitysList"]}[Content],
source = Table.TransformColumnTypes(Источник,{{"Город, страна", type text}}),
tableCountDupl = Table.Group(source, {"Город, страна"}, {{"Количество дубликатов", each Table.RowCount(_), type number}}),
joinedTable = Table.NestedJoin(source, {"Город, страна"}, tableCountDupl, {"Город, страна"}, "Source", JoinKind.LeftOuter),
#"Развернутый элемент Source" = Table.ExpandTableColumn(joinedTable, "Source", {"Город, страна", "Количество дубликатов"}, {"Source.Город, страна", "Source.Количество дубликатов"}),
#"Удаленные столбцы" = Table.RemoveColumns(#"Развернутый элемент Source",{"Source.Город, страна"}),
#"Переименованные столбцы" = Table.RenameColumns(#"Удаленные столбцы",{{"Source.Количество дубликатов", "Количество дубликатов"}})
in
#"Переименованные столбцы"
Файл с примером: