具有指定列名的用户定义函数 (JSL)我正在尝试创建一个用户定义的函数,您可以在其中指定一个列名作为输入之一。 例如,我想使用下面的代码创建一个函数来选择指定“ColumnName”等于输入“Value”的行:
TestFunction = Function( {TableName, ColumnName, Value}, {},
TableName << Select where(:ColumnName == Value);
);但是,当我尝试运行此函数时,出现以下错误:
Name Unresolved: ColumnName{1} in access or evaluation of 'ColumnName' , :ColumnName/*###*/我究竟做错了什么?
回复:具有指定列名的用户定义函数(JSL)这是一个将完成您需要的脚本。它在第一个示例中使用指向数据表的指针,在第二个示例中使用实际的表名
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);