automatische SPEC-Grenzwerte in var. DiagrammeHallo
Ich habe ein Skript erstellt, das ein Variabilitätsdiagramm generiert, das auf der Y-Achse: NewValue und auf der X-Achse: ENTITY angezeigt wird.
Das Variabilitätsdiagramm wird nach ATTRIBUTE_NAME gefiltert, sodass ich für jeden Attributnamen zahlreiche Diagramme erhalte.
Ich möchte, dass das Skript die relevanten SPEC-Grenzwerte aus einer zusätzlichen Datentabelle (genannt "Gases SPEC-Grenzwerte") zu neuen Spalten hinzufügt und für jeden Attributnamen ein Variabilitätsdiagramm mit seinen spezifischen SPEC-Werten generiert.
konnte nicht verstehen, wie es geht, bitte helfen!
Hier ist mein bisher fehlgeschlagenes Skript zum manuellen Generieren von USL für 3 verschiedene Attribute angehängt:
dt = aktuelle Datentabelle ();
dt << Neue Spalte ("USL",
Numerisch,
Kontinuierlich,
Formel (If (: ATTRIBUTE_NAME == "Gas07TactrasFlowCheckF2", 65,
If (: ATTRIBUTE_NAME == "Gas08TactrasFlowCheckF2", 70,
If (: ATTRIBUTE_NAME == "Gas04TactrasFlowCheckF2", 15, 10)
)))
);
varch = dt << Variabilitätsdiagramm (
Y (: NewValue),
X (: ENTITY),
Von (: ATTRIBUTE_NAME),
Bereichsleisten anzeigen (0),
Zellmittel anzeigen (0),
Zellenmittel verbinden (0),
Trennzeichen anzeigen (0),
Standardentwicklungsdiagramm (0),
Punkte verwackelt (1),
AIAG-Etiketten (0),
ATTRIBUTE_NAME
SendToReport (
Versand(
{},
"1",
ScaleBox,
{Ref Line hinzufügen (__Upper__, "Solid", "Black", "gfgfd", 1)}
),
Versand(
{},
"Oneway Plot",
FrameBox,
)
)
);
Für (i = 1, i <= N Zeilen (dt), i ++,
report (varch) [axisbox (1)] << Ref Line hinzufügen (dt: LSL [i], "Solid", "Dark Green", "Target", 1);
report (varch) [axisbox (1)] << Ref Line hinzufügen (dt: USL [i], "Solid", "Dark Green", "", 1);
);
Betreff: automatische SPEC-Grenzwerte in var. DiagrammeEs gibt 2 Probleme mit Ihrem Skript
- Das Variabilitätsdiagramm gibt nicht 1 Berichtsstruktur für seine Ausgabe aus, sondern gibt eine Berichtsstruktur für jede By-Gruppe aus. Daher spezifizieren
Report( varch )[AxisBox(1)]
Wenn es sich um eine falsche Referenz handelt, muss angegeben werden, auf welche der Berichtsstrukturen Sie verweisen möchten, z. Gas07TactrasFlowCheckF2 "Das ist alphabetisch das erste nach Gruppe, die Referenz wäre
Report( varch[1] )[AxisBox(1)]
- Ihre For () - Schleife erstellt einen Satz von Referenzzeilen für jede der Zeilen in Ihrer Datentabelle. Ich gehe davon aus, dass Ihre Datentabelle möglicherweise Hunderte Zeilen enthält und Sie immer wieder dieselben Zeilen schreiben würden. Sie müssen lediglich eine Übersichtstabelle mit nur einer Zeile für jedes VarChart erstellen, das Sie erstellen möchten, und dann diese Tabelle durchgehen und die Werte auf das entsprechende Variabilitätsdiagramm anwenden.
Ich habe ein Beispiel angehängt, das zeigt, wie Sie Ihr Skript erstellen möchten
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);Betreff: automatische SPEC-Grenzwerte in var. DiagrammeDanke für deine Antwort!
Um mein Skript noch weiter voranzutreiben, möchte ich meine aktuelle Tabelle (mit den Daten, die ich analysieren möchte) mit einer anderen Datentabelle (SPEC-Grenzwerte) verbinden, die konstant ist und sich nie ändert.
Die SPEC-Grenzwertdatentabelle enthält die folgenden Spalten: "Gas__TactrasFlowCheckF_", "LSL", "TARGET", "USL".
Das Symbol in der ersten Spalte "_" repräsentiert die Optionen für 1-14 verschiedene Gase mit 4 Arten der Durchflusseinstellung für jedes Gas.
Das Zusammenfügen der Daten zu einer Tabelle würde es einfacher machen, als jede Spezifikationsgrenze für jeden Gastyp aufzuschreiben.
Die 2 Datentabellen teilen sich nur 1 Spalte "Gas__TactrasFlowCheckF" und ich möchte, dass das Skript meiner aktuellen Tabelle 3 SPEC-Grenzwerte für jede Zeile hinzufügt.
Nach dem Beitritt zur Datentabelle würde ich das Skript in der ersten Antwort verwenden, um var zu generieren. Diagramme für jeden Gasfluss mit seinen spezifischen Spezifikationseinstellungen.
Eine zweite Sache, die ich machen möchte, ist die bivariate Handlung:
In der X-Achse würde ich "Zeit" und für die Y-Achse "Wert" platzieren. Ich würde ein Diagramm für jede Flusseinstellung erzeugen.
Es fiel mir schwer, jedem Plot eine Referenzlinie ("LSL", "TARGET", "USL") hinzuzufügen.
Ich würde mich sehr über Ihre Hilfe freuen!
Vielen Dank