Conteggio corrente di script JSL con valori ripetuti?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Vorrei scrivere un conteggio progressivo o una somma cumulativa di valori ripetuti all'interno di una colonna.
Ad esempio, la prima apparizione dovrebbe essere uguale a 1, il valore massimo del conteggio per valore specificato dovrebbe essere uguale alla somma cumulativa del valore all'interno della colonna.
| colore | conteggio_colore |
|---|
| ROSSO | 1 |
| ROSSO | 2 |
| BLU | 1 |
| GIALLO | 1 |
| ROSSO | 3 |
Idealmente, l'output di :count_color non avrebbe bisogno che la tabella dati venga ordinata per :color
Grazie.
Ri: Conteggio corrente di script JSL con valori ripetuti?Creare una nuova colonna e assegnarle la formula seguente fa quello che stai cercando, penso:
Col Cumulative Sum( 1, :Color )
Ri: Conteggio corrente di script JSL con valori ripetuti?MODIFICARE: Potrebbe voler ignorare questo. Ciò fornisce un conteggio totale di ciascun elemento che può essere utilizzato in uno script in seguito, ma in realtà non risolve la vera domanda dell'OP.
Un modo un po' più indiretto per farlo è utilizzare la piattaforma Summary e quindi leggere la tabella risultante in qualunque oggetto di script desideri. Ho usato un array associativo qui.
// 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
Ri: Conteggio corrente di script JSL con valori ripetuti?CIAO @Craige_Hales ,
Sto eseguendo un conteggio simile di tutti i numeri che non sono zero, altrimenti verrà cambiato in 1.
Se(:Numero!= 0,
Nome Espr( Eval( Eval Espr( Col Sum( Row() <= Expr( Row() ), :Number ) ) ) ),
1
);
Questo non sembra funzionare. Ottengo spazi neri per i numeri diversi da zero. Puoi aiutarmi con questo? Grazie.
Ri: Conteggio corrente di script JSL con valori ripetuti?Incolla la formula da SM nell'editor delle formule o a capo la formula NomeEspr ( spiegazione più lunga qui 
New Column( "count",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Name Expr( Eval( Eval Expr( Col Sum( Row() <= Expr( Row() ), :color ) ) ) ) )
),
C'è un bug in JMP che hai contribuito a scoprire; la tabella risultante non include il wrapper Name Expr() attorno alla formula quando viene utilizzato il comando <Ri: Conteggio corrente di script JSL con valori ripetuti?
L'uso del comando Eval nella formula genera un output, ma tutti i valori = 0
Forse ho interpretato male. La formula della mia colonna è riportata di seguito.
// Conteggio corrente
Nuova colonna("count_color",
numerico,
continuo,
formula(
Eval(Eval Espr(Col Sum(Riga() <= Espr(Riga()), :color)))
)
);
Ri: Conteggio corrente di script JSL con valori ripetuti?Prova questa espressione in una formula di colonna (o in un ciclo For Each Row());
Val ( Espr.Val ( Col Somma ( Riga () <= Espr ( Riga ()) , : colore ))) ;