0

テーブルにヒューマン エラー エントリがいくつかあります。ゼロが欠けているものもあれば、本来あるべきよりも多くの素材があるものもあります。そのため、テーブル全体をスキャンして、エントリ グループのエラーを見つけようとしています。表は次のようになります。

| Work Order | Product | Material Qty
---------------------------------
| 1          | Item A  | 10
| 2          | Item A  | 25
| 3          | Item A  | 12
| 4          | Item A  | 9
| 5          | Item X  | 52
| 6          | Item X  | 20
| 7          | Item X  | 23
| 8          | Item X  | 24
| 9          | Item X  | 2
| 10         | Item Z  | 20
| 11         | Item Z  | 5
---------------------------------

ここで、WO と WO の項目はそれほど連続していません。例として、ここでは連続していると書いています。

ご覧のとおり、これらの項目 A の数は 10 前後である必要があります。項目 X は約 22 である必要がありますが、相関するデータが十分にないため、クエリは項目 Z をすべて疑わしいものとしてタグ付けする必要があります。そのため、WO 番号 2、5、および 9、10、および 11 を、人々が監査できるように分離する必要があります。方法はありますか?

私はそれらの平均を作成しようとしており、パーセンテージを使用してそれらを排除しています. しかし、場合によっては、パーセンテージの数があまりにも多様です。また、アイテム Z の場合、どの数字が正常な数字で、どの数字が不規則な数字であるかを判断するのに十分なデータがなく、検証のために両方にタグを付ける必要があります。その場合、パーセンテージまで減らしても役に立ちません.

また、それらを平均に対するバリアントのパーセンテージに減らしても、その広がりはまだ広すぎて、それらの 1 つにタグを付けることができません。

何か案は?今回は本当に困ったので。

4

1 に答える 1

2

STDEV 統計的根拠から、おそらく標準偏差関数から始めたいと思うでしょう。

select * 
from

(       
select *,
   AVG(qty) OVER( Partition by product) av,
   STDEV(qty) OVER( Partition by product) sd,
   COUNT(*) over (Partition by product) c
 from yourtable
) v
where ABS(qty-av)>sd or c<3
于 2013-09-02T10:41:29.903 に答える