Angenommen, ich habe eine Tabelle mit RunNumber (1,2,3...) und Result (numerisch/kontinuierlich).
Wie kann ich eine Formelspalte erstellen, die (z. B. mit einer „1“) die Folge von 5 Zahlen mit dem niedrigsten Durchschnittswert für jede RunNumber und einer „0“ überall sonst identifiziert?
Während es möglich wäre, alles, was man braucht, um das zu erreichen, was man will, in eine Spaltenformel einzufügen, ist es viel einfacher, wenn man ein kleines Skript verwendet, das in offenem Code ausgeführt wird.Hier ist ein Beispiel
names default to here(1);
dt =
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// create a column to represent the original order of the data
dt << new column("Orig Row", set each value(row()));
// Find 5 lowest values of NPN1 for each site
dt << sort( by(:NPN1), order(descending), replace table(1));
dt << new column("minimum NPN1", set each value(
if(col cumulative sum(1,:site) <= 5, 1, 0)
));
// Set the table back to the original order
dt << sort( by(:Orig Row), order(ascending), replace table(1));
dt << delete columns(Orig Row);