pas égal au symboleSalut,
J'ai le script suivant et il ne sélectionne pas les noms de colonnes corrects ("Std"). Voici le scénario :
cols = dt << Get column Names();
for( i = 1, i <= N Items( cols ), i++,
if( contains( cols[i] , "Std") != 1
,
Column( dt, cols[i] ) << Set Data Type( "Character" );
Column( dt, cols[i] ) << Set Modeling Type ("Nominal")
)
);
On dirait que != ne fait pas le travail. Toute aide à ce sujet? Merci
Re : pas égal au symboleMerci beaucoup pour l'aide rapide. Remplacer 1 par 0 fonctionne parfaitement.
Re : pas égal au symboleLa façon dont je lis votre script, cela ne changera que les données et le type de modélisation pour les colonnes qui immédiatement commencer par « Std » (par exemple, une colonne nommée « Std Dev » serait modifiée, mais pas une colonne nommée « Col Std »).
Contient() renvoie la position dans la chaîne de la sous-chaîne que vous avez spécifiée.Si cols[i] = "Std Dev", Contient(cols[i],"Std") renverra la valeur 1. Si cols[i] = "Col Std", alors Contient(cols[i], "Std" ) renverra la valeur 5 car "Std" commence par le 5ème caractère de la chaîne.Ce n'est que si j'essaie un nom de colonne qui n'a pas le "Std" dans le nom que Contient() renverra 0.
Contient(cols[i], "Std") != 1 renverra vrai pour tous les noms de colonnes qui ne commencent pas immédiatement par "Std".
Typiquement, la façon d'utiliser Contient() pour déterminer si une sous-chaîne est contenue dans une chaîne serait d'utiliser "!=0" ou ">0".Changez le 1 en 0 et voyez si cela fonctionne.