Ottenere risultati righe selezionate in errore, quando si utilizzano le righeHey,
non riesco a capire, perché i seguenti risultati in un errore:
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);
L'errore è:
"Impossibile impostare il valore per la colonna 'bar' perché il numero di riga (-1) non è valido. {941}"
Qualcuno può illuminarmi?
Grazie!
Ri: Ottieni righe selezionate genera un errore quando si utilizzano le righePenso che questo errore possa verificarsi a causa dell'attuale tabella di dati. Lo script riportato di seguito genererà un errore, ma se si commenta la riga Current Data Table (dt), funziona come previsto. Non sono sicuro del motivo per cui questo funziona in questo modo: esamineremo ulteriormente per vedere se sono possibili modifiche per evitare la necessità di modificare la Tabella dati corrente ().
dt=Open("$SAMPLE_DATA/Big Class.jmp");
dt<<SELECT where=""></SELECT>Ri: Ottieni righe selezionate genera un errore quando si utilizzano le righeLa tua ipotesi è corretta. "dt" è in realtà la tabella dati originale. Da lì derivano altre tabelle e quindi identifico gli elementi che voglio selezionare.
A questo punto, ritorno a "dt" ed eseguo "<< Get Rows Where (items I want to get)" per ottenere i numeri di riga. Quindi mi piace impostare "dt: colum [rows I got] = ...".
Scusa se non posso spiegarlo meglio o fornire i dati.
Ri: Ottieni righe selezionate genera un errore quando si utilizzano le righeLa tua tabella 'dt' è derivata da un altro tavolo? Penso che potrebbe essere il tentativo di mappare un numero di riga da un tavolo all'altro, ma è difficile dirlo con certezza, senza saperne di più sui dati.
Ri: Ottieni righe selezionate genera un errore quando si utilizzano le righeGrazie per la rapida risposta!
La colonna è definita correttamente e ho provato molte varianti ora. Convertire la matrice in una lista e iterandola ecc. -> non funziona.
So che dovrebbe funzionare bene. In realtà uso "<< Get Rows Where" nello stesso script e funziona.
Tuttavia, ora passavo al buon vecchio ciclo For Each Row per fare il trucco, nessun problema qui.
Ri: Ottieni righe selezionate genera un errore quando si utilizzano le righeEcco il tuo script, in esecuzione con alcuni dati di esempio che non hanno un problema durante l'esecuzione di JMP 12 o JMP 14. Quello che vorrei verificare sui tuoi dati è che la colonna "barra" è definita come una colonna di caratteri.
names default to here(1);
dt=New Table( "Example",
Add Rows( 3 ),
New Column( "foo", Character, "Nominal", Set Values( {"a", "", "a"} ) ),
New Column( "bar", Character, "Nominal", Set Values( {"", "", ""} ) )
);
list = {"a","b"};
For( i = 1, i <= N Items(list), i++,
item = list[i];
rows = dt << Get Rows Where(
dt:foo == item
);
Column(dt, "bar" )[rows] = "foobar";
);