Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliCiao è possibile farlo con JMP 12? Grazie
Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliCiao,
La funzione Cumulative Sum ha fatto il suo debutto in JMP 13. Senza di esso, si potrebbe provare qualcosa di simile, anche se la tabella dei dati corrente () darà problemi quando la tabella con questa formula non è quella corrente. Si noti che se si desidera utilizzare più di una singola colonna per raggruppare, sarà necessario concatenare più colonne e basare la formula su quella nuova colonna.
Saluti,
Brady
Names Default To Here( 1 );
dt = open("$Sample_Data\Car Physical Data.jmp");
dt << New Column( "Rnk",
formula(
dtCur = Current Data Table();
ct = :country[Row()];
Contains( dtCur << get rows where( :country == ct ), Row() );
)
);
Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliHa funzionato alla grande grazie! Sto eseguendo questo script subito dopo il pull SQL così attuale tabella dati () funziona alla grande.
E sì, ho più di una colonna da raggruppare (4 colonne in totale) quindi creare una nuova colonna con le 4 colonne concatenate funzionava perfettamente. L'unica cosa è che sto elaborando tabelle di dati con 5000-6000 righe di dati e ci sono circa 780 elementi raggruppati che sto posizionando in modo che JMP impieghi circa un minuto a generare la colonna Rnk, ma funziona!
Grazie ancora!
Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliPrima di JMP13, questo post riguardava come eseguire una somma mobile. Questo post non copre il farlo dai gruppi, ma non è troppo difficile estendere il concetto a questo.
https://community.jmp.com/t5/Discussions/how-to-get-cumulative-sum-data/td-p/6766
Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliIn particolare, jaredgj, prova la formula:
k = riga ();
Somma (i = 1, k, If (: Paese [i] ==: Paese [k], 1, 0));
Mi ero dimenticato della funzione di sommatoria. Sarà molto più veloce rispetto all'altra funzione poiché ottenere le righe, come fa l'altra formula, richiede molto tempo.
Saluti,
Brady
Oggetto: strumenti della tabella dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliGrande grazie, brady_brady, anche questo ha funzionato. Ci è voluto ancora un po 'di tempo per completare la sceneggiatura, ma è stato un po' più veloce dell'originale che hai postato. Grazie ancora
E grazie a Bfoulkes per il link / post aggiuntivo
Strumenti della tabella dei dati, parte 3: numerazione delle righe all'interno dei gruppi per ottenere classifiche flessibiliHai mai avuto un set di dati in cui hai dovuto eseguire attività simili a una di queste:
Da una tabella alta, contenente più misurazioni di più strumenti - registrate a intervalli irregolari - creare una tabella di sottogruppi con solo la misurazione più recente per ogni combinazione strumento / operatore. Per una determinata metrica, trova le occorrenze k superiori (o inferiori) all'interno di ciascun gruppo; un esempio è elencare quali tre prodotti in ciascuna regione generano la maggior parte delle entrate o il margine di profitto più basso.Se è così, non sei solo. Riceviamo regolarmente richieste di consigli su come affrontare problemi come questo. Poiché ognuna di queste attività richiede una classificazione, è naturale che gli utenti di JMP guardino alla funzione rank () in JSL, e questa è certamente un'opzione. Il problema è che la funzione rank () richiede che la colonna in base alla quale devono essere classificate in modo esplicito le righe della tabella, e quando esploriamo i dati, spesso vogliamo sperimentare una varietà di classifiche, senza creare più nuove colonne o modificare formule di colonna.
Usando la funzione Somma cumulativa col () in JMP 13 in modo creativo, possiamo classificare le righe in modo flessibile e dinamico: per produrre una classifica diversa - ordiniamo solo per una variabile diversa.
Per illustrare, considera Car Physical Data.jmp, che contiene dati nominali e continui sulle auto. È installato nella cartella dei dati di esempio JMP, a cui è possibile accedere selezionando Guida> Libreria dei dati di esempio.
Di seguito, ho aggiunto una colonna (evidenziata) per calcolare il numero cumulativo di auto, raggruppate per paese, che si verificano nella o prima della riga indicata. Notare che mentre procediamo lungo le file della tabella, le auto con Paese = Giappone sono numerate in sequenza, così come le auto per Paese = USA e Paese = Altro.
Questo approccio è potente perché per rispondere alla domanda "quali sono le cinque auto più leggere in ogni paese?" Dobbiamo solo fare quanto segue:
Ordina la tabella per Peso, in ordine crescente, mantenendo la tabella originale. Seleziona le celle in cui la colonna di classificazione è <= 5. Sottoinsieme queste righe se lo si desidera.Questo approccio è anche flessibile perché se decidiamo che ora dobbiamo trovare le tre auto più potenti di ciascun paese, ordiniamo semplicemente per Potenza in ordine decrescente e selezioniamo le celle in cui la classifica è inferiore o uguale a tre.
La formula nella colonna di classificazione è semplice (di seguito), ma non è necessario scriverla: utilizzando il componente aggiuntivo Strumenti tabella dati, anche i non script possono facilmente aggiungere una colonna come questa a qualsiasi tabella, utilizzando qualsiasi combinazione di colonne di raggruppamento.
Una volta eseguito il componente aggiuntivo, è sufficiente selezionare la tabella e raggruppare le colonne desiderate e fare clic sul pulsante "Crea colonna". Questo è tutto!
Il Componente aggiuntivo Strumenti tabella dati può essere scaricato gratuitamente dal Scambio di file JMP - è richiesto un profilo SAS gratuito.
Nota: questo blog è il terzo di una serie che esplora le varie funzionalità del componente aggiuntivo Strumenti tabella dati.
Utilizzando il componente aggiuntivo Strumenti tabella dati, è possibile creare una colonna per eseguire query flessibili basate sul solo ordinamento delle tabelle, senza necessità di codifica!