Salut,
utilisateur JMP débutant ici,
Je voudrais créer une nouvelle colonne "Tag Range" qui contient la formule "Tag.ULIMIT-Tag.LLIMIT".
Tag.ULIMIT et Tag.LLIMIT sont des colonnes dans ma table de données.
Je peux créer la colonne en définissant explicitement les noms de colonne dans la formule comme ci-dessous, mais je voudrais les remplacer par les variables "UpperLIMIT" et "LowerLIMIT".
(en fin de compte, je voudrais exécuter un script qui crée cette colonne en fonction du nom de balise sélectionné par l'utilisateur)
Names Default To Here( 1 );
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
dt = Current Data Table();
Cela marche:
dt << New Column( a || " Range", formula( :Tag.ULIMIT - :Tag.LLIMIT ) );
cela ne marche pas :
dt << New Column( a || " Range", formula( :UpperLIMIT - :LowerLIMIT ) );
JMP n'évalue pas les instructions d'une définition de "formule" avant de créer la formule.Il suppose que la formule est telle qu'elle doit être.Par conséquent, la formule doit être syntaxiquement conforme aux besoins lorsqu'elle est spécifiée.Le code ci-dessous gère cela pour votre exemple
Names Default To Here( 1 );
dt = Current Data Table();
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
Eval(
Parse(
"dt << New Column( \!"" || a || " Range\!", formula( :"
|| UpperLIMIT || " - :" || LowerLIMIT || " ) )); "
)
);