DI - What are the rules used in Method Monitoring dashboard? - WKB326642
ENVIRONMENT
- wcc - Data Intelligence
ANSWER
Data Intelligence has an embedded analytics package in a Waters wrapper.
The Method Monitoring dashboard enables customers to do the following:
· Trending of all acquisition points that contain a specific peak name.
· Compare the peak trends against pre-defined control chart rules and clearly highlight any rule violations
· Data can be limited by date range, project(s), system(s), sample type(s)
· Data can be viewed for fields such as Retention Time, Peak Area, Peak Height etc.
It is important to note that:
- The rules that are applied and referenced on each dashboard sheet follows the Western Electric and Nelson rule sets.
- Applying filters for Date range, Project(s), System(s), and Sample type(s) will affect the calculation of the reference lines for mean and sigmas. If the calculated lines for mean and sigmas is desired across the entire dataset, then set only a Peak name and use the blue zoom bar on the x-axis to view smaller subsets of data.
- All rule calculations are available for update, if the dashboard is saved as a custom analysis.
The following table shows the different types of rules available on the dashboard with a comparison of rule sets.
|
Rule Category |
Control Chart Example |
Western Electric Rule description |
Nelson Rule description |
Problem identified |
|
Points beyond 3σ |
|
One point is more than 3 standard deviations from the centreline. (Rule 1) |
One point is more than 3 standard deviations from the centreline. (Rule 1) |
A sample is grossly out of control. |
|
Points beyond 2σ |
|
Two out of three consecutive points are more than 2 standard deviations from the centreline (on the same side). (Rule 2) |
Two (or three) out of three points in a row are more than 2 standard deviations from the centreline in the same direction. (Rule 5) |
There is a medium tendency for samples to be mediumly out of control. |
|
Points beyond 1σ |
|
Four out of five consecutive points are more than 1 standard deviation from the centreline (on the same side). (Rule 3) |
Four (or five) out of five points in a row are more than 1 standard deviation from the centreline in the same direction. (Rule 6) |
There is a strong tendency for samples to be slightly out of control. |
|
Consecutive points on one side of the centreline |
|
Eight or more consecutive points are on the same side of the centreline. (Rule 4) |
Nine (or more) points in a row are on the same side of the centreline. (Rule 2) |
Some prolonged bias exists. |
|
Trending |
|
N/A |
Six (or more) points in a row are continually increasing (or decreasing). (Rule 3) |
A trend exists. |
|
Oscillation |
|
N/A |
Fourteen (or more) points in a row alternate in direction, increasing then decreasing. (Rule 4) |
This much oscillation is beyond noise. |
|
Reduced Variation |
|
N/A |
Fifteen points in a row are all within 1 standard deviation of the centreline on either side of the centreline. (Rule 7) |
With 1 standard deviation, greater variation would be expected. |
|
Increased Variation |
|
N/A |
Eight points in a row exist, but none within 1 standard deviation of the mean, and the points are in both directions from the centreline. (Rule 8) |
Jumping from above to below while missing the first standard deviation band is rarely random. |
The embedded analytics package allows the creation of calculated fields within a dataset or analysis.
In order to implement the rules, calculated fields have been created at the analysis level.
The following tables contain all the calculated fields included in the analysis.
- Chart Reference lines. The following table contains the calculated fields used for the Reference lines in the chart properties in each dashboard sheet:
|
Calculated Field Name |
Formula |
|
Mean |
avgOver(AnalysisField, [ ], PRE_AGG) |
|
-1σ |
(avgOver(AnalysisField, [ ], PRE_AGG))-(stdevOver(AnalysisField, [ ], PRE_AGG)) |
|
-2σ |
(avgOver(AnalysisField, [ ], PRE_AGG))-(2*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
|
-3σ |
(avgOver(AnalysisField, [ ], PRE_AGG)) - (3*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
|
+1σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(stdevOver(AnalysisField, [ ], PRE_AGG)) |
|
+2σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(2*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
|
+3σ |
(avgOver(AnalysisField, [ ], PRE_AGG))+(3*(stdevOver(AnalysisField, [ ], PRE_AGG))) |
2. A calculated field is required for the “AnalysisField” Parameter, to enable the field on which the analysis is being carried out on to be changed. This calculated field can be extended by adding new fields for analysis, following the same formatting. This field is also added as a value field for the Y-axis.
|
Calculated Field Name |
Formula |
|
AnalysisField |
ifelse( ${AnalysisField}='Amount',amount, ${AnalysisField}='Area',area, ${AnalysisField}='Height', height, ${AnalysisField}='Retention Time',retentiontime, ${AnalysisField}='USP Resolution',uspresolution, ${AnalysisField}='USP Tailing', usptailing, ${AnalysisField}='Width',width, area) |
3. Rule 1 (Points beyond 3σ sheet)
The ‘Rule1’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
|
Calculated Field Name |
Formula |
|
Rule1 |
ifelse(avg(AnalysisField) > avg({ +3σ}) OR avg(AnalysisField) <avg({ -3σ}), avg(AnalysisField), NULL) |
4. Rule 2 (Points beyond 2σ sheet)
The ‘Rule2’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule2Flag’ calculated field is added as a field on the Y-axis to highlight any data points where +/- 2σ is breached in amber.
|
Calculated Field Name |
Formula |
|
R2tag |
ifelse(avg(AnalysisField) > avg({ +2σ}) OR avg(AnalysisField) < avg({ -2σ}), 1, 0) |
|
R2Prev1 |
lag({ R2tag}, [dateacquired ASC], 1) |
|
R2Prev2 |
lag({ R2tag}, [dateacquired ASC], 2) |
|
Rule2 |
ifelse({ R2tag} + { R2Prev1} + { R2Prev2} >= 2, avg(AnalysisField), NULL) |
|
Rule2Flag |
ifelse(avg(AnalysisField) > avg({ +2σ}) OR avg(AnalysisField) < avg({ -2σ}), avg(AnalysisField), NULL) |
5. Rule 3 (Points beyond 1σ sheet)
The ‘Rule3’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule3Flag’ calculated field is added as a field on the Y-axis to highlight any data points where +/- 1σ is breached in amber.
|
Calculated Field Name |
Formula |
|
R3tag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg(-{ -1σ}), 1, 0) |
|
R3Prev1 |
lag({ R3tag}, [dateacquired ASC], 1) |
|
R3Prev2 |
lag({ R3tag}, [dateacquired ASC], 2) |
|
R3Prev3 |
lag({ R3tag}, [dateacquired ASC], 3) |
|
R3Prev4 |
lag({ R3tag}, [dateacquired ASC], 4) |
|
Rule3 |
ifelse({ R3tag} + { R3Prev1} + { R3Prev2} + { R3Prev3} +{ R3Prev4} >= 4,avg(AnalysisField), NULL) |
|
Rule 3Flag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg(-{ -1σ}), avg(AnalysisField), NULL) |
6. Rule 4 (Consecutive points on one side of the mean sheet)
The ‘Rule4’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule4Flag’ calculated field is added as a field on the Y-axis to highlight any data points where the previous point is on the same side of the mean in amber.
|
Calculated Field Name |
Formula |
|
R4tag |
ifelse(AnalysisField > avgOver(AnalysisField, [], PRE_AGG), 1, -1) |
|
Rule4 |
ifelse(avg({ R4tag}) <> 0 AND lag(avg({ R4tag}), [dateacquired ASC], 1) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 2) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 3) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 4) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 5) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 6) = avg({ R4tag}) AND lag(avg({ R4tag}), [dateacquired ASC], 7) = avg({ R4tag}) , avg(AnalysisField), NULL) |
|
Rule4Flag |
ifelse((AnalysisField > avgOver(AnalysisField, [], PRE_AGG) OR AnalysisField < avgOver(AnalysisField, [], PRE_AGG)), AnalysisField, NULL) |
7. Rule 5 (Trending sheet)
The ‘Rule5’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule5Flag’ calculated field is added as a field on the Y-axis to highlight any data points where there is a rise or fall from the previous data point in amber.
|
Calculated Field Name |
Formula |
|
Direction |
ifelse(avg(AnalysisField) > lag(avg(AnalysisField), [dateacquired ASC], 1), 1, ifelse(avg(AnalysisField) < lag(avg(AnalysisField), [dateacquired ASC], 1), -1, 0)) |
|
Rule5 |
ifelse({ Direction} <> 0 AND { Direction} = lag({ Direction}, [dateacquired ASC], 1) AND { Direction} = lag({ Direction}, [dateacquired ASC], 2) AND { Direction} = lag({ Direction}, [dateacquired ASC], 3) AND { Direction} = lag({ Direction}, [dateacquired ASC], 4) AND { Direction} = lag({ Direction}, [dateacquired ASC], 5), avg(AnalysisField), NULL) |
|
Rule5Flag |
ifelse((avg(AnalysisField) > lag(avg(AnalysisField), [dateacquired ASC], 1) OR avg(AnalysisField) < lag(avg(AnalysisField), [dateacquired ASC], 1)), avg(AnalysisField), NULL) |
8. Rule 6 (Oscillation sheet)
The ‘Rule6’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule6Flag’ calculated field is added as a field on the Y-axis to highlight any data points where the direction has altered compared to the previous point in amber.
|
Calculated Field Name |
Formula |
|
Alternating |
ifelse({ Direction} * lag({ Direction},[dateacquired ASC], 1) = -1, 1, 0) |
|
Rule6 |
ifelse({ Alternating} =1 AND lag({ Alternating}, [dateacquired ASC], 1) =1 AND lag({ Alternating}, [dateacquired ASC], 2) =1 AND lag({ Alternating}, [dateacquired ASC], 3) =1 AND lag({ Alternating}, [dateacquired ASC], 4) =1 AND lag({ Alternating}, [dateacquired ASC], 5) =1 AND lag({ Alternating}, [dateacquired ASC], 6) =1 AND lag({ Alternating}, [dateacquired ASC], 7) =1 AND lag({ Alternating}, [dateacquired ASC], 8) =1 AND lag({ Alternating}, [dateacquired ASC], 9) =1 AND lag({ Alternating}, [dateacquired ASC], 10) =1 AND lag({ Alternating}, [dateacquired ASC], 11) =1 AND lag({ Alternating}, [dateacquired ASC], 12) =1 AND lag({ Alternating}, [dateacquired ASC], 13) =1 AND lag({ Alternating}, [dateacquired ASC], 14) =1, avg(AnalysisField), NULL) |
|
Rule6Flag |
ifelse({ Direction} * lag({ Direction},[dateacquired ASC], 1) = -1, avg(AnalysisField), NULL) |
9. Rule 7 (Reduced variation sheet)
The ‘Rule7’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule7Flag’ calculated field is added as a field on the Y-axis to highlight any data points within +/- 1σ range in amber.
|
Calculated Field Name |
Formula |
|
R7Prev1 |
lag({ Rule7Flag}, [dateacquired ASC], 1) |
|
R7Prev2 |
lag({ Rule7Flag}, [dateacquired ASC], 2) |
|
R7Prev3 |
lag({ Rule7Flag}, [dateacquired ASC], 3) |
|
R7Prev4 |
lag({ Rule7Flag}, [dateacquired ASC], 4) |
|
R7Prev5 |
lag({ Rule7Flag}, [dateacquired ASC], 5) |
|
R7Prev6 |
lag({ Rule7Flag}, [dateacquired ASC], 6) |
|
R7Prev7 |
lag({ Rule7Flag}, [dateacquired ASC], 7) |
|
R7Prev8 |
lag({ Rule7Flag}, [dateacquired ASC], 8) |
|
R7Prev9 |
lag({ Rule7Flag}, [dateacquired ASC], 9) |
|
R7Prev10 |
lag({ Rule7Flag}, [dateacquired ASC], 10) |
|
R7Prev11 |
lag({ Rule7Flag}, [dateacquired ASC], 11) |
|
R7Prev12 |
lag({ Rule7Flag}, [dateacquired ASC], 12) |
|
R7Prev13 |
lag({ Rule7Flag}, [dateacquired ASC], 13) |
|
R7Prev14 |
lag({ Rule7Flag}, [dateacquired ASC], 14) |
|
Rule7 |
ifelse({ Rule7Flag} + { R7Prev1} + { R7Prev2} + { R7Prev3} + { R7Prev4} + { R7Prev5} + { R7Prev6} + { R7Prev7} + { R7Prev8} + { R7Prev9} + { R7Prev10} + { R7Prev11} + { R7Prev12} + { R7Prev13} + { R7Prev14} >= 14, avg(AnalysisField), NULL) |
|
Rule7Flag |
ifelse(avg(AnalysisField) < avg({ +1σ}) AND avg(AnalysisField) > avg({ -1σ}), avg(AnalysisField), NULL) |
10. Rule 8 (Increased variation sheet)
The ‘Rule8’ calculated field is added as a field on the Y-axis to highlight any data points violating the rule in red.
The ‘Rule8Flag’ calculated field is added as a field on the Y-axis to highlight any data points outside the +/- 1σ range in amber.
|
Calculated Field Name |
Formula |
|
R8Prev1 |
lag({ Rule8Flag}, [dateacquired ASC], 1) |
|
R8Prev2 |
lag({ Rule8Flag}, [dateacquired ASC], 2) |
|
R8Prev3 |
lag({ Rule8Flag}, [dateacquired ASC], 3) |
|
R8Prev4 |
lag({ Rule8Flag}, [dateacquired ASC], 4) |
|
R8Prev5 |
lag({ Rule8Flag}, [dateacquired ASC], 5) |
|
R8Prev6 |
lag({ Rule8Flag}, [dateacquired ASC], 6) |
|
R8Prev7 |
lag({ Rule8Flag}, [dateacquired ASC], 7) |
|
Rule8 |
ifelse({ Rule8Flag} + { R8Prev1} + { R8Prev2} + { R8Prev3} + { R8Prev4} +{ R8Prev5} + { R8Prev6} + { R8Prev7} >= 7, avg(AnalysisField), NULL) |
|
Rule8Flag |
ifelse(avg(AnalysisField) > avg({ +1σ}) OR avg(AnalysisField) < avg({ -1σ}), avg(AnalysisField), NULL) |
ADDITIONAL INFORMATION
