Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Ciao a tutti!
Vorrei verificare se esiste un elenco di 5 nomi di colonne in una tabella di dati.
Se ne mancano uno o più, mi piacerebbe che si aprisse una finestra che dice all'utente quali colonne mancano. Se sono presenti tutte le colonne, lo script dovrebbe continuare la sua esecuzione.
Potresti per favore indicarmi la giusta direzione su come scriverlo?
Grazie!
Modellazione statistica avanzataAutomazione e scriptingMiscelazione e pulizia dei datiPersonalizzazione di massaQualità e ingegneria di processoRi: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?L'approccio con l'array associativo è fantastico!
Ma tieni presente che i confronti descritti qui trovano solo esatto partite.
In generale per Jmp non importa se ci sono lettere maiuscole nel nome della colonna o spazi.
Quindi, a seconda del caso applicativo, forse il controlla se esiste un elenco di colonne non dovrebbe importare neanche.
Molto robusto è @txnelson l'approccio di:
r=try(column(dt,tn)<<GET name=""></GET>
controlla se la colonna esiste?
Con tutte le insidie dei controlli sull'esistenza delle colonne, a mio avviso Jmp dovrebbe fornire un modo affidabile per chiedere a una tabella di dati se esiste una colonna.
Ecco il post nella lista dei desideri:
tabella dati: la colonna del messaggio esiste (colname)?
Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Grazie! Questa è una soluzione interessante! Dovrei davvero imparare a lavorare con Array associativi...
Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Grazie! Questo e 'esattamente quello che stavo cercando!
Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Puoi usare il Rimuovere() metodo di array associativi per farlo senza alcun loop JSL:
Names Default to Here( 1 );
reference table = New Table( "TEST",
<<NEW column=""></NEW>
Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Ecco un semplice esempio di un modo per farlo
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = dt << get column names( string );
requiredList = {"name", "sex", "shoe size"};
For( i = N Items( requiredList ), i >= 1, i--,
If( Contains( colList, requiredList[i] ),
Remove From( requiredList, i, 1 )
)
);
stop = "NO";
If( N Items( requiredList ) > 0,
stop = "YES";
New Window( "Error",
Modal,
V List Box(
Text Box( "The following column(s) are required" ),
Text Box( "but were not found in the data table." ),
Spacer Box( size( 1, 10 ) ),
List Box( requiredList )
)
);
);
If( stop == "YES", Throw() );Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Ciao Roby!
Grazie per il suggerimento! Vorrei svolgere questa attività utilizzando JSL perché ho intenzione di incorporarlo in alcuni dei miei script, ma vorrei anche avere un messaggio GUI intuitivo per gli utenti nel caso in cui manchino le colonne.
Grazie comunque!
Addio
Ri: Come verificare se esiste un elenco di colonne e segnalare quelle mancanti utilizzando una finestra pop-up?Ciao Lavik17,
Hai provato a utilizzare il selettore vista colonne nel menu a discesa delle colonne? Quindi, utilizzando la funzione delle statistiche di riepilogo, puoi cercare facilmente i nomi delle cinque colonne e determinare se mancano dati.
Spero che aiuti,
rapinare