non uguale al simboloCIAO,
Ho il seguente script e non seleziona i nomi delle colonne corretti ("Std"). Ecco la sceneggiatura:
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")
)
);
Sembra che != non faccia il lavoro. Qualche aiuto su questo? Grazie
Re: non uguale al simboloGrazie mille per il rapido aiuto. La sostituzione di 1 con 0 funziona perfettamente.
Re: non uguale al simboloIl modo in cui leggo il tuo script, cambierà solo i dati e il tipo di modellazione per le colonne che subito iniziare con "Std" (ad es. una colonna denominata "Std Dev" verrebbe modificata, ma una colonna denominata "Col Std" no).
Contains() restituisce la posizione nella stringa della sottostringa specificata.Se cols[i] = "Std Dev", Contains(cols[i],"Std") restituirà il valore 1. Se cols[i] = "Col Std", Contains(cols[i], "Std" ) restituirà il valore 5 perché "Std" inizia con il quinto carattere nella stringa.Solo se provo un nome di colonna che non ha "Std" nel nome, Contains() restituirà 0.
Contains(cols[i], "Std") != 1 restituirà true per tutti i nomi di colonna che non iniziano immediatamente con "Std".
In genere, il modo per utilizzare Contains() per determinare se una sottostringa è contenuta all'interno di una stringa consiste nell'utilizzare "!=0" o ">0".Passa da 1 a 0 e vedi se funziona.