Argomento : aggiunge una funzionalità incorporata che consente di incollare direttamente un elenco di nomi di colonne -dagli appunti- nel filtro di dialogo delle colonne.
La soluzione di oggi : ad oggi, ho realizzato uno script che prende il contenuto degli appunti, caricato con i nomi delle colonne, e lo converte in un'espressione regolare. Quindi, incollo questa espressione regolare nel filtro e seleziono la modalità filtro "espressione regolare". Funziona ma è un po' doloroso.
Lo uso spesso quando lavoro con il "commutatore di colonna", ma presumo che possa funzionare per molte altre esigenze.
Potrebbe essere utile comprendere l'origine dell'elenco dei nomi delle colonne e il tuo utilizzo/aspettative:
- L'elenco è una stringa delimitata da virgole (presupponendo che non ci siano virgole nei nomi delle colonne?
- Ogni nome avrà virgolette doppie?
- L'elenco sarà racchiuso tra parentesi graffe?
- L'origine dell'elenco è, ad esempio, una selezione utente da una tabella JMP o da una fonte esterna come e-mail o altri documenti esterni?
- I nomi saranno una corrispondenza perfetta, con distinzione tra maiuscole e minuscole?
Per esperienza, maggiori dettagli sull'ambito e sull'utilizzo aiutano gli sviluppatori JMP a definire la dimensione e l'importanza della richiesta.
Per mio uso personale, uso nomi senza virgolette né parentesi graffe.
I delimitatori possono essere virgola, spazio, tabulazione o carrello di alimentazione.
L'origine dell'elenco può provenire da JMP o da Excel.
E io uso la corrispondenza perfetta.
Si prega di trovare sotto lo script che ho scritto (ho usato la chiamata Python per la sostituzione dei caratteri speciali poiché lo script JMP è doloroso quando si gestisce "["):
Input = lista nel buffer della finestra
Output = espressione regolare nel buffer della finestra (quindi, lo incollo nel filtro di JMP e seleziono la modalità "espressione regolare")
//RAMIS - 2021
Names Default To Here( 1 );
//Get clipboard
data = Get Clipboard();
//split list into array
testList_raw = Words( data, " \!t\!n\!r," );
//keep only unique entries
myArray_set = Associative Array( testList_raw );
unique_myArray = myArray_set << Get Keys;
//replace special characters
Python Init();
Python Send( unique_myArray );
Python Submit(
"\[
myList =unique_myArray
myOutput = ','.join(myList)
myOutput = myOutput.replace("[","\\[")
myOutput = myOutput.replace("]","\\]")
myOutput = myOutput.replace(",","|")
]\"
);
Wait( 0 );
//output to window's clipboard
myClipboard = Python Get( myOutput );
Set Clipboard( myClipboard );
Saluti,
Damien RAMIS - NXP