Wie fülle ich fortlaufende Nummern (beginnend mit 1) in einer Spalte aus, wenn identische Elemente in einer anderen Spalte erscheinen?Nehmen wir an, ich habe zweispaltige Daten. Die erste Spalte partID, die zweite Spalte ist ein Messwert für dieses Teil. Jedes Teil wird N-mal gemessen, sodass die Spalte „partID“ Zeilen enthält, in denen die ID N-mal in der Tabelle erscheint, bis die nächste partID angezeigt wird. Ich möchte eine neue Spalte mit der Anzahl der Messwiederholungen/-läufe für ein bestimmtes Teil erstellen.
Für identische Teile-IDs, die in der Spalte „Teile-ID“ angezeigt werden, möchte ich die Spalte „Läufe“ mit fortlaufenden Nummern beginnend bei 1 füllen.
Wenn also Teil A 11 Mal gemessen wird, erhält die Spalte „Läufe“ Zeileneinträge von 1 bis 11. Als nächstes wird Teil B 9 Mal gemessen, die Spalte „Läufe“ enthält die Zeileneinträge 1 bis 9 und so weiter.
Wie kann ich dies über JSL automatisieren?
WindowsBetreff: Wie fülle ich fortlaufende Nummern (beginnend mit 1) in einer Spalte aus, wenn identische Elemente in einer anderen Spalte erscheinen?Solange die Teile-IDs wie von Ihnen angegeben gruppiert sind, funktioniert dies.
If(
Row() == 1, 1,
Lag( :partID ) == :partID, Lag( :Runs ) + 1,
1
)
Betreff: Wie fülle ich fortlaufende Nummern (beginnend mit 1) in einer Spalte aus, wenn identische Elemente in einer anderen Spalte erscheinen?@mmarchandTSI Lösung ist eine gute Lösung.Aber wie üblich gibt es in JMP mehrere Möglichkeiten, zur Lösung zu gelangen.Hier ist eine alternative Lösung
Col Cumulative Sum( 1, :partID )
Betreff: Wie fülle ich fortlaufende Nummern (beginnend mit 1) in einer Spalte aus, wenn identische Elemente in einer anderen Spalte erscheinen?Col Cumulative Sum mit dem Wert 1 sollte mit aktuellen JMP-Versionen funktionieren
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1",
Character,
"Nominal",
Set Values({"A", "A", "A", "A", "B", "B", "C", "C", "C", "D"})
)
);
dt << New Column("Run", Numeric, Ordinal, Formula(
Col Cumulative Sum(1, :Column 1)
));