Incremento per livelli di colonna di caratteri (scripting)Forse di nuovo non vedo il bosco davanti agli alberi; Voglio solo applicare alcuni incrementi numerici per ogni livello distinto di una colonna di caratteri.
Gli stessi livelli ottengono lo stesso incremento, livelli diversi ottengono numeri diversi.
Presupposto: i dati sono ordinati per "Character_Column_Have". "Numeric_Increment_Want" dovrebbe iniziare con 1.
Character_Column_Have Numeric_Increment_Want
AAA 1
AAA 1
ABC 2
BBB 3
CCD 4
AEE 5
EEE 5 ...
L'unico risultato che ho raggiunto finora è stato quello di arrestare ripetutamente il mio JMP usando "rango ** bleep **".
JMP e io potremmo fare di meglio, giusto?
Grazie per ogni puntatore!
Novizio
Ri: Incremento per livelli di colonna personaggio (scripting)Ecco la formula che vorrei usare
If( Row() == 1,
Summarize( groups = by( :Character_Column_Have ) )
);
Contains( groups, :Character_Column_Have );
Esistono anche altri metodi.
- Utilizzare Ricodifica per creare una nuova colonna, modificando i valori trovati per i nuovi valori numerici desiderati
- Utilizzare la piattaforma di riepilogo con Character_Column_Have come colonna Gruppo per creare una nuova tabella di dati con una riga per valore di Character_Column_Have. Quindi crea una nuova colonna con una formula di Row (). Infine utilizza la piattaforma di aggiornamento per unire la tabella di riepilogo alla tabella originale.
Ri: Incremento per livelli di colonna personaggio (scripting)Mi piace la risposta di Jim. Puoi anche usare una formula semplice:
If(
Row() == 1, 1,
:Have == Lag( :Have ), Lag( :Want ),
Lag( :Want ) + 1
)
O lo script equivalente:
For Each Row( If( Row() == 1, 1, :Have == Lag( :Have ), Lag( :Want ), Lag( :Want ) + 1 ) );
Ri: Incremento per livelli di colonna personaggio (scripting)Ho provato tutti i tuoi approcci ma sembra che non riesca a farli funzionare.
Un approccio mi confonde concettualmente. Indirizza due colonne di input, mentre solo la colonna di caratteri è disponibile per l'input.
Potresti dimostrare un approccio sul set di dati JMP "Dolphins" per favore (estratto sotto)?
Mattina di viaggio 6
Feed Morning 28
... Serata di viaggio 13
Serata di alimentazione 56
Serata sociale 10
Per i livelli "Delfini" Mattina, Mezzogiorno, Pomeriggio, Sera mi aspetterei gli incrementi di 1,2,3 resp. 4 (soggetto a ordinamento)
Ri: Incremento per livelli di colonna personaggio (scripting)Ecco la formula per la colonna Numeric_Increment_Want
If( Row() == 1,
Summarize( myGroups = by( :Period ) )
);
Contains( myGroups, :Period );
Ho dovuto modificare il codice precedente perché il riferimento a "Gruppi" nel vecchio codice, è in conflitto con la tabella di dati Dolphins con una colonna denominata Gruppi. Quindi ho cambiato il nome della variabile in myGroups.

In allegato è la tabella dei dati con la nuova colonna aggiunta
Ri: Incremento per livelli di colonna personaggio (scripting) New Column( "Increment",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula(
If( Row() == 1,
Summarize( myGroups = by( :Period ) )
);
Contains( myGroups, :Period );
)
);
Non riesco a spiegare perché ora funzioni. Ho anche adattato per "Gruppi". Weired. Comunque, l'ho risolto in quel modo e funziona come un incantesimo. Jim, grazie mille. Ancora!