Wie wende ich Limits vom Array auf ein Diagramm an?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe 2 Dateien, "spec" und "Data". Die Daten haben FAI und Punkte (PT). Ich möchte eine Analyse -> Qualitätsprozess -> Variabilitätsdiagramm ausführen und die Spezifikation für jedes FAI automatisch auf die Diagramme anwenden.
In einigen Fällen kann das Limits-Array mithilfe des folgenden Codes angewendet werden, es ist jedoch inkonsistent
Wenn ich die Grenzwerte in einen statischen Wert ändere, funktioniert das gut.
1) Ich suche jede Hilfe, die die Community leisten kann
2) Wenn es eine elegantere Lösung gibt, würde ich auch gerne wissen.
Beispielcode unten
=======================
alle schließen ( Datentabellen . nosave ) ; klare symbole () ; Symbole löschen () ;
// Create stacked Data Table: Dies sind nur Beispiele, die ich als Datei lesen kann
dtDataStacked = neue Tabelle ( "dtDataStacked" ) ;
dtDataStacked << Neue Spalte ( "FAI" . Charakter . Werte ({ "01" . "02" . "02" . "03" . "03" . "03" })) ;
dtDataStacked << Neue Spalte ( "PT" . Charakter . Werte ({ "EIN" . "EIN" . "B" . "EIN" . "B" . "B" })) ;
dtDataStacked << Neue Spalte ( "Wert" . Werte ({ 1 . 1 . 2 . 1 . 2 . 3 })) ;
dtSpecStacked = neue Tabelle ( "dtSpecStacked" ) ;
dtSpecStacked << Neue Spalte ( "_FAI" . Charakter . Werte ({ "01" . "02" . "03" })) ;
dtSpecStacked << Neue Spalte ( "_LSL" . numerisch . Kontinuierlich . Werte ({ 0 . 0 . 0 })) ;
dtSpecStacked << Neue Spalte ( "_USL" . numerisch . Kontinuierlich . Werte ({ 4 . 4 . 4 })) ;
// Zuweisen von stackedData
dtDataStacked << aktualisieren (
mit ( dtSpecStacked ) .
Spalten stimmen ( FAI = _FAI )
) ;
// Plots erstellen
aktuelle Datentabelle ( dtDataStacked ) ;
dtDataStacked << Variabilitätstabelle (
Y ( : Wert ) .
X ( : PT ) .
Durch ( : FAI ) .
Analysetyp ( "Wählen Sie die beste Analyse (EMS REML Bayesian)" ) .
Zellmittel verbinden ( 1 ) .
Std Dev Chart ( 0 ) .
Punkte verwirrt ( 1 ) .
Box Plots anzeigen ( 1 ) .
SendToReport (
Versand (
{ Variabilitätsdiagramm für Wert } .
"2" .
ScaleBox .
{
// Ref Line hinzufügen ({0, 4}, "solid", "dark green", "", 1, 0.25) // diese Zeile funktioniert
Ref Line hinzufügen ( { _lsl . _usl } . "Solide" . "Dunkelgrün" . "" . 1 . 0,25 ) /// diese Zeile nicht
}
)
)
) ;
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?Herrlich... Funktioniert genau so, wie ich es für diesen Dummy-Code benötigte. Nowi muss einige Änderungen an meinem ursprünglichen Code vornehmen
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?Ich habe meinen letzten Eintrag geändert, um die Spezifikationen aus der Datentabelle dtSpecstacked zu lesen und nur die Grenzwerte von Zeile eins zu Diagramm eins, Zeile zwei zu Diagramm zwei usw. hinzuzufügen.
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?Hier ist eine etwas andere Version, die die Referenzlinien zu den Diagrammen hinzufügt, nachdem die Diagramme erstellt wurden
// alles schließen (Datentabellen, nosave); klare Symbole (); Symbole löschen ();
// Create stacked Data Table: Dies sind nur Beispiele, die ich als Datei lesen kann
dtDataStacked = neue Tabelle ( "dtDataStacked2" );
dtDataStacked << Neue Spalte ( "FAI" , Zeichen, Werte ({ "01" . "02" . "02" . "03" . "03" . "03" }));
dtDataStacked << Neue Spalte ( "PT" , Zeichen, Werte ({ "EIN" . "EIN" . "B" . "EIN" . "B" . "B" }));
dtDataStacked << Neue Spalte ( "Wert" ,Werte({ 1 . 1 . 2 . 1 . 2 . 3 }));
dtSpecStacked = neue Tabelle ( "dtSpecStacked" );
dtSpecStacked << Neue Spalte ( "_FAI" , Zeichen, Werte ({ "01" . "02" . "03" }));
dtSpecStacked << Neue Spalte ( "_LSL" , numerisch, kontinuierlich, Werte ({ 0 . 0 . 0 }));
dtSpecStacked << Neue Spalte ( "_USL" , numerisch, kontinuierlich, Werte ({ 4 . 4 . 4 }));
// Zuweisen von stackedData
dtDataStacked << aktualisieren (
mit (dtSpecStacked),
Übereinstimmungsspalten (FAI = _FAI)
);
// Plots erstellen
aktuelle Datentabelle (dtDataStacked);
varch = dtDataStacked << Variabilitätstabelle (
Y (: Wert),
X (: PT),
Von (: FAI),
Analysetyp ( "Wählen Sie die beste Analyse (EMS REML Bayesian)" )
Zellmittel verbinden ( 1 )
Std Dev Chart ( 0 )
Punkte verwirrt ( 1 )
Box-Plots anzeigen ( 1 ) / *,
SendToReport (
Versand(
{"Variabilitätsdiagramm für Wert"},
"2",
ScaleBox,
{
// Ref Line hinzufügen ({0, 4}, "solid", "dark green", "", 1, 0.25) // diese Zeile funktioniert
Fügen Sie eine Ref-Zeile hinzu ({_LSL, _USL}, "Solid", "Dark Green", "", 1, 0.25) /// diese Zeile nicht
}
)
) * /
);
// Füge die Referenzlinien zu jedem Diagramm hinzu
Zum (i = 1 , ich <= N Zeilen (dtSpecStacked), i ++,
Bericht (varch ) [Achsenbox ( 1 )] << Ref Line hinzufügen (dtSpecstacked: _LSL [ ich ] "Solide" . "Dunkelgrün" . "" . 1 );
Bericht (varch ) [Achsenbox ( 1 )] << Ref Line hinzufügen (dtSpecstacked: _USL [ ich ] "Solide" . "Dunkelgrün" . "" . 1 );
);
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?bitte beachten Sie die unten stehenden Hinweise ...
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?bitte beachten Sie die unten stehenden Hinweise ...
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?Entschuldigung, dass ich das Beispiel nicht für meine Angelegenheit repräsentativ mache.
Angenommen, die Grenzwerte sind je nach FAI unterschiedlich. und Ich würde gerne verstehen, wie sich jeder PT innerhalb derselben FAI verhält.
Das anfängliche "dtDataStacked" ist im Wesentlichen das Ergebnis von gestapelten Daten, die ursprünglich FAI, PT, Value in verschiedenen Spalten hatten. Ich erinnere mich an die Anforderung für ein Diagramm mit variablen Messstreifen, wenn Sie sie zuerst stapeln müssen, um dtSpecStacked zu erhalten.
Bitte überprüfen Sie die ursprünglichen Codezeilen unten, um mein Problem zu veranschaulichen ...
dtSpecStacked << Neue Spalte ( "_LSL" . numerisch . Kontinuierlich . Werte ({ 0 . 0 . 0 })) ;
dtSpecStacked << Neue Spalte ( "_USL" . numerisch . Kontinuierlich . Werte ({ 4 . 5 . 7 })) ;
So
FAI = 01 hat Grenzwerte von 0 ~ 4
FAI = 02 hat Grenzwerte von 0 bis 5
FAI = 03 hat Grenzwerte von 0 ~ 7
... usw
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?JMP verfügt über die integrierte Funktion zum Anzeigen von Spezifikationsgrenzwerten, wenn die Grenzwerte als Spalteneigenschaften gespeichert wurden. Nachfolgend finden Sie eine Änderung Ihres Skripts, das diese Methode verwendet
alle schließen (Datentabellen, nosave); klare symbole (); Symbole löschen ();
// Create stacked Data Table: Dies sind nur Beispiele, die ich als Datei lesen kann
dtDataStacked = neue Tabelle ( "dtDataStacked2" );
dtDataStacked << Neue Spalte ( "FAI" , Zeichen, Werte ({ "01" . "02" . "02" . "03" . "03" . "03" }));
dtDataStacked << Neue Spalte ( "PT" , Zeichen, Werte ({ "EIN" . "EIN" . "B" . "EIN" . "B" . "B" }));
dtDataStacked << Neue Spalte ( "Wert" ,Werte({ 1 . 1 . 2 . 1 . 2 . 3 }));
dtSpecStacked = neue Tabelle ( "dtSpecStacked" );
dtSpecStacked << Neue Spalte ( "_FAI" , Zeichen, Werte ({ "01" . "02" . "03" }));
// Fügen Sie der Spalte "Wert" die Spezifikationsgrenzen als Spalteneigenschaften hinzu
dtDataStacked: Wert << Eigenschaft festlegen ( "Spezifikationsgrenzen" {LSL ( 0 ), USL ( 4 ), Limits anzeigen ( 1 )});
/ *
dtSpecStacked << Neue Spalte ("_ LSL", numerisch, kontinuierlich, Werte ({0,0,0}));
dtSpecStacked << Neue Spalte ("_ USL", numerisch, kontinuierlich, Werte ({4,4,4}));
* /
// Zuweisen von stackedData
dtDataStacked << aktualisieren (
mit (dtSpecStacked),
Übereinstimmungsspalten (FAI = _FAI)
);
// Plots erstellen
aktuelle Datentabelle (dtDataStacked);
dtDataStacked << Variabilitätstabelle (
Y (: Wert),
X (: PT),
Von (: FAI),
Analysetyp ( "Wählen Sie die beste Analyse (EMS REML Bayesian)" )
Zellmittel verbinden ( 1 )
Std Dev Chart ( 0 )
Punkte verwirrt ( 1 )
Box-Plots anzeigen ( 1 )
/ *,
SendToReport (
Versand(
{"Variabilitätsdiagramm für Wert"},
"2",
ScaleBox,
{
// Ref Line hinzufügen ({0, 4}, "solid", "dark green", "", 1, 0.25) // diese Zeile funktioniert
Fügen Sie eine Ref-Zeile hinzu ({_LSL, _USL}, "Solid", "Dark Green", "", 1, 0.25) /// diese Zeile nicht
}
)
) * /
);
Re: Wie werden Limits vom Array auf ein Diagramm angewendet?Verwenden Sie die Prozessfähigkeitsplattform. Es hat die Möglichkeit, die Grenzen direkt als Teil des Workflows in die Spalteneigenschaften zu schreiben.