Hallo,
Ich möchte Zeilendaten berechnen, indem ich auf Spalten/Daten in einer anderen Tabelle verweise.Ich versuche, den Ertrag in Tabelle Nr. 2 zu berechnen, indem ich Daten aus Tabelle Nr. 1 ziehe, ohne die Tabellen zu verbinden.Gibt es eine Möglichkeit, dies zu tun? Hier ist, was ich bisher habe...
Tabelle Nr. 1 = WaferRgDt
Tabelle Nr. 2 = dt1: Ich versuche, diese mit Daten zu füllen, die aus Tabelle Nr. 1 berechnet werden

For( j = 1, j <= N Rows( dtWaferIDList ), j++,
Eval(
Parse(
tempj = Column( dtWaferIDList, 1 )[j];
dt1 << select where( :Wafer == tempj);
dt1 << Add Rows({Wafer = tempj
, NTested = If( Selected( Row State( Row() ) ), Col Number( :Name("FailDie")))
, GoodDie = If( Selected( Row State( Row() ) ), Col Number( If(:Name("FailDie") == 0, 1, . )))
, Yield = If( Selected( Row State( Row() ) ), 100 * :Name("GoodDie") / :Name("NTested"))})
)
)
);Das wichtigste logische Problem mit diesem Code, den ich habe, ist, dass die Spalte „FailDie“ nicht Teil der Tabelle dt1, sondern Teil von Tabelle Nr. 2 ist und ich glaube nicht, dass sie diese Daten in ihrem aktuellen Zustand lesen kann .
Hier ist ein Beispiel für eine Möglichkeit, mit dem umzugehen, was Sie tun möchten:

Names Default To Here( 1 );
dt = Open( "$sample_data/big class.jmp" );
dt1 = new table("Final",
new Column("Gender", character),
new column("Mean"),
new column("Count")
);
Summarize( dt, dtWaferIDList = By( :sex ) );<BR />
// Loop across groups found in Summarize
// Changed to using k as an index. There is a j() function in JMP
// and using k will avoid any confusion
For( k = 1, k <= N Items( dtWaferIDList ), k++,
dt1 << add rows( 1 );
dt1:Gender[k] = dtWaferIDList[k];
// Find rows in dt data table that match the current Gender
theRows = dt << get rows where( dt:sex == dtWaferIDList[k] );
// Calculate Mean
dt1:Mean[k] = Mean( dt:Height[theRows] );
// Calculate the Count
dt1:Count[k] = N Rows( theRows );
);