Generieren einer Delta-Tabelle zur Berechnung der Differenzen zwischen zwei TemperaturmessungenIch habe eine Datentabelle, die zwei Datensätze für zwei Temperaturen für mehrere Geräte kombiniert. Jedes Gerät wird über 20 Tests bei zwei Temperaturen unterzogen.
Ich muss für jede Einheit eine Delta-Tabelle generieren, die die Differenz zwischen temp2 - temp1 berechnet, wie in der Tabelle "Data_Table" dargestellt.
Ich erhalte immer wieder denselben Fehler, nachdem eine unvollständige Delta-Tabelle generiert wurde (siehe nächste Seite).

die Fehlermeldung, die ich erhalte

Meine Datentabelle

Hier ist mein Code. Ich wäre sehr dankbar für jede Hilfe.
Names Default To Here(1);
dt = Current Data Table();
allCols = dt << Get Column Names(string);
tpColName = allCols[1]; // Always Column 1
dutColName = allCols[2]; // Always Column 2
testCols = {};
For(i = 3, i <= N Items(allCols), i++,
Insert Into(testCols, allCols[i])
);
// 2. Extract Unique Values
Summarize(dt, dutList = By(Column(dt, 2)));
Summarize(dt, tpList = By(Column(dt, 1)));
// 3. Setup Results Table
dt_delta = New Table("DUT Delta Results");
dt_delta << New Column("DUT", Character, Nominal);
dt_delta << New Column("Shift", Character, Nominal);
For(i = 1, i <= N Items(testCols), i++,
dt_delta << New Column(testCols[i] || " Δ", Numeric, Continuous)
);
// 4. Robust Calculation Loop
For(d = 1, d <= N Items(dutList), d++,
currDUT = dutList[d];
For(t = 2, t <= N Items(tpList), t++,
p1 = tpList[t - 1];
p2 = tpList[t];
// This forces a match even if your DUT/TestPoints are numbers
r1Mat = dt << Get Rows Where(
Char(Column(dt, 2)[]) == Char(currDUT) & Char(Column(dt, 1)[]) == Char(p1)
);
r2Mat = dt << Get Rows Where(
Char(Column(dt, 2)[]) == Char(currDUT) & Char(Column(dt, 1)[]) == Char(p2)
);
// Ensure exactly one row found for each point to prevent subscript errors
If(N Rows(r1Mat) > 0 & N Rows(r2Mat) > 0,
row1 = r1Mat[1]; // Explicitly take first found row as integer
row2 = r2Mat[1];
newRow = dt_delta << Add Rows(1);
dt_delta:DUT[newRow] = currDUT;
dt_delta:Shift[newRow] = p2 || " - " || p1;
For(c = 1, c <= N Items(testCols), c++,
colN = testCols[c];
v1 = Column(dt, colN)[row1];
v2 = Column(dt, colN)[row2];
If(!Is Missing(v1) & !Is Missing(v2),
Column(dt_delta, colN || " Δ")[newRow] = v2 - v1
);
);
);
);
);
dt_delta << Bring Window To Front;
Edit (jthi): added JSL formatting
Automatisierung und SkripterstellungBetreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenKönnten Sie die Datentabelle zur Verfügung stellen?
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellennewRow = dt_delta << Add Rows(1);
Gibt die Zeilennummer nicht zurück. Wenn Sie es ändern in:
dt_delta << Add Rows(1);
newRow = nrows(dt_delta);
Es wird funktionieren
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenDanke Jarmo, siehe beigefügte Tabelle
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenDanke Jim, ich werde den neuen Code verwenden. Ich habe vorher eine leere Tabelle erhalten.
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenEs hat wunderbar funktioniert! Ich werde es mit einem größeren Datensatz ausprobieren. Danke, Jim!

Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenDie Berechnung wurde auch in Excel bestätigt, die Daten stimmen überein.

Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenHallo Jim, gibt es in JMP ein Skript oder eine Funktion, mit der ich alle numerischen Spalten so skalieren kann, dass sie die Grenzwerte einschließen? So würden die Grenzwerte in Variabilitätsdiagrammen berücksichtigt. Momentan werden alle Diagramme nur anhand der Daten automatisch skaliert. Danke.
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenFür jede Spalte einer JMP-Datentabelle lassen sich Spalteneigenschaften festlegen. Klicken Sie mit der rechten Maustaste auf die Spaltenüberschrift und wählen Sie „Spalteneigenschaften“. Daraufhin werden alle verfügbaren Spalteneigenschaften angezeigt. Die beiden für Sie relevanten Elemente sind „Spezifikationsgrenzen“ und „Achse“. Nach der Festlegung werden diese in allen nachfolgenden relevanten Diagrammen verwendet bzw. angezeigt.
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenHallo Jim, das mag für ein paar Tests funktionieren, aber ich habe ca. 2000 Tests und es ist schwierig, jeden einzelnen durchzuführen. Gibt es eine Möglichkeit, ein Skript zu erstellen, das auf alle Tests angewendet wird? Danke.
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenDas lässt sich skripten. Woher kommen Ihre Grenzen?
Betreff: Delta-Tabelle zur Berechnung der Differenzen zwischen zwei Temperaturmessungen erstellenDanke für die Antwort, ich konnte das Problem lösen. Meine Grenzwerte werden übrigens normalerweise für jede Spalte einzeln importiert.