Umgang mit fehlenden Daten beim Zeichnen von Variabilitätsdiagrammen mit mehreren Y- und BY-Gruppen
| m1 | m2 | m3 | m4 | m5 | m6 | m7 | m8 | Gerät | Familie |
| 1 | 2 | -2 | -1 | -3 | 2 | -1,5 | 0,5 | D1 | F1 |
| 2 | -2 | 2 | 3 | 2 | -1 | 1 | 2 | D2 | F1 |
| 1,5 | 2 | 2,5 | 2 | 0,5 | 1 | -1 | -1,5 | D3 | F1 |
| -1 | 1 | -1 | -1 | -0,5 | 1 | 0,5 | -1 | D4 | F1 |
| 2 | -3 | 1 | -2 | 1 | -2,5 | 0,5 | -1 | D5 | F1 |
| -3 | -0,5 | -1 | 1,5 | . | . | -1 | 1 | D6 | F2 |
| 2,5 | 1 | 0,5 | 1,5 | . | . | -0,5 | 2 | D7 | F2 |
Ich werde diese Tabelle als Beispiel verwenden. Angenommen, m1-m8 sind einige Testparameter einiger Geräte. In der tatsächlichen Tabelle kann die Anzahl der abgefragten Testparameter unterschiedlich sein. Ich möchte Variabilitätsdiagramme mit JSL für diese Parameter für verschiedene Geräte für verschiedene Familien darstellen.
In JSL habe ich getan
myVC = Variability Chart(
invisible,
Y(Eval(parameterlist)),
X(:Device),
By(:Family)
);
Ich habe die Parameter m1-m8 als Parameterliste gruppiert. Aufgrund der fehlenden Daten führt der Code jedoch zu Fehlern, wenn versucht wird, die Diagramme für F2 zu zeichnen.
Gibt es eine Möglichkeit, mit den fehlenden Daten umzugehen? Ich möchte, dass JMP weiterhin die Variabilitätsdiagramme für F2 für die Parameter darstellt, die Daten enthalten. (m1, m2, m3, m4, m7, m8 in diesem Fall). Danach möchte ich, dass JMP die Variabilitätsdiagramme nach Familie anzeigt und als HTML-Bericht speichert.
F1 - m1
.
.
F1 - m8 (Reihenfolge, in der Variabilitätsdiagramme im Bericht angezeigt werden)
F2 - m1
.
.
F2 - m8
Beachten Sie, dass die Anzahl der Testparameter, die Anzahl der Geräte und die Anzahl der verschiedenen Familien abhängig von den Abfragen variieren können.
Betreff: Umgang mit fehlenden Daten beim Zeichnen von Variabilitätsdiagrammen mit mehreren Y- und BY-GruppenNett! Obwohl ich bemerkt habe, dass AsColumn in der Variabilitätskarte für mich nicht zu funktionieren scheint. Das Ändern in Column (Parameterliste [j]) funktioniertBetreff: Umgang mit fehlenden Daten beim Zeichnen von Variabilitätsdiagrammen mit mehreren Y- und BY-GruppenXiangLoh,
Vielleicht möchten Sie einen früheren Beitrag überprüfen
https://community.jmp.com/t5/Discussions/JSL-Generate-xy-Plot-that-loops-through-columns-mit-different/mp/56020#M31438
Die Empfehlungen, die ich dort gemacht habe, würde ich auf Ihre Daten anwenden. Hier sind die Schritte / Pseudocodes:
- Parameterliste erstellen (bereits erledigt)
- Ausführen, zusammenfassen (fgrp = By (: Family)); Das FGRP ist die Liste der Familienwerte
- nw = Neues Fenster ("Tests", vl = VListBox ());
for( i=1, i<=nitems(fgrp), i++,
fam = fgrp[i];
for(j=1, j<=nitems(parameterlist), j++,
param = parameterlist[j];
idx = dt << get rows where(:Family == fam);
// compute the number of non-missing values for column(param)[idx]
// if that number is greater than 0 or some minimum you set then
myVC = dt << Variability Chart( invisible, Y ( AsColumn(param) ) , X(:Device), By(:Family), where(:Family==fam) );
get rid of the where where textbox and append to VL
); //end j
); //end i
Diese Methode gibt Ihnen viel Flexibilität. Sie können für jede Familie einen anderen HTML-Code speichern oder die Reihenfolge und Darstellung nach Familie und Familie ändern. Anstelle des Codes für die 2 kommentierten Schritte könnten Sie auch eine verwenden Versuchen()
Try( myVC = dt << Variability Chart( invisible, Y ( AsColumn(param) ) , X(:Device), By(:Family), where(:Family==fam) );
// get rid of the where where textbox and append to VL
, //else do nothing
Show( "variable " || param || " for Family == " || fam || "has no valid data." )
);
Es sieht nach einer Menge Arbeit aus, aber ich habe festgestellt, dass die meisten Scripters, nachdem sie dies einmal getan haben, die vielen Optionen erkennen, die diese Methode bietet, sie häufig verwenden.
Viel Glück!