我有一个名为Data的模型和一些名为timestamp,value1和value2的列。我想将它与highstock图表一起使用。
在打印图表之前,我想对其进行一些计算:
将value2(value1 / value2)除以每天,每月或每年的值1的结果汇总,并将其放在[[timestamp_day,value1 / value2],[...],...]等数组中。
我可以进行“时间戳分组”。但我总结一下总结value1 / value2。
有没有办法像.sum(value1 / value2)那样做?或者有没有办法定义进行计算的虚拟列?
谢谢&最好的问候,安德烈亚斯
答案 0 :(得分:1)
如果您正试图从数据库中直接获取计算值,则可以将表达式传递给活动记录总和函数。
Data.group(:timestamp).sum("value1 / value2")
答案 1 :(得分:1)
@array = @ collection.collect {| c | [v.timestamp,(v.value1 + v.value2 / 3)]}
@collection是所有数据的集合/数组
执行collect后,@ array将采用这种格式:[[timestamp_day,value1 / value2],[...],...]
有一点不清楚的是分母是什么。我在这里使用“3”但可能是你想要的任何东西。如果它是一个复杂的操作,你甚至可以调用另一种方法来获取它。