質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

Q&A

解決済

1回答

266閲覧

Activerecordを使ってデータを時間ごとに集計する方法

sho_hey06

総合スコア11

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Active Record

Active Recordは、一つのオブジェクトに対しドメインのロジックとストレージの抽象性を結合するデザインパターンです。

0グッド

0クリップ

投稿2019/05/07 09:54

編集2019/05/07 09:58

前提・実現したいこと

現在Ruby on Rails5でWebアプリを作っており、データベースの値を集計してHighChartを用いて複数の折れ線グラフを表示しようとしています。

そこで、複数の項目でデータを分類し、配列にする必要があり、うまく処理する方法がわからず困っています。回答よろしくお願いします。

:quantity:item_id:created_at
212019-06-07 09:20:00
112019-06-07 09:25:00
122019-06-07 10:25:00
122019-06-07 11:10:00
222019-06-07 11:30:00
322019-06-08 09:25:00
112019-06-08 09:25:00
322019-06-08 11:25:00

● :created_atの値から、日にちごと、さらに1時間ごとの数量(:quantity)の合計を算出
● データが存在しない場合は0とする

上記の表のようなDBから、以下のような配列を生成したいです。

ruby

1 data = [[[3,0,0],[1,3,0]], #06/07 のデータ[[item_id=1],[item_id=2]] 2 [[1,0,0],[3,0,3]]] #06/08 のデータ[[item_id=1],[item_id=2]]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

created_atを日付に変換してgroup byすればできそうな気がしますが、そもそもcreated_atを集計に使わないほうが良い気もします。

なにか別のカラムをちゃんと追加して日付をいれて、集計してあげればよいのではないでしょうか?

投稿2019/05/27 09:02

odyu

総合スコア548

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sho_hey06

2019/05/27 13:01

odyu さん 集計するために別のカラムを追加するのは考えていませんでした。別カラムに日にち、時間を追加したところ、スムーズに解決することができました。ありがとうございました。
odyu

2019/05/27 13:53

解決して良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問