Mysql 如何使用Ruport/rubyonrails按天分组?

Mysql 如何使用Ruport/rubyonrails按天分组?,mysql,ruby-on-rails,ruby,reporting,ruport,Mysql,Ruby On Rails,Ruby,Reporting,Ruport,我正在尝试评估Ruport在我的Rails应用程序中的使用情况,但不确定如何获取带有日期/时间戳的一系列记录,并通过Ruport的分组功能对它们进行分组 如果Ruport没有意义,我愿意使用其他/更好的方法来进行同样的分组 没有ruport: <% @posts.group_by {|p| p.created_at.at_beginning_of_day }.each do |day, posts| %> <h2><%= day.strftime("someth

我正在尝试评估Ruport在我的Rails应用程序中的使用情况,但不确定如何获取带有日期/时间戳的一系列记录,并通过Ruport的分组功能对它们进行分组

如果Ruport没有意义,我愿意使用其他/更好的方法来进行同样的分组

没有ruport:

<% @posts.group_by {|p| p.created_at.at_beginning_of_day }.each do |day, posts| %>
  <h2><%= day.strftime("something...") %></h2>

  <% posts.each do |post| %>
    do stuff with `post`.
  <% end %>
<% end %>

用“post”做一些事情。
根据您要分组的对象,在每个月的开始使用
,在每个星期的开始使用
,依此类推。

不带ruport:

<% @posts.group_by {|p| p.created_at.at_beginning_of_day }.each do |day, posts| %>
  <h2><%= day.strftime("something...") %></h2>

  <% posts.each do |post| %>
    do stuff with `post`.
  <% end %>
<% end %>

用“post”做一些事情。

在月初使用
,在周初使用
,依此类推,根据您要分组的内容。

我建议将@posts.group\u按函数移动到控制器中,而不是视图。

我建议将@posts.group\u按函数移动到控制器中,而不是视图中。

Ruport包含一种向表中添加新列的方法。因此,从时间戳源按日期分组可以这样做:

@table.add_column('created_at_date') { |r| r.created_at.to_date }
created_at_date_grouping = Grouping(@table, :by => "created_at_date")
当然,此方法也可用于生成更有趣的报告,如Google Analytics:

@table.add_column('day_of_week') { |r| r.created_at.strftime('%a') }
@table.add_column('hour_of_day') { |r| r.created_at.strftime('%H') }

但不了解性能。

Ruport包含一种向表中添加新列的方法。因此,从时间戳源按日期分组可以这样做:

@table.add_column('created_at_date') { |r| r.created_at.to_date }
created_at_date_grouping = Grouping(@table, :by => "created_at_date")
当然,此方法也可用于生成更有趣的报告,如Google Analytics:

@table.add_column('day_of_week') { |r| r.created_at.strftime('%a') }
@table.add_column('hour_of_day') { |r| r.created_at.strftime('%H') }

但不知道性能。

您是否决定不使用ruport?我希望能和ruport一起做这件事你决定不带ruport做这件事吗?我希望能和鲁波特一起做到这一点,这对我现在帮助很大。谢谢我希望我能再投票几次,这对我现在有很大帮助。谢谢我希望我能再投票几次。