0

我目前正在尝试在 rails 应用程序中实现报告模块。感谢这里提供的一些帮助:Ruby on Rails 对象报告,我决定走上编写通用指标并用这些指标填充报告的道路。

我必须解决的是如何创建指标 - 基本上我需要有一个metric可以在我的定位框架中使用的对象(例如,如果我有一个0.5 的target对象target.value,我必须target.metric_id知道哪个指标是目标,并因此报告它)。

我的问题是如何在模型结构中存储度量的公式。一个简单的指标示例是利润,我可以这样做sales.selling_prices.sum - sales.cost_prices.sum。如何设置一些允许存储此公式的列?所有公式都将使用其他对象进行计算,如利润示例。

任何帮助将不胜感激。

谢谢!

4

1 回答 1

1

根据您的公式的野心程度,您可以从以下指标开始:

operation_type:string, one of %w(add sub mult div)
left_operand:decimal
right_operand:decimal

然后,要计算,您可能有一个度量方法,例如:

def result
  if operation_type == 'add'
    left_operand + right_operand
  elsif operation_type == 'sub'
    left_operand - right_operand
  ...
end

当您创建指标(可能是某种管理面板)时,您可以有选择源输入的方法(例如,left_operand 设置为 sales. sell_prices.sum 等)。

于 2012-07-01T18:44:17.867 回答