L'utilisation normale de "SelectWhere" semble être la suivante :
dt<<SelectWhere(:ExampleColumnName > 5);
Et cela fonctionne bien. Ce qui me pose problème, c'est quand j'ai besoin de plus de flexibilité dans ce que sera le ":ExampleColumnName".
Par exemple, si j'enregistre une nouvelle colonne de Résidus Studentisés dans un Modèle d'Ajustement, cela créera une colonne appelée quelque chose comme "Journal des Résidus Studentisés (CFU/mL) Par Condition". Disons que je veux sélectionner quoi que ce soit au-dessus de 3 ou en dessous de -3. En raison du nom de la colonne, j'aurais besoin d'utiliser:
dt<<SelectWhere(:Name("Studentized Resid Log(CFU/mL) By Condition")<-3 | :Name("Studentized Resid Log(CFU/mL) By Condition")>3);C'est bien la plupart du temps, mais pas toujours. Avoir la chaîne entièrement écrite dans :Name() n'est pas vraiment idéal - par exemple, si le plan est de rendre une fonction utilisable pour une variété de modèles d'ajustement qui produiront chacun différents noms de colonnes de résidus de Student, c'est Il n'est pas efficace d'écrire un "SelectWhere" unique pour chaque modèle possible (surtout si vous ne pouvez pas toujours anticiper le modèle que l'utilisateur choisira).
Ce que j'aimerais travailler est l'un/les deux des éléments suivants :
//Option 1
colName = ""Studentized Resid Log(CFU/mL) By Condition";
dt<<SelectWhere(:Name(colName)<-3 | ::Name(colName)>3);
//Option 2
colRef = Column(dt, colName);
dt<<SelectWhere( colRef <-3 | colRef >3 );
L'option 1 renvoie une erreur « L'argument de nom doit être une chaîne entre guillemets » lorsque la fonction SelectWhere est exécutée. On dirait que :Name() nécessite une chaîne entièrement écrite et qu'une référence à celle-ci est inacceptable.
L'option 2 ne renvoie aucune erreur, mais rien ne sera sélectionné. SelectWhere ne semble pas traiter les variables de référence de colonne comme des références ": XXXX" explicitement tapées.
Ma solution de contournement actuelle n'est pas géniale : après que Fit Model a créé une nouvelle colonne, renommez la toute dernière colonne de la table en quelque chose de simple et unique (comme "StdResid") qui peut être directement utilisé dans "l'utilisation normale" de SelectWhere (par exemple, " :StdResid").
Est-ce que je manque quelque chose d'évident ici qui me faciliterait la vie ?
Existe-t-il également un moyen de faire fonctionner l'option 1 et/ou l'option 2 ?