Classifica UnicaVoglio calcolare una nuova colonna per classificare una colonna in modo univoco. Di seguito sono riportati l'output di esempio che voglio ottenere. Ma l'uso della formula del rango JSL non mi aiuta a ottenere ciò che voglio. Qualcuno può consigliarmi per favore?
La formula che uso è Col Rank(:Label)
| Etichetta | Rango | Quello che voglio |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,max | 1 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,max | 2 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,max | 3 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,max | 4 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,max | 5 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,max | 6 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,max | 7 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,max | 8 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,max | 9 | 3 |
SceneggiaturaRe: Classifica unicaGrazie Jim e MS. Funziona brillantemente!
Re: Classifica unicaSe vuoi una formula di colonna, dovrebbe funzionare. Indipendente dall'ordinamento.
Local( {L = Associative Array( :Label ) << get keys}, Loc( L, :Label ) )
Lo stesso approccio potrebbe essere utilizzato in JSL senza una formula di colonna.
dt = Current Data Table();
dt << New Column( "Rank Unique", continuous );
L = Associative Array( :Label ) << get keys;
For Each Row( :Rank Unique = Loc( L, :Label ) );
Re: Classifica unicadt = current data table();
dt:Rank << delete formula;
Re: Classifica unicaCiao Jim,
Grazie per il consiglio. Per la soluzione n. 2. Come rimuovere la formula utilizzando JSL invece di farlo manualmente?Re: Classifica unicaCi sono un paio di modi per farlo... (che mi viene in mente, questa mattina presto)
- Utilizzare una tabella di riepilogo per creare i ranghi
- Esegui tabelle==>Riepilogo
- Raggruppa in base alla colonna Etichetta
- Supponendo che la tabella dei dati di output sia ordinata dal basso verso l'alto, crea una nuova colonna chiamata "Rank" e assegnagli la formula........ Row()
- Esegui tabelle==>Aggiorna per unire la tabella di riepilogo alla tabella originale, che corrisponde alla colonna Etichetta
- Crea una nuova colonna della formula Classifica
- Ordina i dati per Etichetta
- Crea una nuova colonna chiamata Classifica con la formula
If( Row() == 1,
count = 1,
If( :Label != Lag( :Label ),
count
++)
);
count;
- Assicurati di andare su Informazioni sulla colonna e rimuovere dopo la creazione della colonna.Il motivo è che poiché la formula è basata sull'ordine dei dati e sulla completezza dei dati, eventuali modifiche ai dati (ordinamento ecc.) rieseguiranno la formula ed eventualmente modificheranno le classifiche.