no es igual al símboloHola,
Tengo el siguiente script y no selecciona los nombres de columnas correctos ("Std"). Aquí está el guión:
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")
)
);
Parece que != no hace el trabajo. ¿Alguna ayuda en esto? Gracias
Re: no es igual al símboloMuchas gracias por la ayuda rápida. Reemplazar 1 por 0 funciona perfectamente.
Re: no es igual al símboloLa forma en que leo su secuencia de comandos, solo cambiará los datos y el tipo de modelado para las columnas que inmediatamente comience con "Std" (por ejemplo, una columna llamada "Std Dev" se modificaría, pero no una columna llamada "Col Std").
Contiene () devuelve la posición en la cadena de la subcadena que especificó.Si cols[i] = "Std Dev", Contiene(cols[i],"Std") devolverá el valor 1. Si cols[i] = "Col Std", entonces Contiene(cols[i], "Std" ) devolverá el valor 5 porque "Std" comienza con el quinto carácter de la cadena.Solo si pruebo un nombre de columna que no tiene el "Std" en el nombre, Containers () devolverá 0.
Contiene(cols[i], "Std") != 1 devolverá verdadero para todos los nombres de columna que no comiencen inmediatamente con "Std".
Por lo general, la forma de usar Contiene() para determinar si una subcadena está contenida dentro de una cadena sería usar "!=0" o ">0".Cambie el 1 por un 0 y vea si eso funciona.