0

我有一个名为 Data 的模型和一些名为 timestamp、value1 和 value2 的列。我想将它与 highstock 图表一起使用。

在打印图表之前,我想对其进行一些计算:

按每天或每月或每年汇总 value1 除以 value2 (value1/value2) 的结果,并将其放入类似 [[timestamp_day, value1/value2], [...], ...] 的数组中。

我能够进行“时间戳分组”。但我坚持总结 value1/value2。

有没有办法像 .sum(value1/value2) 那样做?或者有什么方法可以定义一个进行计算的虚拟列?

谢谢和最好的问候, 安德烈亚斯

4

2 回答 2

1

如果您尝试直接从数据库中获取计算值,则可以将表达式传递给活动记录求和函数。

Data.group(:timestamp).sum("value1 / value2")
于 2014-02-24T23:24:18.450 回答
1

@array = @collection.collect { |c| [v.timestamp, (v.value1+v.value2 /3)] }

@collection 是所有数据的集合/数组

执行 collect 后,@array 将采用以下格式:[[timestamp_day, value1/value2], [...], ...]

不清楚的一件事是分母是什么。我在这里使用“3”,但可以是你想要的任何东西。如果它是一个复杂的操作,你甚至可以调用另一个方法来获取它。

于 2014-02-25T01:19:45.723 回答