Вам в любом случае нужно получить каким-то образом сущность Месяц в таблицу фактов, чтобы из нее сделать таблицу агрегат, кроме того, нужно разбираться с ключами, куда факты далее ссылаются. Способы выше есть, я бы сделал субтаблицу с агрегированными данными и связь к основной по дате, через первое или какое-то еще число месяца. В целом варианты выше, applymap, join. Имейте ввиду, что Group By работает со всеми полями вашей таблицы, не смотря на те, которые перечислены в group by, поэтому лучше для group by загружать промежуточную таблицу, в которой будут 2-3-4 конкретно нужных вам поля, если связей много - делаем составной ключ в фактах и таблице group by, кроме того, цикл помесячной агрегации, например, через group by, то есть concatenate месяц к месяцу отработает в пару раз быстрее, чем group by на всей скажем годовой таблице целиком. Пока он будет весь год group баить, в цикле 12 месяцев уже отработают.