Il valore di sostituzione di più righe da una colonna non funziona correttamenteCiao comunità JMP,
Ho riscontrato un problema abbastanza strano. Ecco il mio codice:
dt_temp = data table("aaaa");
dt_temp << Summary( Group( :Column1,:Column2), Freq( "None" ), Weight( "None" ),output table name( "summary" ) );
data table("summary") << select where (:N rows >= 2 & !contains(:Column1,"AA") & !contains(:Column1,"BB") );
rows = dt_temp << get selected rows;
dt_temp:Column3[rows] = "";
//Column(dt_temp, "Column3")[rows] = "";
Quando eseguo questo codice, anche le righe hanno un valore come [10, 11, 20, 21] ma il risultato finale di column3 è diverso. Sostituisce le altre righe (diciamo la riga 1, 5, ...) invece delle righe nelle righe selezionate.
Potreste aiutarmi a risolvere questo problema?
SceneggiaturaRe: Sostituisci più righe valore da una colonna non funziona correttamenteGrazie Jim e Jarmo! Entrambe le soluzioni funzionano come un incantesimo per me!
Re: Sostituisci più righe valore da una colonna non funziona correttamenteProva a chiudere la tabella di riepilogo prima di impostare i valori nella tabella originale.La tabella Riepilogo è collegata all'originale e ne impedisce l'aggiornamento.
dt_temp = data table("aaaa");
dt_summ = dt_temp << Summary( Group( :Column1,:Column2), Freq( "None" ), Weight( "None" ),output table name( "summary" ) );
data table("summary") << select where (:N rows >= 2 & !contains(:Column1,"AA") & !contains(:Column1,"BB") );
rows = dt_temp << get selected rows;
close( dt_summ, nosave );
dt_temp:Column3[rows] = "";
//Column(dt_temp, "Column3")[rows] = "";Re: Sostituisci più righe valore da una colonna non funziona correttamenteBasato su questo Indicizzazione tabella dati il modo in cui sto impostando i valori delle celle potrebbe essere diventato disponibile in JMP13.
Cercherò di evitare il loop ma non ho accesso a una versione precedente di JMP di 15, quindi non sono sicuro che funzionerà neanche questo:
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_summary = dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
dt_summary << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));<BR />
//get rows which should be set to empty
rows = dt_temp << Get Selected Rows;
//get all values in name column
colValues = dt_temp:name << get values;
show(colValues);
//set selected rows in the colValues list to ""
colValues[rows] = "";
show(colValues);
dt_temp:name << Set Values(colValues);
Re: Sostituisci più righe valore da una colonna non funziona correttamenteSto usando Jmp Pro 12.2.0, versione a 64 bit. File di registro per riferimento:

Sebbene il file di registro che mostra il numero di riga (-1) non sia valido, ma quando mostro le righe, non esiste una riga del genere.
Re: Sostituisci più righe valore da una colonna non funziona correttamenteQuale versione di JMP stai utilizzando? Sto usando 15.2.1 e il mio esempio sembra funzionare bene per me:

Re: Sostituisci più righe valore da una colonna non funziona correttamenteCiao Jarmo,
Grazie per il tuo suggerimento ma sembra che non funzioni per me.
Per chiarire, vorrei sostituire i valori nella tabella originale in base al condizionale della tabella di riepilogo.
Ho provato a eseguire anche il tuo codice ed ecco il risultato:
Righe selezionate dalla tabella di riepilogo:

Righe selezionate dalla tabella principale. Sono state selezionate 15 righe, ma sono state sostituite solo le prime righe di ciascun gruppo:

Re: Sostituisci più righe valore da una colonna non funziona correttamenteStai cercando di sostituire i valori nella tabella dei dati originale o nella tabella di riepilogo? Questo sembra funzionare bene per me:
Names Default To Here(1);
dt_temp = Open("$SAMPLE_DATA/Big Class.jmp");
dt_temp << Summary(Group(:age, :sex), Freq("None"), Weight("None"), output table name( "summary" ));
data table("summary") << Select Where(:N Rows >= 3 & !Contains(:sex, "M"));
rows = dt_temp << Get Selected Rows;
show(dt_temp:name[rows]);
dt_temp:name[rows] = "";
show(dt_temp:name[rows]);