Страницы: 1
RSS
Суммировать уникальные значения в Power Query
 
Добрый день.
Есть массивы данных с повторяющимися значениями. Как сделать с помощью Power Query суммирование уникальных значений?
 
del
Изменено: buchlotnik - 23.08.2021 15:29:39
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, как сделать, чтобы другие в массиве данных остались. Потому, что если использовать группировку, то остаётся только столбец, по которому происходит группировка и столбец суммы. Другие столбцы удаляются.
Изменено: Максим - 09.03.2021 10:34:17
 
Цитата
Максим написал:
Другие столбцы удаляются
в примере НЕТ других столбцов
покажите нормальный пример - что есть/что надо
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, добавил
Изменено: Максим - 09.03.2021 10:34:36
 
так?
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Результат = Table.Group(Источник, {"фрукты", "Производитель"}, {"Сумма_уникальных", each List.Sum([стоимость])})
in
    Результат
Изменено: Бахтиёр - 09.03.2021 11:32:40
 
Бахтиёр, не совсем так. Да, я понял, чтобы появились оставшиеся столбцы, важно в настройках Power Query задать группировку по оставшимся столбцам. Но проблема в том, что столбцов будет много и не всегда данные в других столбцах будут уникальными.
Да, теперь понял, что кроме того, что нужно указать по каким столбцам будет группировка, нужно указать, какие данные из других столбцов нужно брать, если данные отличаются.
Например:
Яблоки // Польша // 100
Яблоки // Россия // 70
На выходе должно получится:
Яблоки // Польша // 170
Другими словами, в неуникальных значениях берётся первое уникальное вхождение "Польша"
Изменено: Максим - 09.03.2021 12:12:43
 
Цитата
Максим написал:
в неуникальных значениях берётся первое уникальное вхождение "Польша"
Так пойдет?
Код
let Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Grouped = Table.Group(Source, {"фрукты"}, {{"Производитель", each [Производитель]{0}, type text}, {"стоимость", each List.Sum([стоимость]), type number}})
in  Grouped
Вот горшок пустой, он предмет простой...
 
del
Изменено: buchlotnik - 23.08.2021 15:33:00
Соблюдение правил форума не освобождает от модераторского произвола
 
Интересно, каков "священный" смысл назначать сумму по яблокам первому попавшемуся производителю?
 
Цитата
Андрей VG написал:
Интересно, каков "священный" смысл назначать сумму по яблокам первому попавшемуся производителю
Есть данные, которые важно, чтобы попадали в исходную таблицу.  
 
PooHkrd, buchlotnik, благодарю! Всё работает!
 
Цитата
Андрей VG написал:
каков "священный" смысл
А - Аналитика! Тут сидишь и думаешь как бы обогатить свою маленькую бигдату в модельке, для дополнительной монетизации, скрещиваешь ежа с ужом. А тут народ обеднением занимается. Мое мнение - лишь бы на здоровье. Мне ж меньше конкуренции на рынке труда.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
А тут народ обеднением занимается
Тут главное что бы ТС с воплями не прибежал, если на самом деле это сумма зарплат по отделам, а факультативно выводится первый сотрудник, с кого нужно удержать 13%, причитающихся государству. Вдруг ТС таким случайно будет  :D
 
Андрей VG, и именно вот тут сработает то, что я написал про конкуренцию.  :D
Вот если ТС про атомную станцию будет считать чего, вот тут уже опасно! Но там вроде защит от таких товарищей много понаставлено.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
вроде защит от таких товарищей много понаставлено.
Саяно-Шушинской ГЭС в своё время это не помогло :(
 
Всем доброго дня!

Мне кажется, моя задача к этой теме относится!
Если есть уже готовый запрос, но не хватает только добавить шаг который выдаст уникальные значения по столбцам D и F одновременно?
Как получить в результате запроса не 3, а 2 строчки, где по продукту 2 будет сумма из столбца G (76+5)?
Помогите плиз!)
 
Артем_81,
Код
let
  src = Excel.CurrentWorkbook(){[ Name = "data" ]}[Content],
  typed = Table.TransformColumnTypes ( src, { { "balance.total.qty_units", type number } } ),
  group = Table.Group (
    typed,
    { "Shareholder_name", "Fund" },
    { { "balance.total.qty_units", each List.Sum ( [balance.total.qty_units] ), type number } }
  )
in
  group
Изменено: surkenny - 19.11.2021 13:38:51
 
Вставил код в модуль книги в которой мой запрос, и почему то не работает!
Выдает ошибку:
Цитата
Compile error: Syntax error
Код
Sub Group_fund()
let
  src = Excel.CurrentWorkbook(){[ Name = "data" ]}[Content],
  typed = Table.TransformColumnTypes ( src, { { "balance.total.qty_units", type number } } ),
  group = Table.Group (
    typed,
    { "Shareholder_name", "Fund" },
    { { "balance.total.qty_units", each List.Sum ( [balance.total.qty_units] ), type number } }
  )
in
  group
End Sub
 
не путайте PQ и VBA.
 
))) спасибо
Страницы: 1
Наверх