<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Una delle cose che dico spesso ai nuovi arrivati di JMP è che il "potere di JMP" è nelle tabelle dei dati: di solito mi guardano un po 'di traverso, si dimenano un po' e cercano di cambiare argomento con la nuova freschezza, e generalmente rispondono con "Certo don, ma non mi interessano i tavoli umili, voglio sapere di Deep, Deep Neural Networks!" - tutto a tempo debito, mio giovane Padawan. Per sostenere la mia affermazione, tutto ciò che dobbiamo fare è guardare dove gli sviluppatori di JMP hanno posizionato il file Tabelle voce di menu -destra dopo File e prima di DOE. È chiaro il livello di importanza che loro stessi attribuiscono ai tavoli - proprio lì con il respiro! Ci sono attualmente dodici opzioni nel menu del tavolo e per raggiungere il livello ninja di John Sall devi capirle tutte. Fortunatamente, JMP ha un eccellente materiale di formazione per aiutarti in questo, e lo lascerò per studio durante le tue meditazioni. Per questo post, mostrerò un semplice script per ottenere una tabella di riepilogo umile.
Personalmente, utilizzo sempre tabelle di riepilogo. Li uso per controllare i valori in una colonna, li uso per selezionare le righe nella tabella principale tramite la proprietà di collegamento della tabella, li uso per i rapporti alla direzione - e quando necessario, mi taglio i capelli con loro - fondamentalmente la domanda migliore sarebbe "quando non uso le tabelle di riepilogo ..." e, naturalmente, la risposta è quando i dati richiedono una trasposizione o un raggruppamento o unire o concatenare leggermente sottili come dettano il livello ninja (ei dati).
Perché potresti chiedere se avremmo bisogno di uno script per creare una tabella di riepilogo quando la prima voce di menu nel menu Tabelle è Riepilogo?

In primo luogo, per raggiungere il livello ninja di John Sall controllerai JMP con la tua mente, ma prima di poter sperare di raggiungere quel livello di abilità, dobbiamo camminare. E dobbiamo camminare prima di poter correre, e lo scripting è il modo per saltare a un ritmo leggermente più veloce di quello a piedi, il che è un buon compromesso fino a quando le nostre abilità di forza (JMP) non si sviluppano. In secondo luogo, sarebbe capire che le tabelle riassuntive e le aggregazioni sono l'inizio del canonico Dividi Applica Combina metodo delineato da Hadley Wickam - (che è lontano nel viaggio su per la montagna fino al livello ninja di John Sall). E infine, perché applicando questo metodo mi sono risparmiato un sacco di clic del mouse con i pulsanti di riepilogo e ora ho accumulato abbastanza tempo per scrivere questo post sul blog.
E senza ulteriori fastidi, ecco lo script JSL della tabella riassuntiva fornita. Nota, è fornito in un formato funzionale pratico e adatto ai ninja come lo sono tutti i buoni script. Questo ti renderà abbastanza facile piegarlo alla tua volontà e apportare modifiche in modo che rinunci a tutti i segreti del tavolo ninja.
// inizia lo script
// DEFINIZIONI
Nomi predefiniti qui (1); // Inizia sempre gli script con questo!
// la funzione creerà una tabella di riepilogo dei conteggi dalla tabella dati corrente
// richiede la selezione di una colonna nella tabella
sumdt = Funzione ({dt}, {Default Local},
selcollst = dt << Ottieni colonne selezionate (stringa);
// Prendi le colonne selezionate
Se (NItems (selcollst)> 0, // controlla che una colonna sia selezionata nella tabella
summaryexpr = Expr ("dt << Summary (Group (sublst))"); // espressione di base per una tabella di riepilogo
liststr = ""; // segnaposto stringa vuota
// build Expr
per (idx = 1, idx <= NItems (selcollst), idx ++,
Se (idx == 1,
liststr = "Colonna (\!" "|| selcollst [idx] ||" \! ")"; // per la prima colonna
,
liststr = liststr || ", Colonna (\!" "|| selcollst [idx] ||" \! ")"; // se sono presenti colonne aggiuntive
);
);
SubstituteInto (summaryexpr, "sublst", liststr); // esegue la sostituzione
sumdt = Eval (Parse (summaryexpr)); // qui è dove avviene la magia
ritorno (sumdt); // è sempre bello restituire un handle - forse lo userai in un altro script?
, // allora non viene selezionato nulla nella tabella dati: è utile chiedere all'utente se non ha selezionato nulla
Didascalia(
{200, 200},
"Seleziona una colonna da aggregare",
Carattere ("Arial Black"),
Dimensione carattere (16),
TextColor ("rosso"),
BackColor ("nero"),
Parlato (0)
);
Aspetta (4);
Didascalia (Rimuovi);
);
);
//PRINCIPALE
dt = tabella dati corrente ();
sdt = sumdt (dt);
// fine dello script - la formattazione in questo blog non va bene per JSL ...
Anche se questo è carino e puoi facilmente verificarlo da solo, penso che se non lo incorporiamo nel nostro flusso di lavoro, in qualche modo non stiamo davvero cercando di arrivare a quel livello ninja. Inoltre, sarebbe opportuno un momento di discussione sul flusso di lavoro. Ho questo semplice script collegato a una combinazione di tasti di scelta rapida da tastiera e il mio flusso di lavoro consiste in: mentre ho una tabella dati aperta, seleziono una colonna dal pannello della colonna e quindi uso la mia combinazione di tasti di scelta rapida per ottenere un'aggregazione ( tabella riassuntiva) delle colonne selezionate. Questo è davvero tutto ciò che c'è da fare. Le abilità dei ninja sono apparentemente ingannevolmente semplici.
Visualizzatore di colonne (Big Class): seleziona le colonne di interesse aggregate

Premi la combinazione di tasti di scelta rapida per il nostro script di riepilogo della tabella per ottenere l'aggregato per (età, sesso)

Aspetta, tasto di scelta rapida dici ... Quindi come colleghiamo lo script a un tasto di scelta rapida? Bella domanda: sono sicuro che ci sia un miglior riferimento ninja (JMP) su questo, ma brevemente ...
1. copia lo script negli appunti
2. In Visualizza -> Personalizza -> (seleziona) Menu e barre degli strumenti

3. Nella sezione delle barre degli strumenti fai clic con il pulsante destro del mouse per aggiungere un file Nuova barra degli strumenti

4. Dai un nome alla barra degli strumenti - ovviamente Ninja sarebbe appropriato

5. Espandi ninja e seleziona lo script senza titolo

6. Nel riquadro di destra assegna un nome allo script e incolla la nostra funzione JSL nella sezione "Esegui questo JSL"

7. Scegli una bella icona JMP integrata: ehi, grazie JMP, prendo in prestito l'icona della tabella di riepilogo

8. Assicurati di assegnare il tuo collegamento! Otterrai un livello ninja extra per questo!

Premi OK e sali di livello!
È possibile visualizzare questa schermata di personalizzazione: basta premere Ok

Se sei una di quelle persone visive e vuoi vedere il tuo nuovo pulsante, vai a Visualizza -> Barre degli strumenti e assicurati che la tua nuova barra degli strumenti Ninja sia selezionata



Goditi le tue nuove abilità da tavolo Nina!
Migliore,
don