salut @sagrim ,
Je pense que vous êtes sur la bonne voie, juste un léger mauvais codage dans la déclaration "If". Dans votre exemple spécifique, je pense que cela devrait être:
new column ("Org-Approved Certification", Numeric, Nominal) << Formula(
If( Contains (mylist, :"ONE_LICENSE_CODE") | If( Contains (mylist, :"TWO_LICENSE_CODE")), 1, 0
)
); Donc, en général, vous voulez que ce soit:
If (A | B | C, then, else), mais vous l'avez plutôt comme: If (A, then, else | B, then, else), ce qui n'est pas la bonne façon d'appeler la fonction If.
J'ai créé un faux tableau de données qui, je pense, pourrait ressembler à la structure avec laquelle vous travaillez - voir le fichier joint. J'ai également écrit le script suivant qui applique la formule à la certification approuvée par l'organisation. Je crois que cela fonctionne comme vous le souhaitiez - je l'espère!
names default to here(1);
mylist={"cert1", "cert2", "cert3","cert4", "cert5", "cert6"};
dt=current data table();
dt:Name("Org-App Cert")<<FORMULA></FORMULA>J'espère que cela t'aides!,
DS
J'ai une longue liste d'acronymes de certification stockés comme "mylist". Je souhaite simplement créer une variable binaire pour représenter si chaque membre du personnel possède une certification dont l'acronyme apparaît dans la liste oui / non. Si j'applique la liste à une colonne, le code fonctionne très bien.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If( Contains( mylist, :"ONE_LICENSE_CODE" ),
1,
0
)
);
Cependant, si je veux appliquer la liste à plusieurs colonnes à la fois, le code s'exécute sans erreur mais ne produit pas la valeur correcte. J'ai 10 colonnes dont l'une peut contenir l'acronyme, je dois donc vérifier les 10 colonnes pour les acronymes de la liste.
New Column( "Org-Approved Certification", Numeric, Nominal ) << Formula(
If(
Contains( mylist, :"ONE_LICENSE_CODE" ), 1,
0 | If( Contains( mylist, :"TWO_LICENSE_CODE" )
), 1,
0
)
);
Existe-t-il un moyen de pointer vers plusieurs colonnes à la fois lors de l'application de la liste?
Je vous remercie!
Génial! Heureux que cela ait fonctionné et que cela ait aidé.