Liebe Community,
Ich führe Trendanalysen mithilfe von Regelkarten für verschiedene Produkte derselben Familie durch, die gemeinsame Prozesskontrollen (pH-Wert, Herstellungszeit usw.) haben, aber unterschiedliche Spezifikationsgrenzen haben.
Ich hätte gerne nur eine Spalte mit allgemeinen Prozesssteuerungsdaten (im Beispiel Spalte 3) und würde über ein Skript die verschiedenen Spezifikationsgrenzen nach Produkt anwenden (ich verwende derzeit automatische Steuerungsgrenzen bei 3 Sigma, wäre aber interessant, wenn ich dazu in der Lage wäre). um sie auch zu definieren)
Meine aktuelle Vorgehensweise besteht darin, verschiedene Spalten zu haben und die Spezifikationsgrenzen in den Spalteneigenschaften zu speichern und dann Produkt 1 mit Zeitspalte 1, Produkt 2 mit Zeitspalte 2 usw. verknüpfen zu müssen. Dadurch entsteht jedoch eine riesige Datentabelle.
Ich schätze, es muss eine Tabelle mit Spezifikationsgrenzen verwendet werden, konnte den Prozess aber auch nicht darüber skripten.

DT liegt bei
Danke
@Ben_Ingham @Danny _Sierra
Hallo Andeka,
Danke fürs Schreiben. Ich möchte vorab sagen, dass ich kein Skripter bin, aber ich habe einen Weg gefunden, dieses Problem mithilfe von JMP zu lösen, das Sie per Skript erstellen können. Viele dieser Details habe ich dem hier beschriebenen Beispiel entnommen: https://community.jmp.com/t5/Discussions/Setting-Spec-Limits-using-Column-Data/td-p/392499
In dieser Lösung können Sie alle Produkt- und Prozesskontrollen sowie Spezifikationsgrenzwerte in einer separaten Datentabelle speichern. In diesem Fall habe ich eine Datentabelle mit Spezifikationsgrenzwerten erstellt, wobei UCL/LCL aus den von der Steuerung generierten Grenzwertzusammenfassungen generiert wurde Diagrammersteller. Ich habe zufällige USL-Werte hinzugefügt, um seine Verwendung zu veranschaulichen. Wenn Sie mehrere Prozesse analysieren möchten, müssen Sie dies nur in der Spalte „Prozess“ vermerken (wichtig für später).

Mithilfe dieser Datentabelle können Sie die Prozess-Screening-Plattform (Analysieren > Qualität und Prozess > Prozess-Screening in JMP 17) verwenden, um eine einzelne „Seite“ zum Anzeigen Ihrer Kontrolldiagramme zu erstellen. Platzieren Sie zunächst Ihre Prozesssteuerungsdaten in „Prozessvariablen“ und trennen Sie Ihre Daten mithilfe der Auswahl „Nach“ nach Produkt (siehe unten). Stellen Sie sicher, dass Sie „Grenzwerttabelle verwenden“ auswählen, klicken Sie auf „OK“ und wählen Sie Ihre Spezifikationstabelle aus.


Von hier aus fordert Sie die Prozess-Screening-Plattform auf, Ihre Prozessvariable (Prozess) und Gruppierung (Ihr „Produkt“/die vorherige „nach“-Variable) sowie Ihre LCL/UCL- und USL/LSL-Spezifikationsgrenzen auszuwählen. Klicken Sie auf „OK“, dann müssen Sie lediglich „Diagramm als ausgewählt auswählen“ aktivieren und Ihre Übersichtstabelle hervorheben.


Process Screening(
SendToByGroup( Bygroup Default ),
Process Variables( :"Total Time (min)"n ),
Control Chart Type( "Indiv and MR" ),
SendToByGroup( {:Product == "Product 1"}, Cp( 1 ) ),
Show Charts as Selected( 1 ),
SendToByGroup(
{:Product == "Product 1"},
Chart Options as Selected( Show Zones( 1 ), Show Spec Limits( 1 ) )
),
Use Limits Table(
1,
Data Table( "Spec Table" ),
Process Variables( :Process ),
Grouping( :Product ),
LSL( :LSL ),
USL( :USL ),
Target( :Target ),
Go
),
SendToByGroup( {:Product == "Product 1"}, RowStates( [0 1] ) ),
SendToByGroup( {:Product == "Product 2"}, RowStates( [0 1] ) ),
SendToByGroup( {:Product == "Product 3"}, RowStates( [0 1] ) ),
By( :Product ),
SendToByGroup(
{:Product == "Product 1"},
SendToReport(
Dispatch(
{"Process Screening Product=Product 1", "Charts as Selected"},
"",
ListBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 1", "Charts as Selected"},
"",
TextBox,
{Set Wrap( 520 ), Set Base Font( "Small" )}
),
Dispatch(
{"Process Screening Product=Product 1", "Charts as Selected"},
"",
PictureBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 1", "Charts as Selected"},
"",
TextEditBox,
{Rotate Text( "Left" ), Set Wrap( 170 ),
Set Base Font( "Axis Title" )}
)
)
),
SendToByGroup(
{:Product == "Product 2"},
SendToReport(
Dispatch(
{"Process Screening Product=Product 2"},
"",
TableBox,
{set height( 69 ), set width( 830 )}
),
Dispatch(
{"Process Screening Product=Product 2", "Charts as Selected"},
"",
ListBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 2", "Charts as Selected"},
"",
TextBox,
{Set Wrap( 520 ), Set Base Font( "Small" )}
),
Dispatch(
{"Process Screening Product=Product 2", "Charts as Selected"},
"",
PictureBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 2", "Charts as Selected"},
"",
TextEditBox,
{Rotate Text( "Left" ), Set Wrap( 170 ),
Set Base Font( "Axis Title" )}
)
)
),
SendToByGroup(
{:Product == "Product 3"},
SendToReport(
Dispatch(
{"Process Screening Product=Product 3", "Charts as Selected"},
"",
ListBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 3", "Charts as Selected"},
"",
TextBox,
{Set Wrap( 520 ), Set Base Font( "Small" )}
),
Dispatch(
{"Process Screening Product=Product 3", "Charts as Selected"},
"",
PictureBox,
{Horizontal Alignment( "Right" )}
),
Dispatch(
{"Process Screening Product=Product 3", "Charts as Selected"},
"",
TextEditBox,
{Rotate Text( "Left" ), Set Wrap( 170 ),
Set Base Font( "Axis Title" )}
)
)
)
)
Ich habe die Datentabelle und das Skript für diesen Prozess angehängt (gespeichert durch Auswahl von „Save By Group Script“ im roten Dropdown-Menü). Lassen Sie mich wissen, ob diese Lösung für Sie funktioniert!
Prost,
Ben