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

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
Andreas 17 Апр 2019 в 22:02

2 ответа

Лучший ответ

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

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
1
horseyride 17 Апр 2019 в 21:18

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

Group    Average
A        113.3
B        213.3

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

1
Alexis Olson 17 Апр 2019 в 19:27