0

Railsアプリケーションでデータの分析ダッシュボードを構築したいと考えています。

リクエストタイプ「Fizz」、「Buzz」、「Bang」、「Bar」のリストがあるとします。

タイプに基づいて毎日のカウントを表示したい。

これはどのようにすればよいですか?

これが私がやろうとしていることです:

  1. get_bazz_by_day、get_fizz_by_dayなどを適切なモデルに追加します。
  2. 各モデルで、タイプFizzのすべてのレコードを取得し、日付とカウントを格納する配列を作成します。
  3. JSライブラリがきれいなグラフにフォーマットできるように、ビューでフォーマットします。

これは合理的に聞こえますか?

4

1 に答える 1

1

レコードの数によっては、ダッシュボードですぐにパフォーマンスの問題が発生する可能性があります。

ステップ1は誤解を招く恐れがあります。毎日のデータを個別に取得するのではなく、一度にすべて取得するようにしてください。

ステップ2では、グループ方式を使用して、データベースに数日間にわたる集計を実行させることができます。

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 に答える