Come ottengo la variabile restituita della mia funzione da assegnare alla mia nuova variabile?Ho creato e testato una funzione chiamata JoinTables. Questa funzione restituirà una tabella di dati. Vorrei che il datatable restituito fosse assegnato alla variabile dtSlopeTable.
dtSlopeTable = JoinTables(dataTableList, columnGroup);
Quando eseguo questo, la tabella di output viene creata con il contenuto desiderato ma non è associata al nome della variabile "dtSlopeTable".
Quando controllo il valore di dtSlopeTable, dice Data Table( "UnknownTable" ).
Ho provato wait(0) e wait(10) ma nessuno dei due funziona.
Tuttavia, sono in grado di farlo funzionare se uso wait(0) e la riga prima ha:
dtTest = New table();
Questa è una strana soluzione e preferirei usare una soluzione pulita. Hai un'idea del motivo per cui non riesco ad assegnare la tabella al nome della variabile?
Se hai bisogno di visualizzare la definizione della funzione, sarei felice di allegare.
Grazie per l'aiuto.
Re: Come posso ottenere la variabile restituita della mia funzione da assegnare alla mia nuova variabile?Ciò che viene restituito all'istruzione chiamante è l'ultimo elemento elaborato nella funzione, quindi tutto ciò che dovresti fare è posizionare l'handle che stai chiamando la nuova tabella di dati come ultimo elemento e lo restituirà alla variabile chiamante.Vedi il semplice esempio qui sotto
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = New Table( "lookup",
New Column( "Sex", character, values( {"F", "M"} ) ),
New Column( "Avg Height", values( {68, 70} ) )
);
joinTables = Function( {x1, x2, m1},{},
dtFinal = x1 << join( With( x2 ), Merge same name columns(1), Match Columns( Column( m1 ) == Column( m1 ) ) );
dtFinal;
);
dtSlopeTable=joinTables(dt,dt2,"Sex");
show(dtSlopeTable);