如何制作公式的SQL表?

时间:2016-01-08 15:37:53

标签: sql sql-server

我有一个MS SQL数据库,用于存储公用事业用途(电力,水和煤气)的原始数据,我已经实施这些数据来编译来自四个不同的自动收集系统的数据。最终目标是从这些数据生成发票。

不同的客户拥有十几种不同的费率结构中的一种,所有这些结构都可能或者可能不使用非线性函数来计算基于峰值需求和总使用量的每次使用成本。

对于特定客户而言,从一种费率结构转换为另一种费率结构,或者特定费率类别的费率计算每年都在变化,这并不是闻所未闻,所以我想将这些公式放入新的表中我的数据库,可以很容易地引用和修改它们。

理想情况下,我希望将这些动态函数中的一个作为查询的一部分运行而不依赖于前端必须执行它们,但我不知道这将如何工作。

根据请求,我正在谈论的类型的示例公式:

所有电力结构A的现有客户在首次消耗的2,000 kW-hr时支付0.005美元/ kW-hr,在2,000-15,000 kW-hr时支付0.004美元/ kW-hr,对于15,000以上的所有消耗支付0.003美元/ kW-hr千瓦小时。此外,任何需求高于50kW的客户在所有消费中将收取0.002美元/ kW-hr的附加费。这些系数的值,阈值,阈值的数量,以及客户是否为高峰需求收费都可以并且确实每年都在变化,从费率结构到费率结构也是如此。

这个的公式(如果我正在编程)将是:

min(sum(usage),2000)*.005+min(min(sum(usage)-2000,0),15000)*.004 + min(sum(usage)-15000,0)*.002 + (max(usage)>50)*sum(usage)*.002

0 个答案:

没有答案