【问题标题】:Converting an Excel LINEST function to T-SQL or SSRS将 Excel LINEST 函数转换为 T-SQL 或 SSRS
【发布时间】:2015-01-22 23:51:37
【问题描述】:

我被这个卡住了......

...我们使用线性回归进行一些趋势和预测,我必须查询数据,创建数据集,然后粘贴到 excel 中并将线性函数应用于我的数据。由于数据需求每天都在变化,这已经成为一件非常麻烦的事情。我希望 SQL Server 负责该处理,因为这将是一个自动预测,在我将其移交给最终用户后我不想碰它。当他们刷新数据时,我希望它刷新最简单的函数。

这是一些示例数据

[JanTrend] 是 Excel 中的对数趋势,它采用 Jan-12、Jan-13 和 Jan-14 字段的趋势并计算。

这是 Excel 中的那个函数

=LINEST([Jan-12]:[Jan-14]^{1})

Forecasted 字段基本上是 [Jan-14] + [JanTrend]。

StockCode   Jan-12  Jan-13  Jan-14  JanTrend   Forecasted

300168           2       3      11        5           16
300169           1       4       3        1            4

JanTrend 字段是我的 linet 函数在我的 Excel 电子表格中的位置。

我想将上述函数转换为 T-SQL 或 SSRS 报告。我怎样才能做到这一点?

编辑:我正在尝试计算对数趋势。我对示例数据进行了一些更改,以使事情更加清晰。

【问题讨论】:

  • 如果您解释Linest 是如何计算它的值的,那么很容易将其转换为sql 或“表达式”
  • 它采用 Jan-12、Jan-13 和 Jan-14 的值并尝试计算对数趋势线。抱歉,我应该注意到这一点。

标签: sql-server excel tsql reporting-services


【解决方案1】:

最简单的excel函数只是线性回归。它(仍然)在 sql server 中不可用,但是您会发现很多 UDF 示例或实现它的查询。只是谷歌“sqlserver udf 线性回归”或参考这个先前的问题。 Are there any Linear Regression Function in SQL Server?

udf 通常很慢,因此您可能希望使用本论坛第三篇文章中的解决方案。 http://www.sqlservercentral.com/Forums/Topic710626-338-1.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多