Je souhaite vérifier les valeurs de deux colonnes numériques dans un tableau de données. Maintenant, j'ai les noms de ces deux colonnes numériques dans une liste. J'utilise une boucle for pour parcourir la liste de ces noms de colonnes numériques choisis, puis je souhaite vérifier par rapport à une valeur seuil (disons 100). Ensuite, je souhaite créer une nouvelle colonne et mettre les étiquettes en conséquence - soit l'étiquette "A" soit "B" - en fonction des colonnes données dans la table de données.
Disons que ce sont les deux colonnes numériques :
numérique_col_1 = {100, 200, 250, 700}
numérique_col_2 = {200, 250, 500, 100}
Et le seuil est de 100.
Maintenant, le pseudocode des colonnes étiquetées que je souhaite implémenter est le suivant :
labeled_col = (si numeric_col > 100, "A", "B");
Ainsi, les colonnes étiquetées afficheront désormais :
labeled_col_1 = {"B", "A", "A", "A"} ;
labeled_col_2 = {"A", "A", "A", "B"} ;
Voici un exemple de code :
concat_dt = datatable("concatenated");<BR />new_val_list = {"num_col1", "num_col2"};<BR />name_list = {"col1", "col2"};<BR />stop = nitems(new_val_list);
for (i = 1, i <=stop, i++,
col_name = name_list[i] || "_Label_A_B";
show(col_name);
concat_dt << New Column( col_name,
Character,
"Nominal",
Formula( If( Column(concat_dt, new_val_list[i]) > 200, "A", "B" ) )
)
);Mais le code ci-dessus n'affiche que les colonnes vides même si elles ont été créées avec leurs noms de colonnes respectifs dans la table de données.