Come sostituire le righe vuote nelle colonne selezionate?Salve comunità JMP,
Ho una tabella di dati in cui le colonne hanno un nome specifico, prima ho scritto lo script per selezionare quelle colonne e voglio sostituire le righe vuote di quelle colonne con "REF", ma altre colonne senza quel nome specifico non cambieranno, come posso farlo con JSL? Grazie.

Tabella datiRi: Come sostituire le righe vuote nelle colonne selezionate?Molte grazie!Ri: Come sostituire le righe vuote nelle colonne selezionate?Ciao Canta,
Penso che ci siano due problemi nel tuo script,
1 °: il tuo se si fa riferimento all'elenco sbagliato (Col_List)
2°: l'azione non è all'interno dell'istruzione if, ma dopo, quindi l'if non può controllare l'azione.
Prova lo script allegato, dovrebbe fare il lavoro. Oltre alla sceneggiatura di Jim ho aggiunto le modifiche di cui potresti aver bisogno.
Names Default To Here( 1 );
dt = New Table( "test",
New Column( "A::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "B::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "C::LotData", "Character", set values( {"", "YES", ""} ) ),
New Column( "D::Test", "Character", set values( {"", "Test", ""} ) ),
New Column( "value", set values( {1, 2, 3} ) )
);
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If( Contains( colNameList[i], "::LotData" ),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] = "REF"
),
)
);Ri: Come sostituire le righe vuote nelle colonne selezionate?Ciao Txnelson,
Ho provato lo script che hai fornito, ma questo sostituirà anche la colonna del valore, quindi posso sostituire solo la colonna con i dati del lotto?
Ho scritto questa sceneggiatura ma non capisco cosa ci sia di sbagliato.
dt = Current Data Table();
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
If(Contains(Col_List[i], "::LotData")),
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);
Ri: Come sostituire le righe vuote nelle colonne selezionate?Ciao,
Un'altra soluzione senza script consiste nel selezionare le tre colonne, fare clic con il pulsante destro del mouse sulle intestazioni > Standardizza attributi > Ricodifica > sostituire gli spazi vuoti con "REF".
ATTENZIONE: la ricodifica non può essere annullata, quindi assicurati di salvare la tabella prima di eseguire i passaggi precedenti.
Migliore,
ST
Ri: Come sostituire le righe vuote nelle colonne selezionate?Ecco un piccolo script che scorre tutte le colonne dei caratteri e poi in ogni colonna, trova tutte le righe che hanno celle vuote e le imposta su REF
Names Default To Here( 1 );
dt = Current Data Table();
// Get the column names for all character columns
colNameList = dt << get column names( string, character );
For( i = 1, i <= N Items( colNameList ), i++,
Try(
As Column( dt, colNameList[i] )[dt << get rows where( As Column( dt, colNameList[i] ) == "" )] =
"REF"
)
);