Cancellazione dei dati nella selezioneHo un grande tavolo con diverse righe e colonne. Voglio eliminare alcuni dati dalla tabella.
Ad esempio, eliminare i dati dalla riga 2 fino alla colonna n. 10 sulla base di alcuni criteri. Ma, mantenere intatti i dati nella stessa riga dalla colonna 11. Il codice che ho è il seguente:
cdt = Current Data Table();
cdt << select columns( 1 :: 21 );
cdt << select where(Is Missing(:Name("Record no.")));Voglio eliminare i dati che sono stati selezionati.
Deve esserci un modo semplice per farlo, ma non so proprio come farlo. Posso fare clic con il tasto destro e selezionare cancella.
Ma voglio un codice di script jsl in modo che questa attività possa essere automatizzata.
Automazione e scriptingConsumatori e ricerche di mercatoRe: Cancellare i dati nella selezioneGrazie mille. Apprezzo davvero la grande quantità che hai fatto per aiutarmi a risolvere il problema e capire cos'è realmente JMP. Le persone continuano a dire che JMP non è Excel, ma è molto difficile tenerlo a mente quando si passa da Excel a JMP. Inoltre, jsl fa pensare che JMP abbia capacità come quelle di MATLAB o Python, il che potrebbe non essere sempre vero.
Non potrei essere meno d'accordo sulla necessità di formarsi e istruirsi su JMP.
Come me, la maggior parte di noi qui sono persone che hanno iniziato a utilizzare JMP dopo aver iniziato a lavorare nel settore.
Potrebbe non essere utile per l'apprendimento, ma a volte chiedere soluzioni nei forum dà risultati più rapidi piuttosto che leggere il
documentazione (che è la cosa giusta da fare). Le tue soluzioni nel thread della community mi sono state di grande aiuto finora e sono molto grato per tutto ciò.
Re: Cancellare i dati nella selezioneCi sono casi in cui tornare a uno strumento con cui hai passato anni, imparando i pro ei contro, è la cosa rapida/corretta da fare.Ed Excel è certamente lo strumento principale di registrazione quando si tratta di nuovi utenti di JMP.
In particolare, dato che Excel è basato su exCELL e JMP è basato su colonne, JMP non avrà funzioni che si occupano di cose come spostare alcune celle in una data colonna, su o giù nella colonna.Questo perché JMP presuppone che i valori di colonna nella stessa riga abbiano una relazione.Excel non ha un tale presupposto.D'altra parte, poiché JMP è basato su colonne, ne trae vantaggio in molte funzioni, piattaforme, ecc.In molti casi, si fa del lavoro extra e lo si fa fare alcune delle cose che JMP fa molto facilmente.Vlookup di Excel è uno degli elementi che richiede molto più impegno per ottenere i dati "ricercati" rispetto alla piattaforma di aggiornamento di JMP.Al contrario, l'attività su cui hai interrogato la comunità, spostare le celle in alto in una colonna, richiede a JMP di lavorare di più per portarla a termine.Una cosa vera di JMP, rispetto a Excel, è che JMP è più esteso/complesso, a causa del suo scopo analitico.Quindi ci vuole più formazione / istruzione.È per questo motivo che vedrai i membri della Comunità, sollecitare le persone a leggere i documenti JMP.Sono davvero l'unico modo per capire davvero cosa si può fare con JMP e come affrontarlo.
Di seguito è riportato uno script che sposta verso l'alto le righe non mancanti all'interno di ciascuna colonna.È solo uno dei modi in cui posso immaginare di farlo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt1 = dt << subset(selected rows(0), selected columns(0));
dt1 << set name( "Example 1" );
// randomly clear some data from the different columns
// to have different cells blank or with missing values
For( i = 1, i <= N Cols( dt1 ), i++,
For( k = 1, k <= 5, k++,
If( Column( dt1, i ) << get datatype == "Character",
Column( dt1, i )[Random Integer( 1, N Rows( dt1 ) )] = "",
Column( dt1, i )[Random Integer( 1, N Rows( dt1 ) )] = .
)
)
);
// For the example, create a copy of the Example 1 data table to work on,
// so the beginning and modified tables can be viewed
wk1 = dt1 << subset(selected rows(0), selected columns(0));
wk1 << set name("Working 1");
// Remove the missing cells for each column and move up the remaining
// rows to fill in
For(i=1,i<=n cols(wk1),i++,
dtTemp=wk1<<SUBSET></SUBSET>Re: Cancellare i dati nella selezioneAl momento non ho idea di come si possa fare. La mia soluzione a questo problema ora è
esportare la tabella jmp in excel.
cdt << Save("C:\Users\Neal\Desktop\Data entry.xlsx");
Dopo aver esportato in Excel, mi libero delle celle vuote e rimetto i dati nella tabella jmp.
Re: Cancellare i dati nella selezioneCosa hai provato?
Re: Cancellare i dati nella selezioneGrazie per la soluzione. Funziona. Ma ora ho un altro problema.
Dopo aver eliminato tutte le celle, voglio consolidare i dati. cioè, i dati si sposteranno verso l'alto per prendere
spazio lasciato dopo l'eliminazione. Esiste un codice jsl per raggiungere questo obiettivo?Re: Cancellare i dati nella selezioneEcco un modo alternativo per codificare questo.Gestisce un intervallo numerico di colonne e presuppone che siano colonne di caratteri, quindi imposta i loro valori su uno spazio "".
names default to here(1);
cdt = open("$SAMPLE_DATA/Big Class.jmp");
rows = cdt << get rows where (:sex=="F");
cdt[rows,4::5]= "";Re: Cancellare i dati nella selezioneLa tua soluzione funzionerebbe per le colonne numeriche. Ma per quanto riguarda quelli non numerici.
Inoltre, invece di andare una colonna dopo l'altra. Non è possibile fare solo un intervallo. Qualcosa come 1::4?
Re: Cancellare i dati nella selezioneOK, scusa, ho letto di nuovo la tua descrizione:
cdt = open("$SAMPLE_DATA/Big Class.jmp");
rows = cdt << get rows where (:sex=="F");
column(cdt,4)[rows] = .;
column(cdt,5)[rows] = .;Re: Cancellare i dati nella selezioneVoglio solo eliminare i contenuti selezionati. Se uso
Delete Rows
eliminerà l'intera riga. Come ho detto, non voglio che l'intera riga venga cancellata.
Re: Cancellare i dati nella selezione... o forse sono stupido e vuoi dire che vuoi cancellare il contenuto delle celle selezionate?
Re: Cancellare i dati nella selezionePenso che quello che stai chiedendo è che una volta selezionate determinate righe, come le elimini?Puoi utilizzare le righe di eliminazione del messaggio:
dt << delete rows;
Se controlli l'indice di scripting vedrai che solo le righe selezionate vengono eliminate!
Re: Cancellare i dati nella selezioneLa tua soluzione è cancellare la selezione.
Sto cercando 'cancella': elimina i contenuti della selezione.
Scusa, non sono riuscito a spiegarmi chiaramente.
Re: Cancellare i dati nella selezionePuoi usare i messaggi cancellare la selezione della colonna E deselezionare selezionare rispettivamente per colonne e righe.
cdt = open("$SAMPLE_DATA/Big Class.jmp");
cdt << select columns(4::5);
cdt << select where(:sex=="F");
wait(2);
cdt << clear column selection;
cdt << clear select;