0

我正在寻找在 Rails 应用程序中为我的数据构建分析仪表板。

假设我有一个请求类型列表“Fizz”、“Buzz”、“Bang”、“Bar”。

我想根据类型显示每天的计数。

我该怎么做?

这是我打算做的事情:

  1. 将 get_bazz_by_day、get_fizz_by_day 等添加到适当的模型中。
  2. 在每个模型中获取 Fizz 类型的所有记录,然后创建一个存储日期和计数的数组。
  3. format in view 以便 JS 库可以将其格式化为漂亮的图形。

这听起来合理吗?

4

1 回答 1

1

根据记录的数量,您的仪表板可能很快就会出现性能问题。

第 1 步具有误导性。不要单独获取每一天的数据,尝试一次获取所有数据。

在第 2 步中,您可以让数据库使用 group 方法在几天内进行聚合。

请参阅http://guides.rubyonrails.org/active_record_querying.html#group

Fizz.select("date(created_at) as fizzed_day, count(*) as day_count").
     group("date(created_at)")

在第 3 步中,您需要注意仍然显示没有任何 fizzbuzz 的日期,因为它们不会在查询中返回。

于 2012-08-22T23:17:59.270 回答