Re: Imposta il valore della cella se la riga è selezionataSe non si desidera codificare e mantenerlo interattivo, è possibile utilizzare Rows -> Row Selection -> Name Selection in Column . Questo creerà una colonna in cui hai un valore per le righe selezionate e un valore (o mancante) per le altre. Un po 'simile a ciò che è stato ottenuto con l'opzione dello stato della riga con script menzionata sopra
Re: Imposta il valore della cella se la riga è selezionata@jdwatson ,
Hmmm, per me la convalida dei dati può essere un'attività che potrebbe richiedere più di una sessione di modifica.Inoltre, forse sono goffo, ma per me è così facile deselezionare accidentalmente.Ecco un suggerimento alternativo che comprende @Thierry_S suggerimento:
- se i dati di riepilogo/calcolati sono ritenuti di scarsa qualità, fare clic con il pulsante destro del mouse ed escludere
- una volta terminata la convalida ed eseguire le analisi standard
- crea una nuova colonna, chiamerò Excluded State.Crea il tipo di dati Stato riga, ha un'icona a forma di stella rossa.Ora puoi fare clic sul nome di quella colonna e selezionare Copia da stati di riga vedere la schermata qui sotto.

- Quindi crea una colonna chiamata Flag o Excluded rendila Numerica, Nominale. Crea una formula Escluso() e selezionare il pulsante Applica, quindi cancellare la Formula, premere OK . Ora avrai un 1 nelle righe escluse e 0 altrove.
- Ora puoi cancellare gli stati della riga e utilizzare questa colonna Flag come pianificato.Ma hai l'ulteriore vantaggio di fare clic rapidamente sulla colonna Stato escluso e selezionare Copia negli stati riga , se hai bisogno di fare ulteriori analisi sui dati di buona qualità.
Le colonne Stato riga sono particolarmente utili quando sono presenti dati sospetti o richieste di analisi "e se blah, blah, fosse stato rimosso".È possibile mantenere uno stato di riga per le esclusioni standard e le esclusioni standard + extra.Questa è una forma di gestione dello stato delle righe, che non è interattiva né dinamica, ma può essere molto utile.
Re: Imposta il valore della cella se la riga è selezionataAh, sì, sembra che realizzi anche la stessa cosa che volevo fare, senza script.Tuttavia, sembra che il filtro dei dati locali non mostri le colonne dello stato delle righe.C'è un modo per configurare una finestra del grafico in modo tale da includere le righe escluse e quindi filtrare utilizzando lo stato della riga?O ora che lo dico, forse la mia vera domanda è qual è il modo più semplice per ottenere un grafico/analisi di soltanto le righe escluse senza creare sottoinsiemi separati di datatable?
Re: Imposta il valore della cella se la riga è selezionataPenso di aver risposto alla mia domanda.Aggiungendolo di seguito nel caso in cui altri riscontrino questo problema:
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);Re: Imposta il valore della cella se la riga è selezionataUn'altra cosa,
Hai preso in considerazione la possibilità di modificare il tipo di dati FlagColumn in "Stato riga" e utilizzarlo per acquisire lo stato di selezione corrente (fare clic con il pulsante destro del mouse sull'intestazione della colonna> Celle stati riga> Seleziona/Deseleziona?
Migliore,
STRe: Imposta il valore della cella se la riga è selezionataCIAO,
Innanzitutto, non è chiaro il motivo per cui dovresti definire "rows = dt << ottieni righe selezionate" e non usarlo nello script successivo.
In secondo luogo, hai considerato la formula molto più semplice: "Selected ()" che restituisce 1 se selezionato e 0 in caso contrario (ovvero imposta la formula FlagColumn come: "Selected ()"). Da notare che, come tutte le formule, viene valutata automaticamente per impostazione predefinita, pertanto potrebbe essere necessario passare allo stato Sopprimi valutazione nella finestra di dialogo della formula per mantenere un determinato stato di selezione. Inoltre, se è necessario acquisire lo stato di selezione solo una volta, è possibile aggiungere la formula, applicare la modifica ed eliminare la formula che manterrà un record stabile di ciò che è stato selezionato durante l'esecuzione della formula.Re: Imposta il valore della cella se la riga è selezionataGuarda make rowstste HandlerImposta il valore della cella se la riga è selezionataCIAO,
Sono un principiante che cerca di scrivere uno script per inserire il valore di una cella se la sua riga è selezionata.Il caso d'uso che ho in mente è il seguente: durante l'analisi esplorativa dei dati seleziono alcuni punti in un grafico che sospetto siano valori anomali.Ho un altro script che mi aiuta a guardare i dati grezzi (non parte della tabella JMP) e basandomi sull'osservazione di quei dati grezzi decido che la riga corrispondente a questo punto dati dovrebbe essere esclusa dalla mia analisi (cioè i dati grezzi usati generare quella particolare riga è spazzatura).Posso semplicemente fare clic destro e selezionare "Escludi".Ora tutta la mia analisi JMP esamina solo i buoni punti dati che vanno bene e dandy.Ora, dopo aver terminato tutta questa analisi, voglio tornare indietro e fare qualche analisi sulle righe che ho escluso.Ad esempio, se ogni riga rappresenta i dati raccolti da diversi operatori, forse un operatore sta producendo molti dati spazzatura.Ovviamente posso fare una soluzione punta e clicca per selezionare tutte le righe escluse e creare un nuovo sottoinsieme datatable, ma quello che preferirei fare è aggiungere una nuova colonna (chiamiamola FlagColumn) e impostare tutte le righe selezionate in FlagColumn su " bad" e tutte le altre righe a "good".Quello che ho in mente è qualcosa del genere:
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);Ma questo non sembra fare nulla - penso di non capire come impostare correttamente la condizione nell'istruzione if.Inoltre, non ho ancora capito come ottenere il numero di righe nella tabella (quindi a scopo di test al momento ho appena impostato l'indice i nel ciclo for da 1 a 5).Eventuali suggerimenti?Grazie in anticipo!
Miscelazione e pulizia dei dati