Условные средние (AVERAGEIF) в PowerQuery (M)

#powerquery #m

#powerquery #m

Вопрос:

У меня есть эта таблица:

 Month     Group     Value
  1         A        100
  2         A        115
  3         A        125
  1         B        200
  2         B        215
  3         B        225
 

Я пытаюсь создать новый (четвертый) столбец, который содержит средние значения за квартал, следовательно, существует ли что-то похожее на AVERAGEIF в Power Query? Результат должен выглядеть следующим образом:

 Month     Group     Value     Average
  1         A        100       113.3
  2         A        115       113.3
  3         A        125       113.3
  1         B        200       213.3
  2         B        215       213.3
  3         B        225       213.3
 

Приносим извинения за то, что не предоставили MWE.

Ответ №1:

Используйте приведенный ниже код; слияние не требуется

 let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
AvgAmount = Table.AddColumn(Source, "Average", (i) => List.Average(Table.SelectRows(Source, each [Group] = i[Group])[Value]), type number)
in AvgAmount
 

Ответ №2:

Одним из подходов было бы создание группы при Group использовании Average в качестве вашего агрегата. Это даст вам следующую таблицу.

 Group    Average
A        113.3
B        213.3
 

Затем вы можете объединить эту новую таблицу с исходной, соответствующей on Group , затем развернуть Average столбец.

Комментарии:

1. Большое вам спасибо за ваш ответ!