【问题标题】:rails, group for average and then group again for sumrails,分组平均,然后再次分组求和
【发布时间】:2016-08-14 15:42:41
【问题描述】:

示例:一个表格,每隔几分钟就会保存一次耗电量。

我正在尝试使用 groupdate gem 来处理这些数据:

@kWh = Consumption.group_by_hour(:at).average(:kw)
@kWh_per_day = @kWh.group_by_day(:at).sum(:average_kw)

对于第二行,我得到一个错误:“no block given”

我们将不胜感激任何朝着正确方向的推动。

【问题讨论】:

    标签: ruby-on-rails activerecord grouping


    【解决方案1】:

    ...终于奏效了,虽然看起来不是很优雅:

    @kWh = Consumption.group_by_hour(:at).average(:kw)
    @kWh_per_day = Hash [@kWh.group_by_day { |h| h[0] }.map { |k,v| [k, v.map { |j| j[1] }.reduce(:+)] } ]
    

    【讨论】:

      猜你喜欢
      • 2019-12-18
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多