Immaginiamo di aprire city.jmp.
Come potrei ottenere il nome (gioco di parole) di "città" come voci per una nuova variabile, ad esempio "MY_NAME".
Pertanto, la futura variabile "MY_NAME" contiene più istanze di "cities". Per sua natura, deve essere un carattere e "MY_NAME" non è una variabile, ma una costante.
Comunque, qualche idea su come farlo?
So che esiste una funzione file. OTTIENI IL NOME. Ma finora non sono riuscito a memorizzare con successo le voci in MY_NAME.
Grazie in anticipo,
ancora principiante
E per illustrare che in JMP in genere esistono molti modi per affrontare la propria soluzione, eccone una variazione @Jeff_Perkinson esempio
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dtname = dt << get name();
dt << New Column( "Data Table Name", character, set each value( dtname ) );
Penso che abbiamo una confusione di termini. In una tabella dati JMP li chiamiamo colonne , non campi o variabili (o costanti). Quindi, quando hai chiesto come creare un file variabile con "città" si presumeva che si intendesse una variabile JSL.
Ora, sembra che tu voglia davvero una colonna nella tua tabella dati con il nome della tabella dati in ogni riga.
Hai già visto, grazie a @txnelson , che il < il messaggio ti darà il nome della tabella dati.
Ora devi creare una nuova colonna nella tabella dati utilizzando il file < Messaggio. All'interno di New Column() puoi utilizzare Set Values() per impostare i valori per ogni riga.
Quindi, ora abbiamo solo bisogno di un elenco di valori. Possiamo ottenerlo utilizzando il file Ripetere() funzione.
Il tutto assomiglia a questo:
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dtname = dt << get name();
dtname_list = Repeat( {dtname}, N Row( dt ) );
dt << New Column( "Data Table Name", character, set values( dtname_list ) );
Esistono altri modi per inserire valori in una colonna. Potremmo usare una formula in cui la "formula" è solo una stringa costante, ma la sua sintassi in JSL diventa un po' confusa poiché dobbiamo occuparci di quando vengono valutate le espressioni JSL (pensa alla citazione Macro in SAS; non è lì che faresti voglio qualcuno di nuovo per iniziare.)
Ora, detto tutto questo, non sono molti i casi in cui è necessario il nome della tabella dati in tutte le righe della tabella dati poiché JMP creerà colonne come questa nei casi in cui sono utili. Ad esempio, quando concatenazione di tabelle di dati , c'è un'opzione per creare una colonna con il nome della tabella da cui proviene ogni riga.

Altri comandi per la manipolazione delle tabelle hanno opzioni simili. Quindi, forse puoi dirci cosa stai cercando di fare affinché ritieni di aver bisogno di questa rubrica e potremmo essere in grado di aiutarti ancora di più.
Questo codice inserisce il nome della tabella dati in una variabile JSL
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/cities.jmp" );
MY_NAME = dt << get name;
Show( MY_NAME );