JSL-Skript „Zählung wiederholter Werte“ ausführen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich möchte eine laufende Zählung oder kumulative Summe wiederholter Werte innerhalb einer Spalte skripten.
Beispielsweise sollte das erste Auftreten gleich 1 sein, der maximale Wert der angegebenen Anzahl nach Wert sollte der kumulativen Summe der Werte in der Spalte entsprechen.
| Farbe | count_color |
|---|
| ROT | 1 |
| ROT | 2 |
| BLAU | 1 |
| GELB | 1 |
| ROT | 3 |
Im Idealfall müsste die Datentabelle für die Ausgabe von :count_color nicht nach :color sortiert werden
Danke.
Betreff: JSL-Skript „Count of Repeated Values“ ausführen?Ich denke, das Erstellen einer neuen Spalte und das Zuweisen der folgenden Formel führt zu dem, was Sie suchen:
Col Cumulative Sum( 1, :Color )
Betreff: JSL-Skript „Count of Repeated Values“ ausführen?BEARBEITEN: Vielleicht möchte ich das ignorieren. Dies gibt eine Gesamtzahl aller Elemente an, die später in einem Skript verwendet werden können, geht jedoch nicht wirklich auf die eigentliche Frage des OP ein.
Ein etwas umständlicherer Weg, dies zu tun, besteht darin, die Zusammenfassungsplattform zu verwenden und dann die resultierende Tabelle in das gewünschte Skriptobjekt einzulesen. Ich habe hier ein assoziatives Array verwendet.
// create temporary summary table
new = Data Table( "Untitled 8" ) << Summary( Group( :color ) );
// make sure "Untitled 8" is the correct title of the original data, containing a column named "color"
<BR />// transfer result to associative array
result = Associative Array(); // empty A.A.
For Each Row(new, result << Insert Item(:color, :N Rows)); // populate A.A.
Show(result); // display A.A. to log
Close(new, No Save); // close temporary summary table
Betreff: JSL-Skript „Count of Repeated Values“ ausführen?Hallo @Craige_Hales ,
Ich führe eine ähnliche Zählung aller Zahlen durch, die nicht Null sind, sonst wird sie auf 1 geändert.
If( :Zahl != 0,
Name Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :Number ) ) ) ),
1
);
Das scheint nicht zu funktionieren. Ich bekomme schwarze Leerzeichen für Zahlen ungleich Null. Kannst du mir dabei helfen? Danke schön.
Betreff: JSL-Skript „Count of Repeated Values“ ausführen?Fügen Sie entweder die Formel ein MS in den Formeleditor oder schließen Sie die Formel ein NameExpr ( längere Erklärung hier 
New Column( "count",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Name Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :color ) ) ) ) )
),
Es gibt einen Fehler in JMP, den Sie aufgedeckt haben. Die resultierende Tabelle enthält nicht den Name Expr( )-Wrapper um die Formel, wenn der Befehl <Betreff: JSL-Skript „Count of Repeated Values“ ausführen?
Die Verwendung des Eval-Befehls unter der Formel generiert eine Ausgabe, aber alle Werte = 0
Vielleicht habe ich es falsch interpretiert. Meine Spaltenformel ist unten.
// Laufende Zählung
Neue Spalte("count_color",
numerisch,
kontinuierlich,
Formel(
Eval(Eval Expr(Col Sum(Row() <= Expr(Row()), :color)))
)
);
Betreff: JSL-Skript „Count of Repeated Values“ ausführen?Probieren Sie diesen Ausdruck in einer Spaltenformel (oder in einer For Each Row()-Schleife) aus.
Bewertung ( Evaluierungsexpr ( Col Summe ( Reihe () <= Ausdruck ( Reihe ()) , : Farbe ))) ;