Funzione definita dall'utente con nome di colonna specificato (JSL)Sto cercando di creare una funzione definita dall'utente in cui è possibile specificare un nome di colonna come uno degli input. Ad esempio, vorrei utilizzare il codice seguente per creare una funzione che selezioni le righe in cui il "ColumnName" specificato è uguale all'input "Value":
TestFunction = Function( {TableName, ColumnName, Value}, {},
TableName << Select where(:ColumnName == Value);
);Tuttavia, quando provo ad eseguire questa funzione, ottengo il seguente errore:
Name Unresolved: ColumnName{1} in access or evaluation of 'ColumnName' , :ColumnName/*###*/Che cosa sto facendo di sbagliato?
Oggetto: funzione definita dall'utente con nome di colonna specificato (JSL)Ecco uno script che realizzerà ciò di cui hai bisogno.Utilizza un puntatore alla tabella dati nel primo esempio e utilizza un nome di tabella effettivo nel secondo esempio
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
TestFunction = Function( {TableName, ColumnName, Value}, {},
TableName << Select where(as column(ColumnName) == Value);
);
testfunction(dt,"age",13);
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
TestFunction = Function( {TableName, ColumnName, Value}, {},
data table(TableName) << Select where(as column(ColumnName) == Value);
);
testfunction("Big Class","age",13);