Всем доброго времени суток, Помогите решить следующую задачу: Задача: извлечь все уникальные значения из полей 45 и 43, где стоят максимумы в поле "Количество" (все значения могут обновляться естестенно) То есть должно быть в итоге должно остаться 2 поля: Способ(поле 45): Запрос предложений/Тендер, Запрос котировок/Запрос цен Организация (поле 43): АО "Спецтехника", ОАО "41 центральный завод", АО "261 РЗ"
Zealot92, трудно сообразить Сгруппируйте по столбцам 45 и 43 по максимальным ценам. Затем покажите скриншот - что получилось. Дальше видно будет
Хотя нет. выделите три столбца и удалите дубликаты. Затем покажите скриншот - что получилось. Дальше видно будет дошло: Группируете по полю Количество, сортируете от большего к меньшему, шагом "b" оставляете одну верхнюю строку. Затем типа Table.FromColumns(List.Distinct(b[#"45"])&List.Distinct(b[#"43"])) Наверняка где то что то напутал
let
Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
Group = Table.Group(Source, {"Количество"}, {{"a", each _, type table}}),
Sort = Table.Sort(Group,{{"Количество", Order.Descending}}){0}[a],
Custom1 = Table.FromColumns({List.Distinct(Sort[#"45"]),List.Distinct(Sort[#"43"])},{"45","43"})
in
Custom1
Попытался адаптировать решение к файлу excel, выдалась ошибка "Имя "Sort" не распознано. Убедитесь в том, что оно написано верно." Что я делаю не так?
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([46] = "конкурентные") and ([21] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"45", "43"}, {{"Количество", each List.Average([22]), type number}}),
#"Сортированные строки" = Table.Sort(#"Сгруппированные строки",{{"Количество", Order.Descending}}),
Custom1 = Table.FromColumns({List.Distinct(Sort[#"45"]),List.Distinct(Sort[#"43"])},{"45","43"})
in
Custom1
Zealot92 написал: выдалась ошибка "Имя "Sort" не распознано
Да вы еще зеленый Наверное, так
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([46] = "конкурентные") and ([21] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"45", "43"}, {{"Количество", each List.Average([22]), type number}}),
Sort = Table.Sort(#"Сгруппированные строки",{{"Количество", Order.Descending}}),
Custom1 = Table.FromColumns({List.Distinct(Sort[#"45"]),List.Distinct(Sort[#"43"])},{"45","43"})
in
Custom1
Хотя нет. Так должно быть
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([46] = "конкурентные") and ([21] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"45", "43"}, {{"Количество", each List.Average([22]), type number}}),
Group = Table.Group(#"Сгруппированные строки", {"Количество"}, {{"a", each _, type table}}),
Sort = Table.Sort(Group,{{"Количество", Order.Descending}}){0}[a],
Custom1 = Table.FromColumns({List.Distinct(Sort[#"45"]),List.Distinct(Sort[#"43"])},{"45","43"})
in
Custom1
Михаил Л, зеленый, но не настолько же) Пытаюсь теперь объединить построчно, что получилось в 1 ячейку через Text.Combine, как это правильно прописать?+ формула сработала, но не совсем правильно, в итоге выдалось 3 способа, должно быть 2 способа и 3 организации (см.файл Excel, вкладка "Что должно получиться" внизу)
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([46] = "конкурентные") and ([21] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"45", "43"}, {{"Количество", each List.Average([22]), type number}}),
Group = Table.Group(#"Сгруппированные строки", {"Количество"}, {{"a", each _, type table}}),
Sort = Table.Sort(Group,{{"Количество", Order.Descending}}){0}[a],
Custom1 = Text.Combine(List.Distinct(Sort[#"45"])&List.Distinct(Sort[#"43"]),", ")
in
Custom1
вернее. так
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([46] = "конкурентные") and ([21] <> null)),
#"Сгруппированные строки" = Table.Group(#"Строки с примененным фильтром", {"45", "43"}, {{"Количество", each List.Average([22]), type number}}),
Group = Table.Group(#"Сгруппированные строки", {"Количество"}, {{"a", each _, type table}}),
Sort = Table.Sort(Group,{{"Количество", Order.Descending}}){0}[a],
Custom1 = {Text.Combine(List.Distinct(Sort[#"45"]),", "),Text.Combine(List.Distinct(Sort[#"43"]),", ")}
in
Custom1