Rails group_by可变长度的周期

时间:2015-04-27 12:56:53

标签: ruby-on-rails ruby activerecord group-by

尝试在Rails 4.1应用程序中绘制图表的某些收入的总和/平均值。

这就是我目前所拥有的(使用groupby gem):

metrics = self.all.group_by_day(:metric_date).sum(:revenue)

这会导致哈希,如下所示,这对日常图表非常有用。

p metrics #=> {"2015-04-22" => 10, "2015-04-21" => 15, "2015-04-20" => 10, etc..}

但是,我也希望将这些组合在不同长度的时段中,例如从特定日期算起的30或7天间隔。

我尝试过使用group_by_month,group_by_week,但是这些将它们分组到实际的月/周,而不是例如从月中开始计数的组。

如何将这些分组为间隔的散列,同时对该间隔内的值求和?

1 个答案:

答案 0 :(得分:1)

我为这样的事做了一个宝石:convenient_grouper

希望它有所帮助。