rails 具有方法的统计可视化工具或可视化不同的视图 WEEK/MONTH/YEAR
rails statistic visualizer with method or visualize a different view WEEK/MONTH/YEAR
:-) 在问一些我更愿意说抱歉的问题之前,可能英语不好,对不起,因为我是 rails 的初级开发人员,在过去的 3 天里,我试图可视化 rails 但我发现很多问题有人可以帮助我吗?如果有人有好主意,我会离开我的数据库结构
这就是我尝试做的事情:我尝试在 table 中可视化一些数据,以了解我一整天有多少事件,并可视化:总价,TOTAL_EVENT , TOTAL_PAX 每天,如果您看到数据库 table,您就会看到我为每个事件都使用了一个日期范围,我变得非常生气!在数据库中,每个事件都是这样保存的
这就是我想要可视化的内容
我需要使用一个模型,因为我有 3 个视图...周/月/年,我认为最好使用一种方法?对吗?
有什么好主意吗?
我真的不知道我是否明白你想要做什么,但我会根据我得到的解释。
我正在使用 Hash
来保存数据,但您可能会使用您的模型。
data = [{ id: 1, price: 2, pax: 2, event_room_numer: 1, start_date: "10-10-2015".to_date, end_date: "12-10-2015".to_date }, { id: 2, price: 3, pax: 12, event_room_numer: 3, start_date: "08-10-2015".to_date, end_date: "16-10-2015".to_date }, { id: 1, price: 2, pax: 20, event_room_numer: 3, start_date: "12-10-2015".to_date, end_date: "16-10-2015".to_date }]
在下面的代码中,我将创建一个 Hash
来举办特定日期的活动。
events_on_day = {}
data.each do |dado|
(dado[:start_date]..dado[:end_date]).each do |date|
events_on_day[date] ||= []
events_on_day[date] << dado
end
end
然后我们根据日期(键)对 Hash
进行排序。
sorted_events_on_day = events_on_day.sort.to_h
最后我们得到了统计数据。
statistics = sorted_events_on_day.map do |date, events|
total_price, total_pax = 0, 0
total_event = events.count # count the events on the day
events.each do |event|
total_price += event[:price] # sum price for the day
total_pax += event[:pax] # sum pax for the day
end
[date, total_event, total_price, total_pax]
end
在 statistics
数组中,我们将拥有每一天的数据。像这样(对于 data
输入):
data total_event total_price total_pax
2015-10-08 1 3 12
2015-10-09 1 3 12
2015-10-10 2 5 14
2015-10-11 2 5 14
2015-10-12 3 7 34
2015-10-13 2 5 32
2015-10-14 2 5 32
2015-10-15 2 5 32
2015-10-16 2 5 32
:-) 在问一些我更愿意说抱歉的问题之前,可能英语不好,对不起,因为我是 rails 的初级开发人员,在过去的 3 天里,我试图可视化 rails 但我发现很多问题有人可以帮助我吗?如果有人有好主意,我会离开我的数据库结构
这就是我尝试做的事情:我尝试在 table 中可视化一些数据,以了解我一整天有多少事件,并可视化:总价,TOTAL_EVENT , TOTAL_PAX 每天,如果您看到数据库 table,您就会看到我为每个事件都使用了一个日期范围,我变得非常生气!在数据库中,每个事件都是这样保存的
这就是我想要可视化的内容
我需要使用一个模型,因为我有 3 个视图...周/月/年,我认为最好使用一种方法?对吗?
有什么好主意吗?
我真的不知道我是否明白你想要做什么,但我会根据我得到的解释。
我正在使用 Hash
来保存数据,但您可能会使用您的模型。
data = [{ id: 1, price: 2, pax: 2, event_room_numer: 1, start_date: "10-10-2015".to_date, end_date: "12-10-2015".to_date }, { id: 2, price: 3, pax: 12, event_room_numer: 3, start_date: "08-10-2015".to_date, end_date: "16-10-2015".to_date }, { id: 1, price: 2, pax: 20, event_room_numer: 3, start_date: "12-10-2015".to_date, end_date: "16-10-2015".to_date }]
在下面的代码中,我将创建一个 Hash
来举办特定日期的活动。
events_on_day = {}
data.each do |dado|
(dado[:start_date]..dado[:end_date]).each do |date|
events_on_day[date] ||= []
events_on_day[date] << dado
end
end
然后我们根据日期(键)对 Hash
进行排序。
sorted_events_on_day = events_on_day.sort.to_h
最后我们得到了统计数据。
statistics = sorted_events_on_day.map do |date, events|
total_price, total_pax = 0, 0
total_event = events.count # count the events on the day
events.each do |event|
total_price += event[:price] # sum price for the day
total_pax += event[:pax] # sum pax for the day
end
[date, total_event, total_price, total_pax]
end
在 statistics
数组中,我们将拥有每一天的数据。像这样(对于 data
输入):
data total_event total_price total_pax
2015-10-08 1 3 12
2015-10-09 1 3 12
2015-10-10 2 5 14
2015-10-11 2 5 14
2015-10-12 3 7 34
2015-10-13 2 5 32
2015-10-14 2 5 32
2015-10-15 2 5 32
2015-10-16 2 5 32