Impila colonne con più nomiCiao a tutti!
Supponiamo di avere una tabella dati che si presenta così:
A, B1, B2, C1, C2, D
1,2,3,4,5,16
6,7,8,9,10,16
11,12,13,14,15,16
Voglio impilarli in modo che la nuova tabella appaia così:
A, B, C
1,2,4
1,3,5
6,7,9
6,8,10
11,12,14
11,13,15
Ho tre elenchi: uno contiene le colonne che devono essere conservate: list_to_keep= {A},list_to_stack_before= {B1,C1} e list_to_stack_after = {B2,C2}.
Per prima cosa ho scritto uno script per creare un nuovo elenco con i nuovi nomi delle colonne:
nuovi_nomi_colonna = {};
str = char(lista_da_inserire_prima);
newstr = replace(str,"", "", "_be_sam","");
nuovi_nomi_colonna = parse(newstr);
Poi ho provato a fare un loop della funzione stack ma aggiunge sempre più righe. Non posso usare la normale funzione Stack perché non mi lascia usare più nomi nell'argomento Stacked Data Column. Come posso risolvere questo problema? Grazie mille, sono molto nuovo su jmp.
Automazione e scriptingRe: Impila colonne con più nomiwow, bel collegamento tra stack multi-serie e stack + split!
Re: Impila colonne con più nomiOK-
Bene che tu riesca a scrivere uno script. Grazie per aver chiarito che stai cercando qualcosa di scalabile per evitare di rinominare molte colonne.
Innanzitutto come digressione/tangente , come suggerimento e trucco per la manipolazione dei nomi delle colonne in modalità manuale, ma su larga scala: è veloce e potente ( ma deve essere fatto con attenzione ).
- nel riquadro Colonne, seleziona tutte le colonne - "copia" (mette il testo nel buffer di copia)
- In un'altra tabella dati (o in un foglio di calcolo o in un programma di elaborazione testi), "Incolla": l'elenco delle colonne viene creato come testo.
Manipolalo come preferisci (digita il testo da modificare al suo posto, crea una colonna formula per aggiungere un prefisso/suffisso... qualsiasi cosa)...
- "Copia" l'elenco modificato dei nomi delle nuove colonne di testo
- Ritorna alla tabella originale. Cancella la selezione delle colonne, quindi riseleziona l'elenco delle colonne nel riquadro delle colonne. "Incolla" per sovrascrivere i nomi delle colonne modificati
Torniamo al metodo delle operazioni sulle tabelle proposto in precedenza.
Se il carattere più basso sarà sempre 1/2 (o almeno indicherà la famiglia di colonne che deve essere impilata), ciò può essere fatto in due operazioni di tabella e una formula. Questi passaggi potrebbero essere scriptati o catturati nel generatore di flussi di lavoro se le azioni devono essere ripetibili.

Aggiungere una colonna formula per tagliare "Etichetta", escludendo il carattere più basso

Tabella "Dividi" i dati in base all'etichetta troncata ...

Re: Impila colonne con più nomiStai eliminando la colonna D? Nelle tue tabelle di dati reali, come decidi quali colonne eliminare? Qual è la convenzione di denominazione per le colonne (pre e post-stack)? Non dovrebbe essere troppo difficile automatizzare tramite JSL.
*modificare*
Inoltre, il numero di multipli è sempre lo stesso? Ad esempio, se ci sono B1 e B2, ci saranno sempre C1 e C2, o potrebbe esserci anche C3? Se sì, come dovrebbe essere gestito?
Re: Impila colonne con più nomiCiao Greg, grazie mille per la tua risposta!
Ho familiarità con l'interfaccia stack e ho anche usato workflowbuilder per ottenere uno script da impilare. Il problema con la ridenominazione è che non ho 3 colonne che voglio impilare ma più come 40 e mi aspetto che crescano con le nuove misurazioni in arrivo.
Ho capito che potrei probabilmente scrivere uno script per rinominare le colonne usando un elenco, ma questa sembra una soluzione non proprio carina e soggetta a errori nell'ordine. Speravo ci fosse un metodo più fluido. È davvero un peccato che l'opzione "new col names" non consenta più di un argomento.
Migliore
Re: Impila colonne con più nomiCiao nuovo membro
Anche se è possibile scrivere degli script, forse è meglio vedere fin dove si può arrivare prima di scrivere il codice (suggerimento: in JMP si va spesso molto lontano).
Il comando Stack del menu Tables ci arriverà quasi del tutto. L'anteprima in tempo reale è davvero utile.

Dopo aver eseguito questo comando, rinominare le colonne "Dati" in A e B, eliminare la colonna Etichetta.
Se vuoi scriverlo, dopo aver eseguito il comando stack il triangolo verde "Source" nel pannello in alto a sinistra eseguirà nuovamente l'azione. Fai clic con il pulsante destro del mouse/modifica per vedere la sintassi dello script.
Per ottenere la sintassi dello script, utilizzare il generatore di flussi di lavoro per registrare i passaggi, quindi triangolo rosso > salva nella finestra dello script.