Quinn-Curtis Forums
Quinn-Curtis Forums
Home | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Tools for Javascript/Typescript
 QCSPCChart for Javascript/GWT
 Specifying limits for p and np charts

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
   

T O P I C    R E V I E W
martintijmes Posted - 01 Aug 2018 : 06:03:14
When rendering a p chart FRACTION_DEFECTIVE_PARTS_CHART, I am specifying the data points as the actual number of defects, as setting the NumSamplesPerSubgroup to the no. of inspections. The limits are specified as 'per inspection'.
The chart then scales the defects, by dividing it by the NumSamplesPerSubgroup, and chart nicely shows the result values and the limits.

When I only change the chart type to NUMBER_DEFECTIVE_PARTS_CHART, and nothing else in the chart definition, the defects are not scaled anymore as expected.
But should the chart not scale the limits in this case, by multiplying them by the NumSamplesPerSubgroup?

Or am I missing some configuration for this?
The same question applies for u (NUMBER_DEFECTS_PERUNIT_CHART) and c (NUMBER_DEFECTS_CHART) chart.

{
"StaticProperties": {
"Canvas": {
"Width": 1778,
"Height": 806
},
"DefaultFontName": "Tahoma, Arial, sans-serif",
"DefaultTableFont": {
"Name": "Tahoma, Arial, sans-serif",
"Size": 12,
"Style": "Plain"
},
"SPCChartStrings": {
"DefaultMean": "MEAN",
"DefaultMedian": "MEDIAN",
"DefaultRange": "RANGE",
"DefaultVariance": "VARIANCE",
"DefaultSigma": "SIGMA",
"DefaultSampleValue": "VALUES",
"DefaultAbsRange": "ABS(RANGE)",
"DefaultSum": "SUM",
"TitleHeader": "Characteristic: ",
"ChartNumberHeader": "Chart: ",
"PartNumberHeader": "Material Id: ",
"PartNameHeader": "Material Desc.: ",
"OperationHeader": "Material Id: ",
"MachineHeader": "Entity: ",
"OperatorHeader": "Operator: ",
"DateHeader": "Date: ",
"NotesHeader": "@@Notes@@",
"AlarmHeader": "@@Alarm@@",
"TimeHeader": "@@Time@@"
}

},
"SPCChart": {
"InitChartProperties": {
"SPCChartType": "FRACTION_DEFECTIVE_PARTS_CHART",
"ChartMode": "Batch",
"NumCategories": 1,
"NumSamplesPerSubgroup": 10,
"NumDatapointsInView": 15,
"NumberAddedVariables": 0
},
"Scrollbar": {
"EnableScrollBar": true,
"ScrollbarPosition": "SCROLLBAR_POSITION_MAX"
},

"Events": {
"EnableDataToolTip": true,
"EnableJSONDataToolTip": true,
"AlarmStateEventEnable": true,
"AlarmTransitionEventEnable": false,
"DataToolTip": {
"EnableCategoryValues": false,
"EnableProcessCapabilityValues": false,
"EnableCalculatedValues": true,
"EnableNotesString": false
},
"NotesToolTip": {
"NotesReadOnly": true
},
"EnableAlarmStatusValues": false
},
"PrimaryChartSetup": {
"FrequencyHistogram": {
"EnableDisplayFrequencyHistogram": true
},
"ControlLimits": {
"OutOfLimitSymbolSize": 12,
"OutOfLimitSymbolType": "CROSS",
"Target": {
"LineColor": "DARKGRAY",
"LineWidth": 2,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"DisplayString": "Target"
},
"LCL3": {
"LineWidth": 2,
"EnableAlarmLine": false,
"EnableAlarmLineText": false,
"EnableAlarmChecking": false
},
"UCL3": {
"LineWidth": 2,
"EnableAlarmLine": false,
"EnableAlarmLineText": false,
"EnableAlarmChecking": false
}
},
"SpecificationLimits": {
"LowSpecificationLimit": {
"LineWidth": 2,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"EnableAlarmChecking": false,
"LimitValue": 0.1,
"DisplayString": "LSL"
},
"HighSpecificationLimit": {
"LineWidth": 2,
"EnableAlarmLine": true,
"EnableAlarmLineText": true,
"EnableAlarmChecking": false,
"LimitValue": 0.9,
"DisplayString": "USL"
}
},
"YAxisLeft": {
"MinValue": 0,
"MaxValue": 1
},
"YAxisRight": {
"MinValue": 0,
"MaxValue": 1
}
},
"SampleData": {
"SampleIntervalRecords": [
{
"BatchCount": 0,
"BatchIDString": "49501",
"TimeStamp": 1533027034060,
"Note": "OOS-H,\n1 outside control limits",
"SampleValues": [
2
],
"VariableControlLimits": [
0.51,
null,
null
],
"VariableSpecificationLimits": [
null,
0.9
],
"PrimaryForceAlarm": "FORCE_HIGH"
},
{
"BatchCount": 1,
"BatchIDString": "49502",
"TimeStamp": 1533029510643,
"Note": "OOS-H",
"SampleValues": [
2
],
"VariableControlLimits": [
0.2111,
null,
null
],
"VariableSpecificationLimits": [
0.1,
0.9
],
"PrimaryForceAlarm": "FORCE_HIGH"
},
{
"BatchCount": 2,
"BatchIDString": "49503",
"TimeStamp": 1533029513637,
"Note": "OOS-H,\n1 outside control limits",
"SampleValues": [
4
],
"VariableControlLimits": [
0.2111,
null,
null
],
"VariableSpecificationLimits": [
0.1,
0.9
],
"PrimaryForceAlarm": "FORCE_HIGH"
},
{
"BatchCount": 3,
"BatchIDString": "49504",
"TimeStamp": 1533029516833,
"Note": "OOS-H,\n1 outside control limits",
"SampleValues": [
1
],
"VariableControlLimits": [
0.2111,
null,
null
],
"VariableSpecificationLimits": [
0.1,
0.9
],
"PrimaryForceAlarm": "FORCE_HIGH"
},
{
"BatchCount": 4,
"BatchIDString": "49505",
"TimeStamp": 1533029522953,
"Note": "OOS-L,\n1 outside control limits,\n2 of 3 outside of 2 std. dev.",
"SampleValues": [
0
],
"VariableControlLimits": [
0.2111,
null,
null
],
"VariableSpecificationLimits": [
0.1,
0.9
],
"PrimaryForceAlarm": "FORCE_LOW"
}
]
},
"Annotations": [

],
"Methods": {
"AutoCalculateControlLimits": [
false,
false
],
"AutoScaleYAxes": [
true,
true
],
"RebuildUsingCurrentData": true
}
}
}
4   L A T E S T    R E P L I E S    (Newest First)
martintijmes Posted - 06 Aug 2018 : 03:42:04
Ok, clear. Thank you.
quinncurtis Posted - 03 Aug 2018 : 11:13:20
It looks to us the chart is acting the way it was designed. If you switch from a p-chart (percent or fraction), which has a y-scale normalized by the # of samples per subinterval, to an np-chart, which has y-scale which represents raw, non-normalized defect values, you must also change the control limit values you specify, from normalized to raw defect values. So, in your example "What I was expecting is that I could use the same SampleIntervalRecords data to show an np chart, and only have to change FRACTION_DEFECTIVE_PARTS_CHART to NUMBER_DEFECTIVE_PARTS_CHART." the answer is no, that won't work if you are specifying the same limit values, since the scale of the limit values do not match between the two chart types.

