Ich fürchte, dass ich das Anliegen des Benutzers in diesem Eintrag aufgrund meines schlechten Englisch nicht gut erklären kann.
Wenn Sie die Anfrage dieses Benutzers nicht gut verstehen, möchte ich versuchen, es auf andere Weise noch einmal zu erklären.
Was hat Sie zu dieser Wish List-Anfrage inspiriert?
Dies wird von Masakazu Okada-san, SE bei JMP Japan vorgeschlagen. Er fand diesen Vorschlag, als er eine Frage zum Festlegen mehrerer LCL-, UCL- und Mittellinien für verschiedene Gruppenvariablen beantwortete. Dies kann durch JSL-Codes erfolgen, ist aber mühsam.
Anwender ist der Leiterplattenhersteller FICT.
Bitte beschreiben Sie die neue oder verbesserte Funktion oder Lösung, die Sie sehen möchten.
In der aktuellen Prozess-Screening-Plattform können Sie die Gruppierungsspalte angeben und verschiedene Ziele, LSLs, USLs, Mittellinien und Sigmas festlegen, indem Sie die Grenzwertdatentabelle verwenden.
Okada-san schlägt vor, dass wir die gleichen Funktionen auch für den Control Chart Builder und die Process Capability-Plattform haben.
Welchen Wert hätte es für Sie und/oder andere Benutzer, wenn diese neue Funktion bereitgestellt wird?
Derzeit tut es der Benutzer nach einigen Datenmanipulationen mit JSL. Es ist langweilig.
Handelt es sich um eine externe Kundenanfrage?
Ja, der Benutzer ist FICT. SE ist für sie Masakazu OKada-san bei JMP Japan.
Gibt es ein konkurrierendes Softwarepaket mit dieser Funktion oder Lösung, die wir kennen sollten?
Ob andere Software das kann, weiß ich nicht.
Wird sich dies auf eine Verlängerung, Erweiterung oder Einführung bei einem Kunden auswirken, und gefährdet dies ein Konto, wenn wir uns nicht darum kümmern?
Nein. Masakazu Okada-san glaubt jedoch, dass diese neue Funktion auch anderen Benutzern helfen kann.
Einzelheiten
Das folgende Beispiel zeigt, wie verschiedene Grenzwerte für verschiedene Gruppen in der Process Screening-Plattform festgelegt werden.
New Table( "Spec Limits",
New Column( "Variable", Character, Values( {"X1", "X2", "X3", "X4", "X1", "X2", "X3", "X4"} )),
New Column( "LSL", Values( [-3, -3, -3, -3, -5, -5, -5, -5] ) ),
New Column( "USL", Values( [3, 3, 3, 3, 5, 5, 5, 5] )),
New Column( "Target", Values( [0, 0, 0, 0, 0, 0, 0, 0] )),
New Column( "Sigma", Values( [1, 1, 1, 1, 2, 2, 2, 2] )),
New Column( "Center", Values( [0, 0, 0, 0, 1, 1, 1, 1] )),
New Column( "Group", Values( [1, 1, 1, 1, 2, 2, 2, 2] ))
);
dt = As Table(J(1000,1, Random Integer(2))||J(1000, 4, Random Normal()),
<
Qualitäts- und VerfahrenstechnikRe: Gruppierungsfunktion für Control Chart Builder und Process Capabiilty-Plattform – Status geändert in: BestätigtBetreff: Gruppierungsfunktion für den Control Chart Builder und die Process Capabiilty-Plattform – Status geändert in: Wird untersuchtBetreff: Gruppierungsfunktion für den Kontrolldiagramm-Generator und die Prozessfähigkeitsplattform – Status geändert auf: Ja, bleiben Sie dran!Dies ist bereits in CCB verfügbar und wurde in 19 für Prozessfähigkeit hinzugefügt. Siehe https://jmpdiscovery.atlassian.net/browse/JMP-4341 und https://jmpdiscovery.atlassian.net/browse/JMP-22646
@mia_stephens -san, ich habe dieselbe Anfrage von einem Ingenieur bei Resonac erhalten. Ihre Anfrage ist etwas komplizierter. Sie möchten Gruppen (durch lokalen Datenfilter) und Y-Variablen (durch Spaltenumschalter) umschalten, die unterschiedliche Spezifikationsgrenzen haben. Ich habe ihnen bereits geantwortet, dass dies durch Erstellen eines Skripts (wie das angehängte) möglich ist. Aber ich bin der Meinung, dass dies sogar im CCB von JMP18 einfacher möglich ist. Können Sie mir sagen, wie wir Spezifikationsgrenzen für Gruppenvariablen im CCB von JMP18 oder JMP19 festlegen können? Ich kann den Weg nicht finden.
Clear Symbols();
Clear Globals();
Names Default To Here(1);
// Random Data
n = 1000; //Total Sample Szie
nprod = 5; // Number of Products
ntest = 20; //Number of Testes (measuremnt instruments)
Random Reset(11111111); // Random Seed
// Make a sample data
prodid = Shape(Repeat((1::nprod)`,nprod,n/nprod),n,1);
dt input = As Table(prodid || (prodid* J(1,ntest,1) + J(n, ntest, Round(Random Normal(Random Integer(1,3),Random Integer(1,3)),3))));
dt input << Set Name("Data");
Column(dt input,1)<<SET name=""> List of Product Name */
Summarize(input data, product names = By(Column(product col name input)));
/* test names --> List of Sencor Name */
/* The below code assume that measurment data are saved after the 2nd column. */
/* You need to change if not so. */
test names = Remove(input data <<GET column="" names="">=2, Dialog(TextBox("There are more than one corresponding data in Spec Limit data."));
);
lsl = Column(dt spec, lsl colname)[row num];
target = Column(dt spec, target colname)[row num];
usl = Column(dt spec, usl colname)[row num];
Eval List({lsl[1], target[1], usl[1]})
);
append cont chart = Function({input data, prod var, prod name, yvar, lsl, target, usl},{Default Local},
Eval(Eval Expr(
ccb = V List Box( input data << Control Chart Builder(
invisible,
Where(:As Column(input data, prod var) == Expr(prod name)),
// Where(:Product == Expr(prod name)),
Show Excluded Region( 0 ),
Variables( Y( Column(input data, yvar) )),
Chart(
Position( 1 ),
Limits( Spec Limits( 1 ) ),
Add Spec Limits( {LSL( lsl ), USL( usl ), Target( target )} )
),
Sort by Subgroup( 1 ),
Show Control Panel( 0 )
))
));
ccb[Text Box(1)] << Visibility("Collapse");
vb << Append( ccb )
);
update control chart by list box = Expr(
sel prod = lb prod<<GET selected="">=1 & NItems(sel test)>=1,
{lsl, target, usl} = get spec values from spec data(dt spec, sel prod[1], sel test[1],
product col name spec, test col name spec, lsl col name,
target col name, usl colname);
);
append cont chart(input data, product col name input, sel prod[1], sel test[1], lsl, target, usl);
);
New Window("Control Chart and Capability Analysis",
hb = HList Box(
OutlineBox("Product",
lb prod = ListBox(product names, <<SET max="" selected=""></SET></GET></GET></SET>
<P> </P>