sql-server-2008 - SQL Server 2008 R2 中的统计过程控制图

标签 sql-server-2008 statistics sql-server-2008-r2

我希望你能给我指出正确的方向。

我正在尝试使用 SQL Server 2008 生成控制图 ( http://en.wikipedia.org/wiki/Control_chart )。创建基本控制图非常简单。我只计算平均值和标准偏差,然后绘制它们。

复杂的一点(至少对我而言)是我希望图表在识别到阶跃变化时重置均值和控制限。

目前我只对一种识别步进变化的非常简单的方法感兴趣,5 个点连续出现在平均值之上或之下。有更复杂的方法来识别它们 (http://en.wikipedia.org/wiki/Western_Electric_rules),但我只想先把它弄清楚。

我的流程是:

  1. 按月和年汇总和排序,应用行号。
  2. 计算总体平均值
  3. 识别每个数据项是高于、低于还是等于平均值​​,用 +1、-1 或 0 标记。
  4. 确定它们是高于或低于平均值的 5 个连续数据项(当前使用游标)。
  5. 如果 5 个点高于或 5 个点低于平均值,则重新计算平均值。
  6. 重复直到表格结束。

在 SQL Server 中可以进行这种处理吗?感觉我可能需要一个递归 UDF,但递归有点超出我的能力范围!

我们将不胜感激向正确方向的插入!

干杯

最佳答案

好吧,我最终只是使用 WHILE 循环进行迭代。我不会发布完整的代码,但步骤是:

  1. 设置用户定义的表数据类型,以便将数据传递到存储过程参数。

  2. 编写了附带的存储过程,该过程使用行号和 while 循环遍历输入表中的每个数据值,然后使用当前行号对输入数据的子集进行基于集合的处理(以检查是否以下 5 个点高于/低于平均值,并在触发此标志时重新计算平均值和标准差)。

  3. 输出包含原始值、行号、月份、平均值、控制上限和控制下限的表格。

我还启动并运行了一个基于完整 Nelson 规则的工作,并且还将说明数据失败的测试。

目前我只在进一步开发它时使用过它,因此我设置了一个带有一些 VBA 的 Excel 工作表来动态构建一个 SQL 字符串,并将其作为命令文本传递给数据透视表。这样,您就可以使用不同的数据集反复 ping USP,还可以更改一些其他有关程序运行方式的参数(例如调整控制限等)。

最终,我希望能够将生成的数据传递给我们正在处理的 Business Objects 报告和仪表板。

关于sql-server-2008 - SQL Server 2008 R2 中的统计过程控制图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699239/

相关文章:

sql-server-2008 - 如何使用 Outlook 插件 2007 和 VSTO c# 在 mailItem Body 中获取选择

sql - Join 中的用例语句

debugging - 什么是统计调试?

mysql - SQl - 将表从链接服务器复制到 SQL 2008 R2 上的表

sql - 查询获取SQL输出的数据类型

sql-server - 全文搜索与阿拉伯语 Kaaf 字母在阿拉伯语模式下不匹配

sql - 如何在 SQL Server 中拆分破折号分隔值?

python - 使用scipy,numpy,python等进行S型回归

python - 将 pandas DataFrames : how do I apply scipy. stats.sem 分组给他们?

sql - 之前 ROW 值的 SUM