Hello Jon,
I found one way of doing this (as usual Mathematica language is so rich that there might be other solutions):
first I configure my data set
nrows = 3;
ncolumns = 10;
Then the data values are generated:
(data = Table[
n + 100 (m - 1), {m, 1, nrows}, {n, 1, ncolumns}]) // TableForm
Next the keys are defined:
keys = Array["k" <> ToString[#] &, ncolumns]
Here the dataset is build:
dataset = Dataset[Map[Association[Thread[keys -> #]] &, data]]
Here is the way how to define the columns that need transformation. You can use Range or define them explicitly
col2trf = Join[Range[1, 4], {6}, {8, 9}]
The selected columns will be transformed using f1, the remaining columns are treated with f2 which should just leave the values as they are
f10 = Map[If[MemberQ[col2trf, #], f1, f2] &, Range[ncolumns]]
f2 can be defined in the following way:
f2[x_] := x
Finally f10 is applied to the dataset (of course you have to define f1 according to your transformation first)
dataset[All, Thread[keys -> f10]]
Regards,
Michael