Función definida por el usuario con nombre de columna especificado (JSL)Estoy tratando de crear una función definida por el usuario donde puede especificar un nombre de columna como una de las entradas. Por ejemplo, me gustaría usar el siguiente código para crear una función que seleccione filas donde el "Nombre de columna" especificado es igual al "Valor" de entrada:
TestFunction = Function( {TableName, ColumnName, Value}, {},
TableName << Select where(:ColumnName == Value);
);Sin embargo, cuando intento ejecutar esta función, aparece el siguiente error:
Name Unresolved: ColumnName{1} in access or evaluation of 'ColumnName' , :ColumnName/*###*/¿Qué estoy haciendo mal?
Re: Función definida por el usuario con nombre de columna especificado (JSL)Aquí hay un script que logrará lo que necesita.Utiliza un puntero a la tabla de datos en el primer ejemplo y utiliza un nombre de tabla real en el segundo ejemplo.
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);