Come ottenere la sostituzione automatica dei lotti con JSL?Questa tabella viene generata dinamicamente dal processo di esecuzione JSL. Come utilizzare l'implementazione automatica JSL per sostituire il valore 0 a partire dalla colonna 2 di questa tabella con un valore null ""?
È necessario sostituire JSL con un elenco di numeri di colonna o nomi dinamici.
O una sostituzione colonna per colonna o una sostituzione singola.

Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Carica un file di dati, chiedi aiuto agli esperti.Grazie mille!
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Ero incurante. Ho usato direttamente la grammatica di VBA e ho dimenticato di usare "Empty ()".Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Non so se questo sia il modo più efficiente dal punto di vista computazionale di farlo - in realtà, presumo che non lo sia. Ma se hai bisogno di una soluzione rapida per la forza bruta, in passato ha funzionato per me: passa sopra le colonne, quindi passa sopra le righe alla ricerca del valore che vuoi sostituire, impostando il nuovo valore come lo trovi.
dt = current data table();
colnames = dt << Get Column Names(String);
for(c=2,c<=N Items(colnames),c++, // starting at 2 per your note
For Each Row(
If(column(dt,colnames[c])[]==0, // if you find a 0
column(dt,colnames[c])[]=Empty() // make it empty
)
)
);
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Non posso testare questo script ma dovrebbero lavoro.
Names Default to Here( 1 );
// assume that data table is open
dt = Current Data Table();
For( c = 2, c <= N Cols( dt ), c++,
target row = dt << Get Rows Where( Column( dt, c )[] == 0 );
If( N Rows( target row ) > 0,
For( r = 1, r <= N Rows( target row ), r++,
Column( dt, c )[target row[r]] = .;
);
);
);
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Bene, questo riduce il numero di righe da cui scorrere, risparmiando tempo su grandi tavoli. Stavo pensando che potrebbe esserci un modo per utilizzare la funzionalità di ricodifica nella tabella nel suo insieme, ma vedo che hai ( @markbailey ) già spiegato altrove che questo è un editor interattivo, non una funzione JSL.
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Tale elaborazione sarà ancora più semplice e veloce in JMP 15. Sarai in grado di assegnare il valore mancante a tutte le righe in una chiamata.
Names Default to Here( 1 );
// assume that data table is open
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Wait( 1 );
// create 5 observations of zero
n = N Row( dt );
For( i = 1, i < 6, i++,
r = Random Integer( 1, n );
:weight[r] = 0;
r = Random Integer( 1, n );
:height[r] = 0;
);
Wait( 1 );
For( c = 4, c <= N Cols( dt ), c++,
target row = dt << Get Rows Where( Column( dt, c )[] == 0 );
If( N Rows( target row ) > 0,
Column( dt, c )[target row] = .;
);
);
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Non vedo davvero l'ora di usare JMP 15. Grazie mille!Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Non vedo davvero l'ora di usare JMP 15. Grazie mille!
For( c = 4, c <= N Cols( dt ), c++,
target row = dt << Get Rows Where( Column( dt, c )[] == 0 );
If( N Rows( target row ) > 0,
Column( dt, c )[target row] = .;
);
);
already works in JMP 14.
Ri: Come ottenere la sostituzione automatica dei lotti con JSL?Grazie mille!
For( i = 3, i <= N Col( d2 ), i++,
As Column( i )[d2 << get rows where( As Column( i ) == 0 )] = Empty()
);