Fonction définie par l'utilisateur avec un nom de colonne spécifié (JSL)J'essaie de créer une fonction définie par l'utilisateur dans laquelle vous pouvez spécifier un nom de colonne comme l'une des entrées. Par exemple, je voudrais utiliser le code ci-dessous pour créer une fonction qui sélectionne les lignes où le "ColumnName" spécifié est égal à l'entrée "Value":
TestFunction = Function( {TableName, ColumnName, Value}, {},
TableName << Select where(:ColumnName == Value);
);Cependant, lorsque j'essaie d'exécuter cette fonction, j'obtiens l'erreur suivante :
Name Unresolved: ColumnName{1} in access or evaluation of 'ColumnName' , :ColumnName/*###*/Qu'est-ce que je fais mal?
Re : Fonction définie par l'utilisateur avec un nom de colonne spécifié (JSL)Voici un script qui accomplira ce dont vous avez besoin.Il utilise un pointeur vers la table de données dans le premier exemple et utilise un nom de table réel dans le deuxième exemple
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);