Only if you were using our auto-calculated limit values would it work. Since internally the software automatically calculate limit values appropriate to the scale the chart uses, something you will need to do in your own control limit calculations.
martintijmes Posted - 03 Aug 2018 : 05:12:18
Hi, the behavior for the scenario mentioned above is still the same in v3.6.2.

For the p chart, the SampleValues property specifies the actual number of defects. The VariableControlLimits are specified as 'defects per inspection'. When rendering, the chart shows the Variable control limits as is, and the SampleValues are scaled (divided) by the NumSamplesPerSubgroup.

What I was expecting is that I could use the same SampleIntervalRecords data to show an np chart, and only have to change FRACTION_DEFECTIVE_PARTS_CHART to NUMBER_DEFECTIVE_PARTS_CHART.
When rendering, the np chart shows the SampleValues as is (meaning actual number of defects). However, the VariableControlLimits are also shown as is (in this case 'defects per inspection'.
Meaning that now I have a chart in which the values are shown as total defects, and the limits are shown as defects per inspection.

I was expecting that the chart would multiply the limits by the NumSamplesPerSubgroup for the np chart to show the total defects limit.
quinncurtis Posted - 01 Aug 2018 : 16:52:18
The NUMBER_DEFECTIVE_PARTS_CHART should be scaled to the limits set for the chart, and the actual number (an integer) of defective parts are plotted for each sample interval. Run your example using the new version available tomorrow, and describe what you think is wrong.

Quinn-Curtis Forums © 2000-2018 Quinn-Curtis, Inc. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07