J'ai besoin de rechercher et de remplacer des chaînes dans toute une table de données. j'ai référencé cette solution , espérant quelque chose d'élégant, mais il se plaint de la ligne 11 de mon tableau à 10 lignes.
Code exécuté sur JMP Pro 16.1
allCols = file << get column names(string);
file << group columns("col group", myCols);
myCols = file << get column group("col group");
for(cols = 1, cols <= n items(myCols), cols++,
file << begin data update;
for each row(file,
file:myCols[cols] = substitute(file:myCols[cols],
"X", "0"
)
);
file << end data update;
);Erreur:
Cannot set value for the column 'dot' because the row number (11) is not valid.
at row 1 in access or evaluation of 'Assign' , file:myCols[cols] = /*###*/Substitute( file:myCols[cols], "X", "0" ) /*###*/
J'ai oublié d'ajouter un exemple de colonne :
64.0
47.0
2.0
106.0
174.0
12.0
X
2.0
X
14.0
La légère modification ci-dessous de votre code semble fonctionner correctement
Names Default To Here( 1 );
file = Current Data Table();
allCols = file << get column names( string );
file << group columns( "col group", allCols );
myCols = file << get column group( "col group" );
For( cols = 1, cols <= N Items( myCols ), cols++,
file << begin data update;
For Each Row(
file,
As Column( file, myCols[cols] ) = Substitute( As Column( file, myCols[cols] ),
"X", "0"
)
);
file << end data update;
);